diff --git a/.github/workflows/clean-up-report.yaml b/.github/workflows/clean-up-report.yaml index 72113a27e9..4863bf4d9a 100644 --- a/.github/workflows/clean-up-report.yaml +++ b/.github/workflows/clean-up-report.yaml @@ -73,4 +73,4 @@ jobs: echo "Successfully pushed HTML reports to repo." exit 0 fi - done \ No newline at end of file + done diff --git a/.gitignore b/.gitignore index 67877b3d6d..1501f38399 100644 --- a/.gitignore +++ b/.gitignore @@ -64,6 +64,9 @@ test-results/ playwright-report/ artifact.zip +# Netlify + +.netlify/ # Ignore _partials/index.ts _partials/index.ts diff --git a/apisidebar.js b/apisidebar.js index e9ee6c7341..fb663943d4 100644 --- a/apisidebar.js +++ b/apisidebar.js @@ -29,8 +29,8 @@ module.exports = { }, { type: "category", - label: "Edge Host API V1", - link: { type: "generated-index", title: "Edge Host API V1" }, + label: "Edge Management API V1", + link: { type: "generated-index", title: "Edge Management API V1" }, items: emcSidebarItems, }, ], diff --git a/archiveVersions.json b/archiveVersions.json index 58326da2bc..5b6e594995 100644 --- a/archiveVersions.json +++ b/archiveVersions.json @@ -1,4 +1,5 @@ { + "v4.2.x": "https://version-4-2.legacy.docs.spectrocloud.com", "v4.1.x": "https://version-4-1.legacy.docs.spectrocloud.com", "v4.0.x": "https://version-4-0.legacy.docs.spectrocloud.com", "v3.4.x and prior": "https://version-3-4.legacy.docs.spectrocloud.com" diff --git a/docs/api-content/api-docs/1-introduction.md b/docs/api-content/api-docs/1-introduction.md index 0a29f20e61..b1616a0c4b 100644 --- a/docs/api-content/api-docs/1-introduction.md +++ b/docs/api-content/api-docs/1-introduction.md @@ -306,7 +306,7 @@ host name. ```shell curl --location 'https://10.10.135.182:5080/v1/edge-mgmt/edgehosts/current' \ ---header 'Cookie: Authorization=*******' +--header 'Authorization: *******' ``` ```hideClipboard diff --git a/docs/api-content/api-docs/edge-v1/emc-api.json b/docs/api-content/api-docs/edge-v1/emc-api.json index b9dad21976..33de2e5c17 100644 --- a/docs/api-content/api-docs/edge-v1/emc-api.json +++ b/docs/api-content/api-docs/edge-v1/emc-api.json @@ -19,7 +19,7 @@ "post": { "description": "Creates a cluster with the provided cluster configuration", "tags": [ - "edge-mgmt" + "cluster" ], "summary": "Creates a cluster with the provided cluster configuration", "operationId": "v1CreateCluster", @@ -47,13 +47,45 @@ } } } + }, + "patch": { + "description": "Updates a cluster with the provided cluster configuration", + "tags": [ + "cluster" + ], + "summary": "Updates a cluster with the provided cluster configuration", + "operationId": "v1UpdateCluster", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v1ClusterConfiguration" + } + } + ], + "responses": { + "202": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1AcceptedResponseWithMessage" + } + }, + "500": { + "description": "Internal server error", + "schema": { + "$ref": "#/definitions/v1Error" + } + } + } } }, "/v1/edge-mgmt/cluster/applications": { "get": { "description": "list the details of the cluster’s packs.", "tags": [ - "edge-mgmt" + "cluster" ], "summary": "list the details of the cluster’s packs.", "operationId": "v1ClusterApplications", @@ -85,11 +117,35 @@ } } }, + "/v1/edge-mgmt/cluster/certificates": { + "get": { + "description": "Get Cluster Certificates Info", + "tags": [ + "cluster" + ], + "summary": "Get Cluster Certificates Info", + "operationId": "v1CertificateDetails", + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1CertificateDetails" + } + }, + "500": { + "description": "Internal server error", + "schema": { + "$ref": "#/definitions/v1Error" + } + } + } + } + }, "/v1/edge-mgmt/cluster/details": { "get": { "description": "Get Edge Cluster details", "tags": [ - "edge-mgmt" + "cluster" ], "summary": "Get Edge Cluster details", "operationId": "v1ClusterGet", @@ -119,7 +175,7 @@ "get": { "description": "List cluster events", "tags": [ - "edge-mgmt" + "cluster" ], "summary": "List cluster events", "operationId": "v1GetClusterEvents", @@ -156,7 +212,7 @@ "put": { "description": "Updates a cluster with the provided cluster configuration", "tags": [ - "edge-mgmt" + "cluster" ], "summary": "Updates a cluster with the provided cluster configuration", "operationId": "v1UpdateClusterProfiles", @@ -190,7 +246,7 @@ "post": { "description": "Validate cluster profile variables", "tags": [ - "edge-mgmt" + "cluster" ], "summary": "Validate cluster profile variables", "operationId": "v1ValidateClusterProfileVariables", @@ -224,7 +280,7 @@ "get": { "description": "Get Harbor Content Details", "tags": [ - "edge-mgmt" + "content" ], "summary": "List existing Harbor Content Details", "operationId": "v1HarborContentsDetails", @@ -242,7 +298,7 @@ "get": { "description": "Get Harbor Content Sync Status", "tags": [ - "edge-mgmt" + "content" ], "summary": "List Harbor Content Sync Status", "operationId": "v1HarborContentsSyncStatusDetails", @@ -260,7 +316,7 @@ "get": { "description": "Gets the harbor health status", "tags": [ - "edge-mgmt" + "content" ], "summary": "Gets the harbor health status", "operationId": "V1HarborHealth", @@ -280,11 +336,35 @@ } } }, + "/v1/edge-mgmt/cluster/renew-certificates": { + "post": { + "description": "Renew Cluster Certificates", + "tags": [ + "cluster" + ], + "summary": "Renew Cluster Certificates", + "operationId": "v1RenewCerts", + "responses": { + "201": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1AcceptedResponseWithMessage" + } + }, + "500": { + "description": "Internal server error", + "schema": { + "$ref": "#/definitions/v1Error" + } + } + } + } + }, "/v1/edge-mgmt/cluster/settings": { "put": { "description": "Update cluster settings", "tags": [ - "edge-mgmt" + "cluster" ], "summary": "Update cluster settings", "operationId": "v1EdgeNativeClusterSettings", @@ -324,7 +404,7 @@ "get": { "description": "parses the cluster-config archive.", "tags": [ - "edge-mgmt" + "cluster" ], "summary": "parses the cluster-config archive.", "operationId": "V1ClusterConfigArchiveEmbedded", @@ -348,7 +428,7 @@ "get": { "description": "parses the cluster-config archive if it exists.", "tags": [ - "edge-mgmt" + "cluster" ], "summary": "parses the cluster-config archive if it exists.", "operationId": "v1ClusterConfigArchiveOverriden", @@ -372,7 +452,7 @@ "get": { "description": "Get K8s Cluster Nodes", "tags": [ - "edge-mgmt" + "cluster" ], "summary": "A list of the K8s Cluster Nodes", "operationId": "v1ClusterNodes", @@ -392,11 +472,73 @@ } } }, + "/v1/edge-mgmt/edgehosts/connectivity/ping": { + "get": { + "description": "Ping an endpoint", + "tags": [ + "troubleshoot" + ], + "summary": "Ping an endpoint", + "operationId": "v1PingHost", + "parameters": [ + { + "type": "string", + "name": "endpoint", + "in": "query" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1PingResponse" + } + }, + "500": { + "description": "Internal server error", + "schema": { + "$ref": "#/definitions/v1Error" + } + } + } + } + }, + "/v1/edge-mgmt/edgehosts/connectivity/traceroute": { + "get": { + "description": "Display route that IP packets take to a network host", + "tags": [ + "troubleshoot" + ], + "summary": "Display route that IP packets take to a network host", + "operationId": "v1TraceRouteHost", + "parameters": [ + { + "type": "string", + "name": "endpoint", + "in": "query" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1TraceRouteResponse" + } + }, + "500": { + "description": "Internal server error", + "schema": { + "$ref": "#/definitions/v1Error" + } + } + } + } + }, "/v1/edge-mgmt/edgehosts/current": { "get": { "description": "Get edge host details", "tags": [ - "edge-mgmt" + "host" ], "summary": "Get edge host info", "operationId": "v1EdgeHostInfo", @@ -426,7 +568,7 @@ "post": { "description": "Reboot edge host", "tags": [ - "edge-mgmt" + "host" ], "summary": "Reboot edge host", "operationId": "v1EdgeHostActionReboot", @@ -450,13 +592,16 @@ "post": { "description": "Reset edge host", "tags": [ - "edge-mgmt" + "host" ], "summary": "Reset edge host", "operationId": "v1EdgeHostActionReset", "responses": { "202": { - "description": "Accepted response with message" + "description": "Accepted response with message", + "schema": { + "$ref": "#/definitions/v1AcceptedResponseWithMessage" + } }, "500": { "description": "Internal server error.", @@ -477,7 +622,7 @@ "post": { "description": "Shutdown edge host", "tags": [ - "edge-mgmt" + "host" ], "summary": "Shutdown edge host", "operationId": "v1EdgeHostActionShutdown", @@ -504,7 +649,7 @@ "multipart/form-data" ], "tags": [ - "edge-mgmt" + "cluster" ], "summary": "Uploads the cluster config archive and extracts it to the required location on the edge host.", "operationId": "V1ClusterConfigUpload", @@ -540,7 +685,7 @@ "multipart/form-data" ], "tags": [ - "edge-mgmt" + "content" ], "summary": "Uploads an archive file and extracts it to the required location on the edge host.", "operationId": "V1ContentUpload", @@ -573,7 +718,7 @@ "get": { "description": "Get edge host configurations.", "tags": [ - "edge-mgmt" + "host" ], "summary": "Get edge host configurations.", "operationId": "V1EdgeHostConfigurationsGet", @@ -600,7 +745,7 @@ }, "put": { "tags": [ - "edge-mgmt" + "host" ], "summary": "Update Edge Host configurations", "operationId": "V1EdgeHostConfigurationsUpdate", @@ -641,7 +786,7 @@ "get": { "description": "Edge host configurations status", "tags": [ - "edge-mgmt" + "host" ], "summary": "Edge host configurations status", "operationId": "v1EdgeHostConfigurationStatus", @@ -661,11 +806,157 @@ } } }, + "/v1/edge-mgmt/edgehosts/current/download-logs": { + "get": { + "description": "Downloads the logs of the edge host as a tar file.", + "produces": [ + "application/x-tar", + "application/json" + ], + "tags": [ + "host" + ], + "summary": "Download edge host Logs", + "operationId": "v1EdgeHostDownloadLogs", + "responses": { + "200": { + "description": "A tar file containing the logs of the edge host.", + "schema": { + "type": "file", + "format": "binary" + }, + "headers": { + "Content-Disposition": { + "type": "string", + "description": "Specifies the filename for the downloaded file." + } + } + }, + "404": { + "description": "resource not found", + "schema": { + "$ref": "#/definitions/v1NotFoundResponseWithMessage" + } + } + } + } + }, + "/v1/edge-mgmt/edgehosts/current/error-logs": { + "get": { + "description": "List last 'logCount' edge host error logs", + "tags": [ + "host" + ], + "summary": "List last 'logCount' edge host error logs", + "operationId": "V1EdgeHostErrorLogs", + "parameters": [ + { + "type": "integer", + "description": "Number of logs to be fetched", + "name": "logCount", + "in": "query", + "required": true + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1Events" + } + }, + "500": { + "description": "Internal server error", + "schema": { + "$ref": "#/definitions/v1Error" + } + }, + "default": { + "description": "generic error response", + "schema": { + "$ref": "#/definitions/apiError" + } + } + } + } + }, + "/v1/edge-mgmt/edgehosts/current/generate-logs": { + "post": { + "description": "Start edge host log collection", + "tags": [ + "host" + ], + "summary": "Start edge host log collection", + "operationId": "v1EdgeHostGenerateLogs", + "responses": { + "202": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1AcceptedResponseWithMessage" + } + }, + "default": { + "description": "generic error response", + "schema": { + "$ref": "#/definitions/apiError" + } + } + } + } + }, + "/v1/edge-mgmt/edgehosts/current/generate-logs-status": { + "get": { + "description": "Edge host log collection status", + "tags": [ + "host" + ], + "summary": "Edge host log collection status", + "operationId": "v1EdgeHostGenerateLogsStatus", + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1EdgeHostGenerateLogsStatus" + } + }, + "default": { + "description": "generic error response", + "schema": { + "$ref": "#/definitions/apiError" + } + } + } + } + }, + "/v1/edge-mgmt/events/lifecycle": { + "get": { + "description": "Get life cycle events of cluster and edge host", + "tags": [ + "events" + ], + "summary": "Get life cycle events of cluster and edge host", + "operationId": "v1GetLifecycleEvents", + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1LifecycleEvents" + } + }, + "500": { + "description": "Internal server error", + "schema": { + "$ref": "#/definitions/v1Error" + } + } + } + } + }, "/v1/ping": { "get": { "description": "Ping Service", "tags": [ - "ping" + "troubleshoot" ], "summary": "Ping Service", "operationId": "V1Ping", @@ -689,7 +980,7 @@ "get": { "description": "Get current logged in user's information", "tags": [ - "users" + "user" ], "summary": "Get current logged in user's information", "operationId": "V1CurrentUser", @@ -707,13 +998,45 @@ } } } + }, + "patch": { + "description": "Patches the current logged in user's configuration", + "tags": [ + "user" + ], + "summary": "Patches the current logged in user's configuration", + "operationId": "v1PatchCurrentUser", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v1UserSpec" + } + } + ], + "responses": { + "202": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1AcceptedResponseWithMessage" + } + }, + "500": { + "description": "Internal server error", + "schema": { + "$ref": "#/definitions/v1Error" + } + } + } } }, "/v1/users/default/login": { "post": { "description": "Authenticates the user with the specified credentials", "tags": [ - "users" + "user" ], "summary": "Authenticates the user with the specified credentials", "operationId": "V1UserLogin", @@ -766,7 +1089,7 @@ "/v1/users/default/logout": { "post": { "tags": [ - "users" + "user" ], "summary": "Logs out the user from the system", "operationId": "V1UserLogout", @@ -799,7 +1122,7 @@ "post": { "description": "Resets the user's password", "tags": [ - "users" + "user" ], "summary": "Resets the user's password", "operationId": "V1UserPasswordReset", @@ -838,7 +1161,7 @@ "/v1/users/default/token/renewal": { "post": { "tags": [ - "users" + "user" ], "summary": "Refreshes the authentication token of the user", "operationId": "V1UserTokenRenewal", @@ -929,6 +1252,26 @@ "v1BadRequest": { "description": "Bad request" }, + "v1CA": { + "type": "object", + "properties": { + "childCerts": { + "type": "array", + "items": { + "$ref": "#/definitions/v1ChildCerts" + } + }, + "expirationDate": { + "type": "string" + }, + "issueDate": { + "type": "string" + }, + "name": { + "type": "string" + } + } + }, "v1CPU": { "type": "object", "properties": { @@ -939,6 +1282,40 @@ } } }, + "v1CertificateDetails": { + "type": "object", + "properties": { + "certificates": { + "type": "array", + "items": { + "$ref": "#/definitions/v1CA" + } + }, + "earliestAutoRenewalTime": { + "type": "string" + }, + "needsRenewal": { + "type": "boolean" + } + } + }, + "v1ChildCerts": { + "type": "object", + "properties": { + "expirationDate": { + "type": "string" + }, + "issueDate": { + "type": "string" + }, + "name": { + "type": "string" + }, + "nodeName": { + "type": "string" + } + } + }, "v1Cluster": { "description": "Cluster provides details about cluster.", "type": "object", @@ -1221,6 +1598,12 @@ "uid": { "type": "string" }, + "variables": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Variable" + } + }, "version": { "type": "string" } @@ -1280,6 +1663,10 @@ "health": { "$ref": "#/definitions/v1Health" }, + "isRebootPending": { + "type": "boolean", + "default": false + }, "k8sVersion": { "type": "string" }, @@ -1328,6 +1715,51 @@ } } }, + "v1ConditionCategoryOrder": { + "properties": { + "category": { + "description": "Name of the parent category for the conditions list.", + "type": "string" + }, + "conditionsOrder": { + "description": "Order or sequence of all the conditions in this category.", + "type": "array", + "items": { + "$ref": "#/definitions/v1ConditionOrder" + } + }, + "order": { + "description": "Order or sequence of the category in comparison to all the categories.", + "type": "integer", + "format": "int32" + } + } + }, + "v1ConditionOrder": { + "properties": { + "order": { + "description": "Order or sequence of the condition in comparison to all the conditions.", + "type": "integer", + "format": "int32" + }, + "reason": { + "description": "Unique, one word reason for the condition's last transition.", + "type": "string" + }, + "reasonLabel": { + "description": "Readable label for the reason.", + "type": "string" + }, + "type": { + "description": "Type of the condition.", + "type": "string" + }, + "typeLabel": { + "description": "Readable label for the type.", + "type": "string" + } + } + }, "v1Configuration": { "description": "Configuration status of the edge host.", "type": "string", @@ -1447,6 +1879,24 @@ } } }, + "v1EdgeHostGenerateLogsStatus": { + "description": "Edge host log collection status", + "type": "object", + "properties": { + "msg": { + "type": "string" + }, + "status": { + "type": "string", + "enum": [ + "Unknown", + "InProgress", + "Completed", + "Failed" + ] + } + } + }, "v1EdgeHostInfo": { "description": "EdgeHostInfo is the information about the edge host.", "type": "object", @@ -1738,7 +2188,7 @@ "$ref": "#/definitions/v1UpdateStrategy" }, "useControlPlaneAsWorker": { - "description": "if IsControlPlane==true && useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", "type": "boolean" } } @@ -1836,7 +2286,7 @@ "type": "object", "properties": { "addresses": { - "description": "Addresses is a map of PCI device entry name to its addresses.\nExample entry would be \"11:00.0 VGA compatible controller [0300]: NVIDIA\nCorporation Device [10de:1eb1] (rev a1)\"- > 0000_11_00_0\" The address is\nBDF (Bus Device Function) identifier format seperated by underscores. The\nfirst 4 bits are almost always 0000. In the above example 11 is Bus, 00\nis Device,0 is function. The values of these addreses are expected in hexadecimal\nformat\n", + "description": "Addresses is a map of PCI device entry name to its addresses.\nExample entry would be \"11:00.0 VGA compatible controller [0300]: NVIDIA\nCorporation Device [10de:1eb1] (rev a1)\"- \u003e 0000_11_00_0\" The address is\nBDF (Bus Device Function) identifier format seperated by underscores. The\nfirst 4 bits are almost always 0000. In the above example 11 is Bus, 00\nis Device,0 is function. The values of these addreses are expected in hexadecimal\nformat\n", "type": "object", "additionalProperties": { "type": "string" @@ -2035,6 +2485,30 @@ "v1InternalServerError": { "description": "Internal Server Error" }, + "v1LifecycleEvents": { + "description": "events representing lifecycle of cluster and edge host", + "type": "object", + "properties": { + "clusterEvents": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Condition" + } + }, + "edgeHostEvents": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Condition" + } + }, + "expectedOrder": { + "type": "array", + "items": { + "$ref": "#/definitions/v1ConditionCategoryOrder" + } + } + } + }, "v1LoginSuccess": { "description": "System login success response", "type": "object", @@ -2173,6 +2647,14 @@ "v1NotFound": { "description": "Resource not found" }, + "v1NotFoundResponseWithMessage": { + "description": "Resource not found with message", + "properties": { + "message": { + "type": "string" + } + } + }, "v1OS": { "type": "object", "properties": { @@ -2399,10 +2881,30 @@ } } }, + "v1PingResponse": { + "type": "object", + "properties": { + "pingHostStatus": { + "type": "string" + } + } + }, "v1Port": { "description": "Port provides details about port.", "type": "object", "properties": { + "appProtocol": { + "description": "App protocol of the port.", + "type": "string" + }, + "name": { + "description": "Name of the port.", + "type": "string" + }, + "nodePort": { + "description": "NodePort number.", + "type": "integer" + }, "port": { "description": "Port number.", "type": "integer" @@ -2410,6 +2912,10 @@ "protocol": { "description": "Protocol of the port.", "type": "string" + }, + "targetPort": { + "description": "number or string of the target port .", + "type": "string" } } }, @@ -2518,11 +3024,19 @@ "type": "string", "format": "date-time" }, + "v1TraceRouteResponse": { + "type": "object", + "properties": { + "traceRouteStatus": { + "type": "string" + } + } + }, "v1Unauthorized": { "description": "Unauthorized" }, "v1UpdateStrategy": { - "description": "UpdatesStrategy will be used to translate to RollingUpdateStrategy of a MachineDeployment We'll start with default values for the translation, can expose more details later Following is details of parameters translated from the type ScaleOut => maxSurge=1, maxUnavailable=0 ScaleIn => maxSurge=0, maxUnavailable=1", + "description": "UpdatesStrategy will be used to translate to RollingUpdateStrategy of a MachineDeployment We'll start with default values for the translation, can expose more details later Following is details of parameters translated from the type ScaleOut =\u003e maxSurge=1, maxUnavailable=0 ScaleIn =\u003e maxSurge=0, maxUnavailable=1", "type": "object", "properties": { "type": { @@ -2539,8 +3053,15 @@ "description": "Current user information", "type": "object", "properties": { + "sshKeys": { + "description": "Current user's ssh keys", + "type": "array", + "items": { + "type": "string" + } + }, "userName": { - "description": "Current user name", + "description": "Current user's username", "type": "string" } } @@ -2650,6 +3171,9 @@ }, "required": { "type": "boolean" + }, + "value": { + "type": "string" } } } @@ -2661,24 +3185,5 @@ "name": "Authorization", "in": "header" } - }, - "tags": [ - { - "name": "edge-mgmt", - "x-displayName": "Edge Mgmt" - }, - { - "name": "ping", - "x-displayName": "Ping" - }, - { - "name": "users", - "x-displayName": "Users" - } - ], - "servers": [ - { - "url": "https://edge-host-ip:5080" - } - ] + } } \ No newline at end of file diff --git a/docs/api-content/api-docs/palette-apis.json b/docs/api-content/api-docs/palette-apis.json index 80acecc41d..ddda187cdf 100644 --- a/docs/api-content/api-docs/palette-apis.json +++ b/docs/api-content/api-docs/palette-apis.json @@ -11,7 +11,7 @@ ], "swagger": "2.0", "info": { - "title": "Palette APIs - 4.3", + "title": "Palette APIs - 4.4", "version": "v1" }, "paths": { @@ -52,7 +52,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -69,7 +69,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -81,11 +81,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -168,7 +168,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -185,7 +185,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -197,11 +197,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -273,7 +273,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -290,7 +290,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -302,11 +302,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -386,7 +386,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -403,7 +403,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -415,11 +415,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -581,21 +581,21 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } @@ -700,21 +700,21 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } @@ -851,7 +851,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -868,7 +868,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -880,11 +880,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -1016,11 +1016,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -1314,7 +1314,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -1331,7 +1331,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -1343,11 +1343,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -1377,11 +1377,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -1455,11 +1455,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -1605,7 +1605,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -1622,7 +1622,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -1634,11 +1634,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -1668,11 +1668,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -1893,7 +1893,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -1910,7 +1910,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -1922,11 +1922,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -2009,7 +2009,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -2026,7 +2026,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -2038,11 +2038,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -2274,21 +2274,21 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } @@ -2513,7 +2513,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -2530,7 +2530,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -2542,11 +2542,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -2607,11 +2607,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -2704,21 +2704,21 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } @@ -3159,7 +3159,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -3176,7 +3176,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -3188,11 +3188,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -3212,7 +3212,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -3229,7 +3229,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -3241,11 +3241,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -3275,11 +3275,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -3662,7 +3662,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -3679,7 +3679,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -3691,11 +3691,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -3725,11 +3725,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -3978,7 +3978,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -3995,7 +3995,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -4007,11 +4007,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -4156,7 +4156,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -4173,7 +4173,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -4185,11 +4185,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -4502,7 +4502,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -4519,7 +4519,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -4531,11 +4531,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -4709,7 +4709,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -4726,7 +4726,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -4738,11 +4738,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -5122,52 +5122,6 @@ } } }, - "/v1/auth/org/{orgName}/switch": { - "post": { - "description": "Creates a request to switch to the same user's other organization. Only possible if user belongs to multiple organization", - "tags": [ - "v1" - ], - "summary": "Creates a request to switch organization", - "operationId": "V1AuthOrgSwitch", - "parameters": [ - { - "type": "boolean", - "default": true, - "description": "Describes a way to set cookie from backend for switched organization", - "name": "setCookie", - "in": "query" - }, - { - "type": "string", - "description": "Organization name for which switch request has to be created", - "name": "orgName", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "description": "Returns the Authorization token. To be used for further api calls", - "type": "object", - "properties": { - "Authorization": { - "description": "Describes the authentication token in jwt format.", - "type": "string" - }, - "isMfa": { - "description": "Indicates the authentication flow using MFA", - "type": "boolean", - "x-omitempty": false - } - } - } - } - } - } - }, "/v1/auth/org/{org}/oidc/callback": { "get": { "description": "Returns the Authorization token for the palette. This is called by the IDP as a callback url after IDP authenticates the user with its server.", @@ -5917,11 +5871,9 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the account.", "type": "string" }, "metadata": { @@ -5929,7 +5881,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -5946,7 +5898,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -5958,11 +5910,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -6088,11 +6040,9 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the account.", "type": "string" }, "metadata": { @@ -6100,7 +6050,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -6117,7 +6067,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -6129,11 +6079,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -6272,11 +6222,9 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the account.", "type": "string" }, "metadata": { @@ -6284,7 +6232,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -6301,7 +6249,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -6313,11 +6261,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -6413,11 +6361,9 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the account.", "type": "string" }, "metadata": { @@ -6425,7 +6371,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -6442,7 +6388,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -6454,11 +6400,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -6659,11 +6605,11 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", + "description": "Cloud account api version", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the account.", + "description": "Cloud account kind", "type": "string" }, "metadata": { @@ -6671,7 +6617,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -6688,7 +6634,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -6700,11 +6646,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -6825,11 +6771,11 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", + "description": "Cloud account api version", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the account.", + "description": "Cloud account kind", "type": "string" }, "metadata": { @@ -6837,7 +6783,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -6854,7 +6800,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -6866,11 +6812,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -6998,11 +6944,11 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", + "description": "Cloud account api version", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the account.", + "description": "Cloud account kind", "type": "string" }, "metadata": { @@ -7010,7 +6956,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -7027,7 +6973,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -7039,11 +6985,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -7134,11 +7080,11 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", + "description": "Cloud account api version", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the account.", + "description": "Cloud account kind", "type": "string" }, "metadata": { @@ -7146,7 +7092,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -7163,7 +7109,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -7175,11 +7121,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -7375,11 +7321,11 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", + "description": "Cloud account api version", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the account.", + "description": "Cloud account kind", "type": "string" }, "metadata": { @@ -7387,7 +7333,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -7404,7 +7350,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -7416,11 +7362,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -7512,21 +7458,21 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } @@ -7620,11 +7566,11 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", + "description": "Cloud account api version", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the account.", + "description": "Cloud account kind", "type": "string" }, "metadata": { @@ -7632,7 +7578,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -7649,7 +7595,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -7661,11 +7607,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -7727,21 +7673,21 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } @@ -7822,7 +7768,7 @@ } ] }, - "/v1/cloudaccounts/coxedge": { + "/v1/cloudaccounts/gcp": { "get": { "security": [ { @@ -7835,8 +7781,8 @@ "tags": [ "v1" ], - "summary": "Retrieves a list of CoxEdge cloud accounts", - "operationId": "v1CloudAccountsCoxEdgeList", + "summary": "Retrieves a list of gcp cloud accounts", + "operationId": "v1CloudAccountsGcpList", "parameters": [ { "type": "string", @@ -7886,7 +7832,7 @@ ], "responses": { "200": { - "description": "An array of cloud account items", + "description": "An array of gcp cloud account items", "schema": { "type": "object", "required": [ @@ -7897,15 +7843,15 @@ "type": "array", "uniqueItems": true, "items": { - "description": "CoxEdge cloud account information", + "description": "GCP account information", "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", + "description": "Cloud account api version", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the account.", + "description": "Cloud account kind", "type": "string" }, "metadata": { @@ -7913,7 +7859,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -7930,7 +7876,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -7942,41 +7888,24 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, "spec": { - "description": "CoxEdge cloud account", "type": "object", - "required": [ - "apiBaseUrl", - "apiKey" - ], "properties": { - "apiBaseUrl": { - "description": "The base url - used to make api calls", - "type": "string" - }, - "apiKey": { - "description": "CoxEdge cloud account ApiKey", - "type": "string" - }, - "environment": { - "description": "The environment belonging to the organization", - "type": "string" - }, - "organizationId": { - "description": "The Id of organization", + "jsonCredentials": { + "description": "Gcp cloud account json credentials", "type": "string" }, - "service": { - "description": "The service for which the organization is allowed to provision resources", + "jsonCredentialsFileName": { + "description": "Reference of the credentials stored in the file", "type": "string" } } @@ -8037,23 +7966,23 @@ "tags": [ "v1" ], - "summary": "Creates an CoxEdge cloud account", - "operationId": "v1CloudAccountsCoxEdgeCreate", + "summary": "Creates a GCP cloud account", + "operationId": "v1CloudAccountsGcpCreate", "parameters": [ { - "description": "Request payload to validate CoxEdge cloud account", + "description": "Request payload to validate GCP cloud account", "name": "body", "in": "body", "schema": { - "description": "CoxEdge cloud account information", + "description": "GCP account information", "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", + "description": "Cloud account api version", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the account.", + "description": "Cloud account kind", "type": "string" }, "metadata": { @@ -8061,7 +7990,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -8078,7 +8007,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -8090,41 +8019,24 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, "spec": { - "description": "CoxEdge cloud account", "type": "object", - "required": [ - "apiBaseUrl", - "apiKey" - ], "properties": { - "apiBaseUrl": { - "description": "The base url - used to make api calls", - "type": "string" - }, - "apiKey": { - "description": "CoxEdge cloud account ApiKey", - "type": "string" - }, - "environment": { - "description": "The environment belonging to the organization", - "type": "string" - }, - "organizationId": { - "description": "The Id of organization", + "jsonCredentials": { + "description": "Gcp cloud account json credentials", "type": "string" }, - "service": { - "description": "The service for which the organization is allowed to provision resources", + "jsonCredentialsFileUid": { + "description": "Reference of the credentials stored in the file", "type": "string" } } @@ -8173,7 +8085,7 @@ } } }, - "/v1/cloudaccounts/coxedge/{uid}": { + "/v1/cloudaccounts/gcp/{uid}": { "get": { "security": [ { @@ -8186,8 +8098,8 @@ "tags": [ "v1" ], - "summary": "Returns the specified CoxEdge account", - "operationId": "v1CloudAccountsCoxEdgeGet", + "summary": "Returns the specified GCP cloud account", + "operationId": "v1CloudAccountsGcpGet", "parameters": [ { "type": "string", @@ -8200,15 +8112,15 @@ "200": { "description": "OK", "schema": { - "description": "CoxEdge cloud account information", + "description": "GCP account information", "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", + "description": "Cloud account api version", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the account.", + "description": "Cloud account kind", "type": "string" }, "metadata": { @@ -8216,7 +8128,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -8233,7 +8145,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -8245,41 +8157,24 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, "spec": { - "description": "CoxEdge cloud account", "type": "object", - "required": [ - "apiBaseUrl", - "apiKey" - ], "properties": { - "apiBaseUrl": { - "description": "The base url - used to make api calls", - "type": "string" - }, - "apiKey": { - "description": "CoxEdge cloud account ApiKey", - "type": "string" - }, - "environment": { - "description": "The environment belonging to the organization", - "type": "string" - }, - "organizationId": { - "description": "The Id of organization", + "jsonCredentials": { + "description": "Gcp cloud account json credentials", "type": "string" }, - "service": { - "description": "The service for which the organization is allowed to provision resources", + "jsonCredentialsFileName": { + "description": "Reference of the credentials stored in the file", "type": "string" } } @@ -8311,22 +8206,23 @@ "tags": [ "v1" ], - "summary": "Updates the specified CoxEdge account", - "operationId": "v1CloudAccountsCoxEdgeUpdate", + "summary": "Updates the specified GCP account", + "operationId": "v1CloudAccountsGcpUpdate", "parameters": [ { + "description": "Request payload to validate GCP cloud account", "name": "body", "in": "body", "schema": { - "description": "CoxEdge cloud account information", + "description": "GCP account information", "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", + "description": "Cloud account api version", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the account.", + "description": "Cloud account kind", "type": "string" }, "metadata": { @@ -8334,7 +8230,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -8351,7 +8247,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -8363,41 +8259,24 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, "spec": { - "description": "CoxEdge cloud account", "type": "object", - "required": [ - "apiBaseUrl", - "apiKey" - ], "properties": { - "apiBaseUrl": { - "description": "The base url - used to make api calls", - "type": "string" - }, - "apiKey": { - "description": "CoxEdge cloud account ApiKey", - "type": "string" - }, - "environment": { - "description": "The environment belonging to the organization", - "type": "string" - }, - "organizationId": { - "description": "The Id of organization", + "jsonCredentials": { + "description": "Gcp cloud account json credentials", "type": "string" }, - "service": { - "description": "The service for which the organization is allowed to provision resources", + "jsonCredentialsFileUid": { + "description": "Reference of the credentials stored in the file", "type": "string" } } @@ -8440,8 +8319,8 @@ "tags": [ "v1" ], - "summary": "Deletes the specified CoxEdge account", - "operationId": "v1CloudAccountsCoxEdgeDelete", + "summary": "Deletes the specified GCP account", + "operationId": "v1CloudAccountsGcpDelete", "parameters": [ { "type": "string", @@ -8459,14 +8338,14 @@ "parameters": [ { "type": "string", - "description": "CoxEdge cloud account uid", + "description": "GCP cloud account uid", "name": "uid", "in": "path", "required": true } ] }, - "/v1/cloudaccounts/gcp": { + "/v1/cloudaccounts/maas": { "get": { "security": [ { @@ -8479,8 +8358,8 @@ "tags": [ "v1" ], - "summary": "Retrieves a list of gcp cloud accounts", - "operationId": "v1CloudAccountsGcpList", + "summary": "Retrieves a list of Maas cloud accounts", + "operationId": "v1CloudAccountsMaasList", "parameters": [ { "type": "string", @@ -8530,7 +8409,7 @@ ], "responses": { "200": { - "description": "An array of gcp cloud account items", + "description": "An array of cloud account items", "schema": { "type": "object", "required": [ @@ -8541,15 +8420,13 @@ "type": "array", "uniqueItems": true, "items": { - "description": "GCP account information", + "description": "Maas cloud account information", "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the account.", "type": "string" }, "metadata": { @@ -8557,7 +8434,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -8574,7 +8451,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -8586,612 +8463,35 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, "spec": { "type": "object", + "required": [ + "apiKey", + "apiEndpoint" + ], "properties": { - "jsonCredentials": { - "description": "Gcp cloud account json credentials", + "apiEndpoint": { "type": "string" }, - "jsonCredentialsFileName": { - "description": "Reference of the credentials stored in the file", + "apiKey": { "type": "string" - } - } - }, - "status": { - "description": "Status of the account", - "type": "object", - "properties": { - "state": { - "description": "Cloud account status", - "type": "string" - } - } - } - } - } - }, - "listmeta": { - "description": "ListMeta describes metadata for the resource listing", - "type": "object", - "properties": { - "continue": { - "description": "Next token for the pagination. Next token is equal to empty string indicates end of result set.", - "type": "string", - "x-omitempty": false - }, - "count": { - "description": "Total count of the resources which might change during pagination based on the resources addition or deletion", - "type": "integer", - "x-omitempty": false - }, - "limit": { - "description": "Number of records feteched", - "type": "integer", - "x-omitempty": false - }, - "offset": { - "description": "The next offset for the pagination. Starting index for which next request will be placed.", - "type": "integer", - "x-omitempty": false - } - } - } - } - } - } - } - }, - "post": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Creates a GCP cloud account", - "operationId": "v1CloudAccountsGcpCreate", - "parameters": [ - { - "description": "Request payload to validate GCP cloud account", - "name": "body", - "in": "body", - "schema": { - "description": "GCP account information", - "type": "object", - "properties": { - "apiVersion": { - "description": "Deprecated. Not used for the resource info.", - "type": "string" - }, - "kind": { - "description": "Deprecated. Cloud type of the account.", - "type": "string" - }, - "metadata": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", - "type": "object", - "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "name": { - "description": "Name of the resource.", - "type": "string" - }, - "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", - "type": "string" - } - } - }, - "spec": { - "type": "object", - "properties": { - "jsonCredentials": { - "description": "Gcp cloud account json credentials", - "type": "string" - }, - "jsonCredentialsFileUid": { - "description": "Reference of the credentials stored in the file", - "type": "string" - } - } - }, - "status": { - "description": "Status of the account", - "type": "object", - "properties": { - "state": { - "description": "Cloud account status", - "type": "string" - } - } - } - } - } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "201": { - "description": "Created successfully", - "schema": { - "type": "object", - "required": [ - "uid" - ], - "properties": { - "uid": { - "type": "string" - } - } - }, - "headers": { - "AuditUid": { - "type": "string", - "description": "Audit uid for the request" - } - } - } - } - } - }, - "/v1/cloudaccounts/gcp/{uid}": { - "get": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Returns the specified GCP cloud account", - "operationId": "v1CloudAccountsGcpGet", - "parameters": [ - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "description": "GCP account information", - "type": "object", - "properties": { - "apiVersion": { - "description": "Deprecated. Not used for the resource info.", - "type": "string" - }, - "kind": { - "description": "Deprecated. Cloud type of the account.", - "type": "string" - }, - "metadata": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", - "type": "object", - "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "name": { - "description": "Name of the resource.", - "type": "string" - }, - "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", - "type": "string" - } - } - }, - "spec": { - "type": "object", - "properties": { - "jsonCredentials": { - "description": "Gcp cloud account json credentials", - "type": "string" - }, - "jsonCredentialsFileName": { - "description": "Reference of the credentials stored in the file", - "type": "string" - } - } - }, - "status": { - "description": "Status of the account", - "type": "object", - "properties": { - "state": { - "description": "Cloud account status", - "type": "string" - } - } - } - } - } - } - } - }, - "put": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Updates the specified GCP account", - "operationId": "v1CloudAccountsGcpUpdate", - "parameters": [ - { - "description": "Request payload to validate GCP cloud account", - "name": "body", - "in": "body", - "schema": { - "description": "GCP account information", - "type": "object", - "properties": { - "apiVersion": { - "description": "Deprecated. Not used for the resource info.", - "type": "string" - }, - "kind": { - "description": "Deprecated. Cloud type of the account.", - "type": "string" - }, - "metadata": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", - "type": "object", - "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "name": { - "description": "Name of the resource.", - "type": "string" - }, - "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", - "type": "string" - } - } - }, - "spec": { - "type": "object", - "properties": { - "jsonCredentials": { - "description": "Gcp cloud account json credentials", - "type": "string" - }, - "jsonCredentialsFileUid": { - "description": "Reference of the credentials stored in the file", - "type": "string" - } - } - }, - "status": { - "description": "Status of the account", - "type": "object", - "properties": { - "state": { - "description": "Cloud account status", - "type": "string" - } - } - } - } - } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "204": { - "description": "The resource was updated successfully" - } - } - }, - "delete": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Deletes the specified GCP account", - "operationId": "v1CloudAccountsGcpDelete", - "parameters": [ - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "204": { - "description": "The resource was deleted successfully" - } - } - }, - "parameters": [ - { - "type": "string", - "description": "GCP cloud account uid", - "name": "uid", - "in": "path", - "required": true - } - ] - }, - "/v1/cloudaccounts/maas": { - "get": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Retrieves a list of Maas cloud accounts", - "operationId": "v1CloudAccountsMaasList", - "parameters": [ - { - "type": "string", - "description": "Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name", - "name": "fields", - "in": "query" - }, - { - "type": "string", - "description": "Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.", - "name": "filters", - "in": "query" - }, - { - "type": "string", - "description": "Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1", - "name": "orderBy", - "in": "query" - }, - { - "type": "integer", - "format": "int64", - "default": 50, - "description": "limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", - "name": "limit", - "in": "query" - }, - { - "type": "integer", - "format": "int64", - "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", - "name": "offset", - "in": "query" - }, - { - "type": "string", - "description": "continue token to paginate the subsequent data items", - "name": "continue", - "in": "query" - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "An array of cloud account items", - "schema": { - "type": "object", - "required": [ - "items" - ], - "properties": { - "items": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Maas cloud account information", - "type": "object", - "properties": { - "apiVersion": { - "description": "Deprecated. Not used for the resource info.", - "type": "string" - }, - "kind": { - "description": "Deprecated. Cloud type of the account.", - "type": "string" - }, - "metadata": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", - "type": "object", - "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "name": { - "description": "Name of the resource.", - "type": "string" - }, - "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", - "type": "string" - } - } - }, - "spec": { - "type": "object", - "required": [ - "apiKey", - "apiEndpoint" - ], - "properties": { - "apiEndpoint": { - "type": "string" - }, - "apiKey": { - "type": "string" - }, - "preferredSubnets": { - "description": "list of preferred subnets order in the list reflects order in which subnets will be selected for ip address selection in apiserver dns endpoint this way user can specify external or preferable subnet \"10.11.130.0/24,10.10.10.0/24\"", - "type": "array", - "items": { - "type": "string", - "default": "" - } + }, + "preferredSubnets": { + "description": "list of preferred subnets order in the list reflects order in which subnets will be selected for ip address selection in apiserver dns endpoint this way user can specify external or preferable subnet \"10.11.130.0/24,10.10.10.0/24\"", + "type": "array", + "items": { + "type": "string", + "default": "" + } } } }, @@ -9263,11 +8563,9 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the account.", "type": "string" }, "metadata": { @@ -9275,7 +8573,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -9292,7 +8590,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -9304,11 +8602,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -9411,11 +8709,9 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the account.", "type": "string" }, "metadata": { @@ -9423,7 +8719,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -9440,7 +8736,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -9452,11 +8748,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -9522,11 +8818,9 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the account.", "type": "string" }, "metadata": { @@ -9534,7 +8828,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -9551,7 +8845,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -9563,11 +8857,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -10161,11 +9455,11 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", + "description": "Cloud account api version", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the account.", + "description": "Cloud account kind", "type": "string" }, "metadata": { @@ -10173,7 +9467,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -10190,7 +9484,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -10202,11 +9496,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -10322,11 +9616,11 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", + "description": "Cloud account api version", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the account.", + "description": "Cloud account kind", "type": "string" }, "metadata": { @@ -10334,7 +9628,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -10351,7 +9645,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -10363,11 +9657,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -10490,11 +9784,11 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", + "description": "Cloud account api version", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the account.", + "description": "Cloud account kind", "type": "string" }, "metadata": { @@ -10502,7 +9796,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -10519,7 +9813,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -10531,11 +9825,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -10621,11 +9915,11 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", + "description": "Cloud account api version", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the account.", + "description": "Cloud account kind", "type": "string" }, "metadata": { @@ -10633,7 +9927,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -10650,7 +9944,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -10662,11 +9956,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -11388,7 +10682,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -11405,7 +10699,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -11417,11 +10711,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -11559,11 +10853,11 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", + "description": "Cloud account api version", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the account.", + "description": "Cloud account kind", "type": "string" }, "metadata": { @@ -11571,7 +10865,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -11588,7 +10882,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -11600,11 +10894,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -11694,11 +10988,11 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", + "description": "Cloud account api version", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the account.", + "description": "Cloud account kind", "type": "string" }, "metadata": { @@ -11706,7 +11000,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -11723,7 +11017,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -11735,11 +11029,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -11836,11 +11130,11 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", + "description": "Cloud account api version", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the account.", + "description": "Cloud account kind", "type": "string" }, "metadata": { @@ -11848,7 +11142,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -11865,7 +11159,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -11877,11 +11171,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -11941,11 +11235,11 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", + "description": "Cloud account api version", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the account.", + "description": "Cloud account kind", "type": "string" }, "metadata": { @@ -11953,7 +11247,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -11970,7 +11264,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -11982,11 +11276,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -12151,11 +11445,11 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", + "description": "Cloud account api version", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the account.", + "description": "Cloud account kind", "type": "string" }, "metadata": { @@ -12163,7 +11457,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -12180,7 +11474,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -12192,11 +11486,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -12294,11 +11588,11 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", + "description": "Cloud account api version", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the account.", + "description": "Cloud account kind", "type": "string" }, "metadata": { @@ -12306,7 +11600,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -12323,7 +11617,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -12335,11 +11629,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -12444,11 +11738,11 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", + "description": "Cloud account api version", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the account.", + "description": "Cloud account kind", "type": "string" }, "metadata": { @@ -12456,7 +11750,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -12473,7 +11767,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -12485,11 +11779,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -12558,11 +11852,11 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", + "description": "Cloud account api version", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the account.", + "description": "Cloud account kind", "type": "string" }, "metadata": { @@ -12570,7 +11864,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -12587,7 +11881,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -12599,11 +11893,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -12962,11 +12256,11 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", "type": "string" }, "kind": { - "description": "Cloud type of the cloud config", + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", "type": "string" }, "metadata": { @@ -12974,7 +12268,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -12991,7 +12285,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -13003,11 +12297,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -13025,11 +12319,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -13264,7 +12558,7 @@ "x-omitempty": false }, "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", + "description": "labels for this pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -13351,7 +12645,7 @@ } }, "taints": { - "description": "master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -13397,7 +12691,7 @@ } }, "useControlPlaneAsWorker": { - "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -13856,7 +13150,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -13900,7 +13194,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -13946,7 +13240,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -14111,7 +13405,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -14155,7 +13449,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -14201,7 +13495,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -14348,11 +13642,9 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -14360,7 +13652,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -14377,7 +13669,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -14389,11 +13681,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -14645,11 +13937,9 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -14657,7 +13947,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -14674,7 +13964,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -14686,11 +13976,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -14966,11 +14256,9 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -14978,7 +14266,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -14995,7 +14283,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -15007,11 +14295,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -15234,11 +14522,9 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -15246,7 +14532,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -15263,7 +14549,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -15275,11 +14561,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -15573,11 +14859,11 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", "type": "string" }, "kind": { - "description": "Cloud type of the cloud config", + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", "type": "string" }, "metadata": { @@ -15585,7 +14871,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -15602,7 +14888,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -15614,11 +14900,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -15636,11 +14922,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -15789,7 +15075,7 @@ "x-omitempty": false }, "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", + "description": "labels for this pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -15855,7 +15141,7 @@ } }, "taints": { - "description": "master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -15901,7 +15187,7 @@ } }, "useControlPlaneAsWorker": { - "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -16239,7 +15525,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -16283,7 +15569,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -16329,7 +15615,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -16530,7 +15816,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -16574,7 +15860,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -16620,7 +15906,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -16767,11 +16053,9 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -16779,7 +16063,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -16796,7 +16080,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -16808,11 +16092,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -17047,11 +16331,9 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -17059,7 +16341,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -17076,7 +16358,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -17088,11 +16370,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -17351,11 +16633,9 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -17363,7 +16643,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -17380,7 +16660,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -17392,11 +16672,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -17602,11 +16882,9 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -17614,7 +16892,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -17631,7 +16909,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -17643,11 +16921,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -17924,11 +17202,11 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", "type": "string" }, "kind": { - "description": "Cloud type of the cloud config", + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", "type": "string" }, "metadata": { @@ -17936,7 +17214,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -17953,7 +17231,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -17965,11 +17243,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -17987,11 +17265,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -18226,7 +17504,7 @@ "x-omitempty": false }, "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", + "description": "labels for this pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -18313,7 +17591,7 @@ } }, "taints": { - "description": "master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -18359,7 +17637,7 @@ } }, "useControlPlaneAsWorker": { - "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -18818,7 +18096,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -18862,7 +18140,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -18908,7 +18186,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -19073,7 +18351,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -19117,7 +18395,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -19163,7 +18441,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -19311,11 +18589,9 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -19323,7 +18599,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -19340,7 +18616,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -19352,11 +18628,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -19608,11 +18884,9 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -19620,7 +18894,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -19637,7 +18911,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -19649,11 +18923,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -19930,11 +19204,9 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -19942,7 +19214,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -19959,7 +19231,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -19971,11 +19243,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -20198,11 +19470,9 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -20210,7 +19480,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -20227,7 +19497,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -20239,11 +19509,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -20537,7 +19807,7 @@ "type": "object", "properties": { "kind": { - "description": "Cloud type of the cloud config", + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", "type": "string" }, "metadata": { @@ -20545,7 +19815,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -20562,7 +19832,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -20574,11 +19844,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -20596,11 +19866,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -20647,7 +19917,7 @@ "format": "int32" }, "taints": { - "description": "master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -20679,7 +19949,7 @@ } }, "useControlPlaneAsWorker": { - "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false }, @@ -20834,7 +20104,7 @@ "x-omitempty": false }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -20866,7 +20136,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -20973,7 +20243,7 @@ "x-omitempty": false }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -21005,7 +20275,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -21159,11 +20429,9 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -21171,7 +20439,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -21188,7 +20456,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -21200,11 +20468,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -21400,11 +20668,9 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -21412,7 +20678,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -21429,7 +20695,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -21441,11 +20707,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -21672,11 +20938,9 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -21684,7 +20948,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -21701,7 +20965,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -21713,11 +20977,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -21884,11 +21148,9 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -21896,7 +21158,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -21913,7 +21175,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -21925,11 +21187,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -22143,8 +21405,8 @@ } ] }, - "/v1/cloudconfigs/coxedge/{configUid}": { - "get": { + "/v1/cloudconfigs/coxedge/{configUid}/machinePools/{machinePoolName}/machines": { + "post": { "security": [ { "ApiKey": [] @@ -22156,29 +21418,20 @@ "tags": [ "v1" ], - "summary": "Returns the specified CoxEdge cloud config", - "operationId": "v1CloudConfigsCoxEdgeGet", + "summary": "Adds the machine to cloud config's machine pool", + "operationId": "v1CloudConfigsCoxEdgePoolMachinesAdd", "parameters": [ { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "OK", + "name": "body", + "in": "body", "schema": { - "description": "CoxEdgeCloudConfig is the Schema for the coxedgecloudconfigs API", + "description": "CoxEdge cloud VM definition", "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", "type": "string" }, "kind": { - "description": "Cloud type of the cloud config", "type": "string" }, "metadata": { @@ -22186,7 +21439,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -22203,7 +21456,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -22215,523 +21468,22 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, "spec": { - "description": "CoxEdgeCloudConfigSpec defines the cloud configuration input by user This will translate to clusterspec/machinespec for cluster-api", - "type": "object", - "properties": { - "cloudAccountRef": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", - "type": "string" - } - } - }, - "clusterConfig": { - "description": "Cluster level configuration for coxedge cloud and applicable for all the machine pools", - "type": "object", - "required": [ - "sshAuthorizedKeys", - "coxEdgeLoadBalancerConfig" - ], - "properties": { - "coxEdgeLoadBalancerConfig": { - "description": "CoxEdge loadbalancer config", - "type": "object", - "properties": { - "pops": { - "description": "CoxEdge PoPs - geographical location for the loadbalancer", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "coxEdgeWorkerLoadBalancerConfig": { - "description": "CoxEdge loadbalancer config", - "type": "object", - "properties": { - "pops": { - "description": "CoxEdge PoPs - geographical location for the loadbalancer", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "environment": { - "type": "string" - }, - "organizationId": { - "type": "string" - }, - "sshAuthorizedKeys": { - "description": "CoxEdge ssh authorized keys", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "machinePoolConfig": { - "type": "array", - "items": { - "type": "object", - "required": [ - "isControlPlane" - ], - "properties": { - "additionalLabels": { - "description": "additionalLabels", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "additionalTags": { - "description": "AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "deployments": { - "type": "array", - "items": { - "properties": { - "cpuUtilization": { - "type": "integer", - "format": "int32" - }, - "enableAutoScaling": { - "type": "boolean" - }, - "instancesPerPop": { - "type": "integer", - "format": "int32" - }, - "maxInstancesPerPop": { - "type": "integer", - "format": "int32" - }, - "minInstancesPerPop": { - "type": "integer", - "format": "int32" - }, - "name": { - "type": "string" - }, - "pops": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - }, - "instanceConfig": { - "properties": { - "category": { - "type": "string" - }, - "cpuSet": { - "type": "integer", - "format": "int64" - }, - "diskGiB": { - "type": "integer", - "format": "int64" - }, - "memoryMiB": { - "description": "MemoryMiB is the size of a virtual machine's memory, in MiB", - "type": "integer", - "format": "int64" - }, - "name": { - "type": "string" - }, - "numCPUs": { - "description": "NumCPUs is the number of virtual processors in a virtual machine", - "type": "integer", - "format": "int32" - } - } - }, - "isControlPlane": { - "description": "whether this pool is for control plane", - "type": "boolean" - }, - "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", - "type": "array", - "items": { - "type": "string" - } - }, - "machinePoolProperties": { - "description": "Machine pool specific properties", - "type": "object", - "properties": { - "archType": { - "type": "string", - "default": "amd64", - "enum": [ - "amd64", - "arm64" - ] - } - } - }, - "maxSize": { - "description": "max size of the pool, for scaling", - "type": "integer", - "format": "int32" - }, - "minSize": { - "description": "min size of the pool, for scaling", - "type": "integer", - "format": "int32" - }, - "name": { - "type": "string" - }, - "nodeRepaveInterval": { - "description": "Minimum number of seconds a node should be Ready, before the next node is selected for repave. Applicable only for workerpools in infrastructure cluster", - "type": "integer", - "format": "int32" - }, - "persistentStorages": { - "description": "Array of coxedge load persistent storages", - "type": "array", - "uniqueItems": true, - "items": { - "description": "CoxEdge load persistent storage", - "type": "object", - "properties": { - "path": { - "description": "Coxedge load persistent storage path", - "type": "string" - }, - "size": { - "description": "Coxedge load persistent storage size", - "type": "integer", - "format": "int64" - } - } - } - }, - "securityGroupRules": { - "type": "array", - "items": { - "properties": { - "action": { - "type": "string", - "enum": [ - "block", - "allow" - ] - }, - "description": { - "type": "string" - }, - "portRange": { - "type": "string" - }, - "protocol": { - "type": "string", - "enum": [ - "TCP", - "UDP", - "TCP_UDP", - "ESP", - "AH", - "ICMP", - "GRE" - ] - }, - "source": { - "type": "string" - }, - "type": { - "type": "string" - } - } - } - }, - "size": { - "description": "size of the pool, number of machines", - "type": "integer", - "format": "int32" - }, - "spec": { - "type": "string" - }, - "taints": { - "description": "master or worker taints", - "type": "array", - "uniqueItems": true, - "items": { - "description": "Taint", - "type": "object", - "properties": { - "effect": { - "type": "string", - "enum": [ - "NoSchedule", - "PreferNoSchedule", - "NoExecute" - ] - }, - "key": { - "description": "The taint key to be applied to a node", - "type": "string" - }, - "timeAdded": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "value": { - "description": "The taint value corresponding to the taint key.", - "type": "string" - } - } - } - }, - "updateStrategy": { - "description": "UpdatesStrategy will be used to translate to RollingUpdateStrategy of a MachineDeployment We'll start with default values for the translation, can expose more details later Following is details of parameters translated from the type ScaleOut =\u003e maxSurge=1, maxUnavailable=0 ScaleIn =\u003e maxSurge=0, maxUnavailable=1", - "type": "object", - "properties": { - "type": { - "description": "update strategy, either ScaleOut or ScaleIn if empty, will default to RollingUpdateScaleOut", - "type": "string", - "enum": [ - "RollingUpdateScaleOut", - "RollingUpdateScaleIn" - ] - } - } - }, - "useControlPlaneAsWorker": { - "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", - "type": "boolean" - } - } - } - } - } - }, - "status": { - "description": "CoxEdgeCloudConfigStatus defines the observed state of CoxEdgeCloudConfig The cloudimage info built by Mold is stored here image should be mapped to a specific machinepool", - "type": "object", - "properties": { - "conditions": { - "description": "spectroAnsibleProvisioner: should be added only once, subsequent recocile will use the same provisioner SpectroAnsiblePacker bool `json:\"spectroAnsiblePacker,omitempty\"`", - "type": "array", - "items": { - "type": "object", - "required": [ - "type", - "status" - ], - "properties": { - "lastProbeTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "lastTransitionTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "message": { - "description": "Human-readable message indicating details about last transition.", - "type": "string" - }, - "reason": { - "description": "Unique, one-word, CamelCase reason for the condition's last transition.", - "type": "string" - }, - "status": { - "type": "string" - }, - "type": { - "type": "string" - } - } - } - }, - "imageID": { - "description": "For mold controller to identify if is there any changes in Pack", - "type": "string" - } - } - } - } - } - } - } - }, - "parameters": [ - { - "type": "string", - "description": "Cluster's cloud config uid", - "name": "configUid", - "in": "path", - "required": true - } - ] - }, - "/v1/cloudconfigs/coxedge/{configUid}/clusterConfig": { - "put": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Updates the cluster configuration information", - "operationId": "v1CloudConfigsCoxEdgeUidClusterConfigUpdate", - "parameters": [ - { - "name": "body", - "in": "body", - "schema": { - "description": "CoxEdge cloud cluster config entity", - "type": "object", - "properties": { - "clusterConfig": { - "description": "Cluster level configuration for coxedge cloud and applicable for all the machine pools", + "description": "CoxEdge cloud VM definition spec", "type": "object", - "required": [ - "sshAuthorizedKeys", - "coxEdgeLoadBalancerConfig" - ], "properties": { - "coxEdgeLoadBalancerConfig": { - "description": "CoxEdge loadbalancer config", - "type": "object", - "properties": { - "pops": { - "description": "CoxEdge PoPs - geographical location for the loadbalancer", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "coxEdgeWorkerLoadBalancerConfig": { - "description": "CoxEdge loadbalancer config", - "type": "object", - "properties": { - "pops": { - "description": "CoxEdge PoPs - geographical location for the loadbalancer", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "environment": { - "type": "string" - }, - "organizationId": { - "type": "string" + "addAnycastIpAddress": { + "type": "boolean" }, - "sshAuthorizedKeys": { - "description": "CoxEdge ssh authorized keys", - "type": "array", - "items": { - "type": "string" - } - } - } - } - } - } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "204": { - "description": "The resource was updated successfully" - } - } - }, - "parameters": [ - { - "type": "string", - "description": "Cluster's cloud config uid", - "name": "configUid", - "in": "path", - "required": true - } - ] - }, - "/v1/cloudconfigs/coxedge/{configUid}/machinePools": { - "post": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Creates a CoxEdge cloud config's machine pool", - "operationId": "v1CloudConfigsCoxEdgeMachinePoolCreate", - "parameters": [ - { - "name": "body", - "in": "body", - "schema": { - "type": "object", - "required": [ - "cloudConfig" - ], - "properties": { - "cloudConfig": { - "type": "object", - "properties": { "deployments": { "type": "array", "items": { @@ -22767,10 +21519,11 @@ } } }, + "image": { + "type": "string" + }, "persistentStorages": { - "description": "Array of coxedge load persistent storages", "type": "array", - "uniqueItems": true, "items": { "description": "CoxEdge load persistent storage", "type": "object", @@ -22787,36 +21540,541 @@ } } }, - "securityGroupRules": { + "ports": { "type": "array", "items": { + "description": "CoxEdge network port", + "type": "object", "properties": { - "action": { + "protocol": { + "type": "string" + }, + "publicPort": { + "type": "string" + }, + "publicPortDesc": { + "type": "string" + } + } + } + }, + "providerId": { + "type": "string" + }, + "specs": { + "type": "string" + }, + "sshAuthorizedKeys": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "status": { + "description": "cloud machine status", + "type": "object", + "properties": { + "health": { + "description": "Machine health state", + "type": "object", + "properties": { + "conditions": { + "type": "array", + "items": { + "description": "Machine health condition", + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "reason": { + "type": "string" + }, + "status": { + "type": "string" + }, + "type": { + "type": "string" + } + } + } + }, + "lastHeartBeatTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "state": { + "type": "string" + } + } + }, + "instanceState": { + "type": "string", + "enum": [ + "Pending", + "Provisioning", + "Provisioned", + "Running", + "Deleting", + "Deleted", + "Failed", + "Unknown" + ] + }, + "maintenanceStatus": { + "description": "Machine maintenance status", + "type": "object", + "properties": { + "action": { + "type": "string" + }, + "message": { + "type": "string" + }, + "state": { + "type": "string" + } + } + } + } + } + } + } + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "schema": { + "type": "object", + "required": [ + "uid" + ], + "properties": { + "uid": { + "type": "string" + } + } + }, + "headers": { + "AuditUid": { + "type": "string", + "description": "Audit uid for the request" + } + } + } + } + }, + "parameters": [ + { + "type": "string", + "description": "Cluster's cloud config uid", + "name": "configUid", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "Machine pool name", + "name": "machinePoolName", + "in": "path", + "required": true + } + ] + }, + "/v1/cloudconfigs/edge-native/{configUid}": { + "get": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Returns the specified edge-native cloud config", + "operationId": "v1CloudConfigsEdgeNativeGet", + "parameters": [ + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "description": "EdgeNativeCloudConfig is the Schema for the edgenativecloudconfigs API", + "type": "object", + "properties": { + "metadata": { + "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", + "type": "object", + "properties": { + "annotations": { + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "creationTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "deletionTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "labels": { + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "lastModifiedTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "name": { + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + }, + "uid": { + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", + "type": "string" + } + } + }, + "spec": { + "description": "EdgeNativeCloudConfigSpec defines the desired state of EdgeNativeCloudConfig", + "type": "object", + "required": [ + "clusterConfig", + "machinePoolConfig" + ], + "properties": { + "clusterConfig": { + "description": "EdgeNativeClusterConfig definnes Edge Native Cluster specific Spec", + "type": "object", + "properties": { + "controlPlaneEndpoint": { + "type": "object", + "properties": { + "ddnsSearchDomain": { + "description": "DDNSSearchDomain is the search domain used for resolving IP addresses when the EndpointType is DDNS. This search domain is appended to the generated Hostname to obtain the complete DNS name for the endpoint. If Host is already a DDNS FQDN, DDNSSearchDomain is not required", + "type": "string" + }, + "host": { + "description": "Host is FQDN(DDNS) or IP", + "type": "string" + }, + "type": { + "description": "Type indicates DDNS or VIP", + "type": "string" + } + } + }, + "ntpServers": { + "description": "NTPServers is a list of NTP servers to use instead of the machine image's default NTP server list", + "type": "array", + "items": { "type": "string", - "enum": [ - "block", - "allow" - ] + "default": "" + } + }, + "overlayNetworkConfiguration": { + "type": "object", + "properties": { + "cidr": { + "description": "CIDR is the CIDR of the overlay network", + "type": "string" + }, + "enable": { + "description": "Enable is a flag to enable overlay network", + "type": "boolean", + "x-omitempty": false + } + } + }, + "sshKeys": { + "description": "SSHKeys specifies a list of ssh authorized keys to access the vms as a 'spectro' user", + "type": "array", + "items": { + "type": "string", + "default": "" + } + }, + "staticIp": { + "description": "StaticIP indicates if IP allocation type is static IP. DHCP is the default allocation type", + "type": "boolean" + } + } + }, + "machinePoolConfig": { + "type": "array", + "items": { + "type": "object", + "required": [ + "hosts" + ], + "properties": { + "additionalLabels": { + "description": "AdditionalLabels", + "type": "object", + "additionalProperties": { + "type": "string", + "default": "" + } }, - "description": { + "additionalTags": { + "description": "AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole", + "type": "object", + "additionalProperties": { + "type": "string", + "default": "" + } + }, + "hosts": { + "type": "array", + "items": { + "description": "EdgeNativeHost is the underlying appliance", + "type": "object", + "required": [ + "hostUid", + "hostAddress" + ], + "properties": { + "IsCandidateCaption": { + "description": "Is Edge host nominated as candidate", + "type": "boolean", + "default": false, + "x-omitempty": false + }, + "caCert": { + "description": "CACert for TLS connections", + "type": "string" + }, + "hostAddress": { + "description": "HostAddress is a FQDN or IP address of the Host", + "type": "string", + "default": "" + }, + "hostName": { + "description": "Qualified name of host", + "type": "string", + "default": "" + }, + "hostUid": { + "description": "HostUid is the ID of the EdgeHost", + "type": "string", + "default": "" + }, + "nic": { + "type": "object", + "properties": { + "dns": { + "type": "array", + "items": { + "type": "string" + } + }, + "gateway": { + "type": "string" + }, + "ip": { + "type": "string" + }, + "isDefault": { + "type": "boolean" + }, + "macAddr": { + "type": "string" + }, + "nicName": { + "type": "string" + }, + "subnet": { + "type": "string" + } + } + }, + "nicName": { + "description": "Deprecated. Edge host nic name", + "type": "string" + }, + "staticIP": { + "description": "Deprecated. Edge host static IP", + "type": "string" + }, + "twoNodeCandidatePriority": { + "description": "Set the edgehost candidate priority as primary or secondary, if the edgehost is nominated as two node candidate", + "type": "string", + "enum": [ + "primary", + "secondary" + ] + } + } + } + }, + "isControlPlane": { + "description": "whether this pool is for control plane", + "type": "boolean" + }, + "labels": { + "description": "labels for this pool, example: control-plane/worker, gpu, windows", + "type": "array", + "items": { + "type": "string", + "default": "" + } + }, + "machinePoolProperties": { + "description": "Machine pool specific properties", + "type": "object", + "properties": { + "archType": { + "type": "string", + "default": "amd64", + "enum": [ + "amd64", + "arm64" + ] + } + } + }, + "maxSize": { + "description": "max size of the pool, for scaling", + "type": "integer", + "format": "int32" + }, + "minSize": { + "description": "min size of the pool, for scaling", + "type": "integer", + "format": "int32" + }, + "name": { "type": "string" }, - "portRange": { + "nodeRepaveInterval": { + "description": "Minimum number of seconds a node should be Ready, before the next node is selected for repave. Applicable only for workerpools in infrastructure cluster", + "type": "integer", + "format": "int32" + }, + "osType": { + "description": "the os type for the pool, must be supported by the provider", "type": "string" }, - "protocol": { + "size": { + "description": "size of the pool, number of machines", + "type": "integer", + "format": "int32" + }, + "taints": { + "description": "control plane or worker taints", + "type": "array", + "items": { + "description": "Taint", + "type": "object", + "properties": { + "effect": { + "type": "string", + "enum": [ + "NoSchedule", + "PreferNoSchedule", + "NoExecute" + ] + }, + "key": { + "description": "The taint key to be applied to a node", + "type": "string" + }, + "timeAdded": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "value": { + "description": "The taint value corresponding to the taint key.", + "type": "string" + } + } + } + }, + "updateStrategy": { + "description": "UpdatesStrategy will be used to translate to RollingUpdateStrategy of a MachineDeployment We'll start with default values for the translation, can expose more details later Following is details of parameters translated from the type ScaleOut =\u003e maxSurge=1, maxUnavailable=0 ScaleIn =\u003e maxSurge=0, maxUnavailable=1", + "type": "object", + "properties": { + "type": { + "description": "update strategy, either ScaleOut or ScaleIn if empty, will default to RollingUpdateScaleOut", + "type": "string", + "enum": [ + "RollingUpdateScaleOut", + "RollingUpdateScaleIn" + ] + } + } + }, + "useControlPlaneAsWorker": { + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", + "type": "boolean" + } + } + } + } + } + }, + "status": { + "description": "EdgeNativeCloudConfigStatus defines the observed state of EdgeNativeCloudConfig", + "type": "object", + "properties": { + "conditions": { + "type": "array", + "items": { + "type": "object", + "required": [ + "type", + "status" + ], + "properties": { + "lastProbeTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", "type": "string", - "enum": [ - "TCP", - "UDP", - "TCP_UDP", - "ESP", - "AH", - "ICMP", - "GRE" - ] + "format": "date-time" }, - "source": { + "lastTransitionTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { "type": "string" }, "type": { @@ -22825,10 +22083,228 @@ } } }, - "spec": { + "nodeImage": { + "type": "string" + }, + "sourceImageId": { + "description": "SourceImageId can be from packref's annotations or from pack.json", "type": "string" } } + } + } + } + } + } + }, + "parameters": [ + { + "type": "string", + "description": "Cluster's cloud config uid", + "name": "configUid", + "in": "path", + "required": true + } + ] + }, + "/v1/cloudconfigs/edge-native/{configUid}/clusterConfig": { + "put": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Updates the cluster configuration information", + "operationId": "v1CloudConfigsEdgeNativeUidClusterConfig", + "parameters": [ + { + "name": "body", + "in": "body", + "schema": { + "description": "EdgeNative cloud cluster config entity", + "type": "object", + "properties": { + "clusterConfig": { + "description": "EdgeNativeClusterConfig definnes Edge Native Cluster specific Spec", + "type": "object", + "properties": { + "controlPlaneEndpoint": { + "type": "object", + "properties": { + "ddnsSearchDomain": { + "description": "DDNSSearchDomain is the search domain used for resolving IP addresses when the EndpointType is DDNS. This search domain is appended to the generated Hostname to obtain the complete DNS name for the endpoint. If Host is already a DDNS FQDN, DDNSSearchDomain is not required", + "type": "string" + }, + "host": { + "description": "Host is FQDN(DDNS) or IP", + "type": "string" + }, + "type": { + "description": "Type indicates DDNS or VIP", + "type": "string" + } + } + }, + "ntpServers": { + "description": "NTPServers is a list of NTP servers to use instead of the machine image's default NTP server list", + "type": "array", + "items": { + "type": "string", + "default": "" + } + }, + "overlayNetworkConfiguration": { + "type": "object", + "properties": { + "cidr": { + "description": "CIDR is the CIDR of the overlay network", + "type": "string" + }, + "enable": { + "description": "Enable is a flag to enable overlay network", + "type": "boolean", + "x-omitempty": false + } + } + }, + "sshKeys": { + "description": "SSHKeys specifies a list of ssh authorized keys to access the vms as a 'spectro' user", + "type": "array", + "items": { + "type": "string", + "default": "" + } + }, + "staticIp": { + "description": "StaticIP indicates if IP allocation type is static IP. DHCP is the default allocation type", + "type": "boolean" + } + } + } + } + } + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + } + }, + "parameters": [ + { + "type": "string", + "description": "Cluster's cloud config uid", + "name": "configUid", + "in": "path", + "required": true + } + ] + }, + "/v1/cloudconfigs/edge-native/{configUid}/machinePools": { + "post": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Creates a edge-native cloud config's machine pool", + "operationId": "v1CloudConfigsEdgeNativeMachinePoolCreate", + "parameters": [ + { + "name": "body", + "in": "body", + "schema": { + "type": "object", + "properties": { + "cloudConfig": { + "required": [ + "edgeHosts" + ], + "properties": { + "edgeHosts": { + "type": "array", + "uniqueItems": true, + "items": { + "required": [ + "hostUid" + ], + "properties": { + "hostName": { + "description": "Edge host name", + "type": "string" + }, + "hostUid": { + "description": "Edge host id", + "type": "string" + }, + "nic": { + "type": "object", + "properties": { + "dns": { + "type": "array", + "items": { + "type": "string" + } + }, + "gateway": { + "type": "string" + }, + "ip": { + "type": "string" + }, + "isDefault": { + "type": "boolean" + }, + "macAddr": { + "type": "string" + }, + "nicName": { + "type": "string" + }, + "subnet": { + "type": "string" + } + } + }, + "nicName": { + "description": "Deprecated - Edge host nic name", + "type": "string" + }, + "staticIP": { + "description": "Deprecated - Edge host static IP", + "type": "string" + }, + "twoNodeCandidatePriority": { + "description": "Set the edgehost candidate priority as primary or secondary, if the edgehost is nominated as two node candidate", + "type": "string", + "enum": [ + "primary", + "secondary" + ] + } + } + } + } + } }, "poolConfig": { "description": "Machine pool configuration for the cluster", @@ -22859,7 +22335,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -22903,7 +22379,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -22949,7 +22425,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -22998,7 +22474,7 @@ } ] }, - "/v1/cloudconfigs/coxedge/{configUid}/machinePools/{machinePoolName}": { + "/v1/cloudconfigs/edge-native/{configUid}/machinePools/{machinePoolName}": { "put": { "security": [ { @@ -23011,116 +22487,83 @@ "tags": [ "v1" ], - "summary": "Updates the specified CoxEdge cloud config's machine pool", - "operationId": "v1CloudConfigsCoxEdgeMachinePoolUpdate", + "summary": "Updates the specified edge-native cloud config's machine pool", + "operationId": "v1CloudConfigsEdgeNativeMachinePoolUpdate", "parameters": [ { "name": "body", "in": "body", "schema": { "type": "object", - "required": [ - "cloudConfig" - ], "properties": { "cloudConfig": { - "type": "object", + "required": [ + "edgeHosts" + ], "properties": { - "deployments": { + "edgeHosts": { "type": "array", + "uniqueItems": true, "items": { + "required": [ + "hostUid" + ], "properties": { - "cpuUtilization": { - "type": "integer", - "format": "int32" - }, - "enableAutoScaling": { - "type": "boolean" - }, - "instancesPerPop": { - "type": "integer", - "format": "int32" - }, - "maxInstancesPerPop": { - "type": "integer", - "format": "int32" - }, - "minInstancesPerPop": { - "type": "integer", - "format": "int32" - }, - "name": { + "hostName": { + "description": "Edge host name", "type": "string" }, - "pops": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - }, - "persistentStorages": { - "description": "Array of coxedge load persistent storages", - "type": "array", - "uniqueItems": true, - "items": { - "description": "CoxEdge load persistent storage", - "type": "object", - "properties": { - "path": { - "description": "Coxedge load persistent storage path", + "hostUid": { + "description": "Edge host id", "type": "string" }, - "size": { - "description": "Coxedge load persistent storage size", - "type": "integer", - "format": "int64" - } - } - } - }, - "securityGroupRules": { - "type": "array", - "items": { - "properties": { - "action": { - "type": "string", - "enum": [ - "block", - "allow" - ] + "nic": { + "type": "object", + "properties": { + "dns": { + "type": "array", + "items": { + "type": "string" + } + }, + "gateway": { + "type": "string" + }, + "ip": { + "type": "string" + }, + "isDefault": { + "type": "boolean" + }, + "macAddr": { + "type": "string" + }, + "nicName": { + "type": "string" + }, + "subnet": { + "type": "string" + } + } }, - "description": { + "nicName": { + "description": "Deprecated - Edge host nic name", "type": "string" }, - "portRange": { + "staticIP": { + "description": "Deprecated - Edge host static IP", "type": "string" }, - "protocol": { + "twoNodeCandidatePriority": { + "description": "Set the edgehost candidate priority as primary or secondary, if the edgehost is nominated as two node candidate", "type": "string", "enum": [ - "TCP", - "UDP", - "TCP_UDP", - "ESP", - "AH", - "ICMP", - "GRE" + "primary", + "secondary" ] - }, - "source": { - "type": "string" - }, - "type": { - "type": "string" } } } - }, - "spec": { - "type": "string" } } }, @@ -23153,7 +22596,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -23197,7 +22640,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -23243,7 +22686,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -23278,7 +22721,7 @@ "v1" ], "summary": "Deletes the specified machine pool", - "operationId": "v1CloudConfigsCoxEdgeMachinePoolDelete", + "operationId": "v1CloudConfigsEdgeNativeMachinePoolDelete", "parameters": [ { "type": "string", @@ -23310,7 +22753,7 @@ } ] }, - "/v1/cloudconfigs/coxedge/{configUid}/machinePools/{machinePoolName}/machines": { + "/v1/cloudconfigs/edge-native/{configUid}/machinePools/{machinePoolName}/machines": { "get": { "security": [ { @@ -23323,48 +22766,9 @@ "tags": [ "v1" ], - "summary": "Retrieves a list of CoxEdge machines", - "operationId": "v1CloudConfigsCoxEdgePoolMachinesList", + "summary": "Retrieves a list of edge-native machines", + "operationId": "v1CloudConfigsEdgeNativePoolMachinesList", "parameters": [ - { - "type": "string", - "description": "Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name", - "name": "fields", - "in": "query" - }, - { - "type": "string", - "description": "Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.", - "name": "filters", - "in": "query" - }, - { - "type": "string", - "description": "Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1", - "name": "orderBy", - "in": "query" - }, - { - "type": "integer", - "format": "int64", - "default": 50, - "description": "limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", - "name": "limit", - "in": "query" - }, - { - "type": "integer", - "format": "int64", - "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", - "name": "offset", - "in": "query" - }, - { - "type": "string", - "description": "continue token to paginate the subsequent data items", - "name": "continue", - "in": "query" - }, { "type": "string", "description": "Scope the request to the specified project uid", @@ -23374,9 +22778,9 @@ ], "responses": { "200": { - "description": "An array of CoxEdge machine items", + "description": "An array of edge-native machine items", "schema": { - "description": "CoxEdge machine list", + "description": "EdgeNative machine list", "type": "object", "required": [ "items" @@ -23386,15 +22790,12 @@ "type": "array", "uniqueItems": true, "items": { - "description": "CoxEdge cloud VM definition", - "type": "object", + "description": "EdgeNative cloud VM definition", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -23402,7 +22803,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -23419,7 +22820,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -23431,107 +22832,72 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, "spec": { - "description": "CoxEdge cloud VM definition spec", + "description": "EdgeNative cloud VM definition spec", "type": "object", "properties": { - "addAnycastIpAddress": { - "type": "boolean" + "edgeHostUid": { + "type": "string" + }, + "instanceType": { + "description": "EdgeNativeInstanceType defines the instance configuration for a docker container node", + "type": "object", + "properties": { + "diskGiB": { + "description": "DiskGiB is the size of a virtual machine's disk", + "type": "integer", + "format": "int32" + }, + "memoryMiB": { + "description": "MemoryMiB is the size of a virtual machine's memory, in MiB", + "type": "integer", + "format": "int32" + }, + "name": { + "description": "Name is the instance name", + "type": "string" + }, + "numCPUs": { + "description": "NumCPUs is the number of CPUs", + "type": "integer", + "format": "int32" + } + } }, - "deployments": { + "nics": { "type": "array", + "uniqueItems": true, "items": { + "description": "Generic network interface", + "type": "object", "properties": { - "cpuUtilization": { - "type": "integer", - "format": "int32" - }, - "enableAutoScaling": { - "type": "boolean" - }, - "instancesPerPop": { - "type": "integer", - "format": "int32" - }, - "maxInstancesPerPop": { - "type": "integer", - "format": "int32" - }, - "minInstancesPerPop": { + "index": { "type": "integer", - "format": "int32" + "format": "int8" }, - "name": { + "networkName": { "type": "string" }, - "pops": { + "privateIPs": { "type": "array", "items": { "type": "string" } - } - } - } - }, - "image": { - "type": "string" - }, - "persistentStorages": { - "type": "array", - "items": { - "description": "CoxEdge load persistent storage", - "type": "object", - "properties": { - "path": { - "description": "Coxedge load persistent storage path", - "type": "string" - }, - "size": { - "description": "Coxedge load persistent storage size", - "type": "integer", - "format": "int64" - } - } - } - }, - "ports": { - "type": "array", - "items": { - "description": "CoxEdge network port", - "type": "object", - "properties": { - "protocol": { - "type": "string" }, - "publicPort": { - "type": "string" - }, - "publicPortDesc": { + "publicIp": { "type": "string" } } } - }, - "providerId": { - "type": "string" - }, - "specs": { - "type": "string" - }, - "sshAuthorizedKeys": { - "type": "array", - "items": { - "type": "string" - } } } }, @@ -23606,32 +22972,6 @@ } } } - }, - "listmeta": { - "description": "ListMeta describes metadata for the resource listing", - "type": "object", - "properties": { - "continue": { - "description": "Next token for the pagination. Next token is equal to empty string indicates end of result set.", - "type": "string", - "x-omitempty": false - }, - "count": { - "description": "Total count of the resources which might change during pagination based on the resources addition or deletion", - "type": "integer", - "x-omitempty": false - }, - "limit": { - "description": "Number of records feteched", - "type": "integer", - "x-omitempty": false - }, - "offset": { - "description": "The next offset for the pagination. Starting index for which next request will be placed.", - "type": "integer", - "x-omitempty": false - } - } } } } @@ -23650,22 +22990,19 @@ "tags": [ "v1" ], - "summary": "Adds the machine to cloud config's machine pool", - "operationId": "v1CloudConfigsCoxEdgePoolMachinesAdd", + "summary": "Adds the edge-native machine to cloud config's machine pool", + "operationId": "v1CloudConfigsEdgeNativePoolMachinesAdd", "parameters": [ { "name": "body", "in": "body", "schema": { - "description": "CoxEdge cloud VM definition", - "type": "object", + "description": "EdgeNative cloud VM definition", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -23673,7 +23010,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -23690,7 +23027,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -23702,107 +23039,72 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, "spec": { - "description": "CoxEdge cloud VM definition spec", + "description": "EdgeNative cloud VM definition spec", "type": "object", "properties": { - "addAnycastIpAddress": { - "type": "boolean" + "edgeHostUid": { + "type": "string" }, - "deployments": { + "instanceType": { + "description": "EdgeNativeInstanceType defines the instance configuration for a docker container node", + "type": "object", + "properties": { + "diskGiB": { + "description": "DiskGiB is the size of a virtual machine's disk", + "type": "integer", + "format": "int32" + }, + "memoryMiB": { + "description": "MemoryMiB is the size of a virtual machine's memory, in MiB", + "type": "integer", + "format": "int32" + }, + "name": { + "description": "Name is the instance name", + "type": "string" + }, + "numCPUs": { + "description": "NumCPUs is the number of CPUs", + "type": "integer", + "format": "int32" + } + } + }, + "nics": { "type": "array", + "uniqueItems": true, "items": { + "description": "Generic network interface", + "type": "object", "properties": { - "cpuUtilization": { - "type": "integer", - "format": "int32" - }, - "enableAutoScaling": { - "type": "boolean" - }, - "instancesPerPop": { - "type": "integer", - "format": "int32" - }, - "maxInstancesPerPop": { - "type": "integer", - "format": "int32" - }, - "minInstancesPerPop": { + "index": { "type": "integer", - "format": "int32" + "format": "int8" }, - "name": { + "networkName": { "type": "string" }, - "pops": { + "privateIPs": { "type": "array", "items": { "type": "string" } - } - } - } - }, - "image": { - "type": "string" - }, - "persistentStorages": { - "type": "array", - "items": { - "description": "CoxEdge load persistent storage", - "type": "object", - "properties": { - "path": { - "description": "Coxedge load persistent storage path", - "type": "string" - }, - "size": { - "description": "Coxedge load persistent storage size", - "type": "integer", - "format": "int64" - } - } - } - }, - "ports": { - "type": "array", - "items": { - "description": "CoxEdge network port", - "type": "object", - "properties": { - "protocol": { - "type": "string" }, - "publicPort": { - "type": "string" - }, - "publicPortDesc": { + "publicIp": { "type": "string" } } } - }, - "providerId": { - "type": "string" - }, - "specs": { - "type": "string" - }, - "sshAuthorizedKeys": { - "type": "array", - "items": { - "type": "string" - } } } }, @@ -23925,7 +23227,7 @@ } ] }, - "/v1/cloudconfigs/coxedge/{configUid}/machinePools/{machinePoolName}/machines/{machineUid}": { + "/v1/cloudconfigs/edge-native/{configUid}/machinePools/{machinePoolName}/machines/{machineUid}": { "get": { "security": [ { @@ -23938,8 +23240,8 @@ "tags": [ "v1" ], - "summary": "Returns the specified CoxEdge machine", - "operationId": "v1CloudConfigsCoxEdgePoolMachinesUidGet", + "summary": "Returns the specified edge-native machine", + "operationId": "v1CloudConfigsEdgeNativePoolMachinesUidGet", "parameters": [ { "type": "string", @@ -23952,15 +23254,12 @@ "200": { "description": "OK", "schema": { - "description": "CoxEdge cloud VM definition", - "type": "object", + "description": "EdgeNative cloud VM definition", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -23968,7 +23267,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -23985,7 +23284,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -23997,107 +23296,72 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, "spec": { - "description": "CoxEdge cloud VM definition spec", + "description": "EdgeNative cloud VM definition spec", "type": "object", "properties": { - "addAnycastIpAddress": { - "type": "boolean" + "edgeHostUid": { + "type": "string" }, - "deployments": { + "instanceType": { + "description": "EdgeNativeInstanceType defines the instance configuration for a docker container node", + "type": "object", + "properties": { + "diskGiB": { + "description": "DiskGiB is the size of a virtual machine's disk", + "type": "integer", + "format": "int32" + }, + "memoryMiB": { + "description": "MemoryMiB is the size of a virtual machine's memory, in MiB", + "type": "integer", + "format": "int32" + }, + "name": { + "description": "Name is the instance name", + "type": "string" + }, + "numCPUs": { + "description": "NumCPUs is the number of CPUs", + "type": "integer", + "format": "int32" + } + } + }, + "nics": { "type": "array", + "uniqueItems": true, "items": { + "description": "Generic network interface", + "type": "object", "properties": { - "cpuUtilization": { - "type": "integer", - "format": "int32" - }, - "enableAutoScaling": { - "type": "boolean" - }, - "instancesPerPop": { - "type": "integer", - "format": "int32" - }, - "maxInstancesPerPop": { - "type": "integer", - "format": "int32" - }, - "minInstancesPerPop": { + "index": { "type": "integer", - "format": "int32" + "format": "int8" }, - "name": { + "networkName": { "type": "string" }, - "pops": { + "privateIPs": { "type": "array", "items": { "type": "string" } - } - } - } - }, - "image": { - "type": "string" - }, - "persistentStorages": { - "type": "array", - "items": { - "description": "CoxEdge load persistent storage", - "type": "object", - "properties": { - "path": { - "description": "Coxedge load persistent storage path", - "type": "string" - }, - "size": { - "description": "Coxedge load persistent storage size", - "type": "integer", - "format": "int64" - } - } - } - }, - "ports": { - "type": "array", - "items": { - "description": "CoxEdge network port", - "type": "object", - "properties": { - "protocol": { - "type": "string" - }, - "publicPort": { - "type": "string" }, - "publicPortDesc": { + "publicIp": { "type": "string" } } } - }, - "providerId": { - "type": "string" - }, - "specs": { - "type": "string" - }, - "sshAuthorizedKeys": { - "type": "array", - "items": { - "type": "string" - } } } }, @@ -24187,22 +23451,19 @@ "tags": [ "v1" ], - "summary": "Updates the specified machine to the cloud config's machine pool", - "operationId": "v1CloudConfigsCoxEdgePoolMachinesUidUpdate", + "summary": "Updates the specified machine to cloud config's machine pool", + "operationId": "v1CloudConfigsEdgeNativePoolMachinesUidUpdate", "parameters": [ { "name": "body", "in": "body", "schema": { - "description": "CoxEdge cloud VM definition", - "type": "object", + "description": "EdgeNative cloud VM definition", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -24210,7 +23471,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -24227,7 +23488,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -24239,107 +23500,72 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, "spec": { - "description": "CoxEdge cloud VM definition spec", + "description": "EdgeNative cloud VM definition spec", "type": "object", "properties": { - "addAnycastIpAddress": { - "type": "boolean" + "edgeHostUid": { + "type": "string" }, - "deployments": { + "instanceType": { + "description": "EdgeNativeInstanceType defines the instance configuration for a docker container node", + "type": "object", + "properties": { + "diskGiB": { + "description": "DiskGiB is the size of a virtual machine's disk", + "type": "integer", + "format": "int32" + }, + "memoryMiB": { + "description": "MemoryMiB is the size of a virtual machine's memory, in MiB", + "type": "integer", + "format": "int32" + }, + "name": { + "description": "Name is the instance name", + "type": "string" + }, + "numCPUs": { + "description": "NumCPUs is the number of CPUs", + "type": "integer", + "format": "int32" + } + } + }, + "nics": { "type": "array", + "uniqueItems": true, "items": { + "description": "Generic network interface", + "type": "object", "properties": { - "cpuUtilization": { - "type": "integer", - "format": "int32" - }, - "enableAutoScaling": { - "type": "boolean" - }, - "instancesPerPop": { - "type": "integer", - "format": "int32" - }, - "maxInstancesPerPop": { - "type": "integer", - "format": "int32" - }, - "minInstancesPerPop": { + "index": { "type": "integer", - "format": "int32" + "format": "int8" }, - "name": { + "networkName": { "type": "string" }, - "pops": { + "privateIPs": { "type": "array", "items": { "type": "string" } - } - } - } - }, - "image": { - "type": "string" - }, - "persistentStorages": { - "type": "array", - "items": { - "description": "CoxEdge load persistent storage", - "type": "object", - "properties": { - "path": { - "description": "Coxedge load persistent storage path", - "type": "string" - }, - "size": { - "description": "Coxedge load persistent storage size", - "type": "integer", - "format": "int64" - } - } - } - }, - "ports": { - "type": "array", - "items": { - "description": "CoxEdge network port", - "type": "object", - "properties": { - "protocol": { - "type": "string" }, - "publicPort": { - "type": "string" - }, - "publicPortDesc": { + "publicIp": { "type": "string" } } } - }, - "providerId": { - "type": "string" - }, - "specs": { - "type": "string" - }, - "sshAuthorizedKeys": { - "type": "array", - "items": { - "type": "string" - } } } }, @@ -24440,8 +23666,8 @@ "tags": [ "v1" ], - "summary": "Deletes the specified CoxEdge machine", - "operationId": "v1CloudConfigsCoxEdgePoolMachinesUidDelete", + "summary": "Deletes the specified edge-native machine", + "operationId": "v1CloudConfigsEdgeNativePoolMachinesUidDelete", "parameters": [ { "type": "string", @@ -24480,7 +23706,7 @@ } ] }, - "/v1/cloudconfigs/edge-native/{configUid}": { + "/v1/cloudconfigs/eks/{configUid}": { "get": { "security": [ { @@ -24493,8 +23719,8 @@ "tags": [ "v1" ], - "summary": "Returns the specified edge-native cloud config", - "operationId": "v1CloudConfigsEdgeNativeGet", + "summary": "Returns the specified EKS cloud config", + "operationId": "v1CloudConfigsEksGet", "parameters": [ { "type": "string", @@ -24507,15 +23733,23 @@ "200": { "description": "OK", "schema": { - "description": "EdgeNativeCloudConfig is the Schema for the edgenativecloudconfigs API", + "description": "EksCloudConfig is the Schema for the ekscloudconfigs API", "type": "object", "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, "metadata": { "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -24532,7 +23766,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -24544,197 +23778,393 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, "spec": { - "description": "EdgeNativeCloudConfigSpec defines the desired state of EdgeNativeCloudConfig", + "description": "EksCloudConfigSpec defines the cloud configuration input by user", "type": "object", - "required": [ - "clusterConfig", - "machinePoolConfig" - ], "properties": { + "cloudAccountRef": { + "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", + "type": "object", + "properties": { + "kind": { + "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "uid": { + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", + "type": "string" + } + } + }, "clusterConfig": { - "description": "EdgeNativeClusterConfig definnes Edge Native Cluster specific Spec", + "description": "EksClusterConfig defines EKS specific config", "type": "object", + "required": [ + "region" + ], "properties": { - "controlPlaneEndpoint": { + "addons": { + "description": "Addons defines the EKS addons to enable with the EKS cluster. This may be required for brownfield clusters", + "type": "array", + "items": { + "description": "EksAddon represents a EKS addon", + "type": "object", + "required": [ + "name", + "version" + ], + "properties": { + "conflictResolution": { + "description": "ConflictResolution is used to declare what should happen if there are parameter conflicts.", + "type": "string" + }, + "name": { + "description": "Name is the name of the addon", + "type": "string" + }, + "serviceAccountRoleARN": { + "description": "ServiceAccountRoleArn is the ARN of an IAM role to bind to the addons service account", + "type": "string" + }, + "version": { + "description": "Version is the version of the addon to use", + "type": "string" + } + } + } + }, + "bastionDisabled": { + "description": "BastionDisabled is the option to disable bastion node", + "type": "boolean" + }, + "controlPlaneLoadBalancer": { + "description": "ControlPlaneLoadBalancer specifies how API server elb will be configured, this field is optional, not provided, \"\", default =\u003e \"Internet-facing\" \"Internet-facing\" =\u003e \"Internet-facing\" \"internal\" =\u003e \"internal\" For spectro saas setup we require to talk to the apiserver from our cluster so ControlPlaneLoadBalancer should be \"\", not provided or \"Internet-facing\"", + "type": "string" + }, + "encryptionConfig": { + "description": "EncryptionConfig specifies the encryption configuration for the EKS clsuter.", "type": "object", "properties": { - "ddnsSearchDomain": { - "description": "DDNSSearchDomain is the search domain used for resolving IP addresses when the EndpointType is DDNS. This search domain is appended to the generated Hostname to obtain the complete DNS name for the endpoint. If Host is already a DDNS FQDN, DDNSSearchDomain is not required", - "type": "string" + "isEnabled": { + "description": "Is encryption configuration enabled for the cluster", + "type": "boolean" }, - "host": { - "description": "Host is FQDN(DDNS) or IP", + "provider": { + "description": "Provider specifies the ARN or alias of the CMK (in AWS KMS)", "type": "string" }, - "type": { - "description": "Type indicates DDNS or VIP", - "type": "string" + "resources": { + "description": "Resources specifies the resources to be encrypted", + "type": "array", + "items": { + "type": "string" + } } } }, - "ntpServers": { - "description": "NTPServers is a list of NTP servers to use instead of the machine image's default NTP server list", - "type": "array", - "items": { - "type": "string", - "default": "" - } - }, - "overlayNetworkConfiguration": { + "endpointAccess": { + "description": "EndpointAccess specifies how control plane endpoints are accessible", "type": "object", "properties": { - "cidr": { - "description": "CIDR is the CIDR of the overlay network", - "type": "string" + "private": { + "description": "Private points VPC-internal control plane access to the private endpoint", + "type": "boolean" }, - "enable": { - "description": "Enable is a flag to enable overlay network", - "type": "boolean", - "x-omitempty": false + "privateCIDRs": { + "description": "PrivateCIDRs specifies which blocks can access the private endpoint", + "type": "array", + "items": { + "type": "string" + } + }, + "public": { + "description": "Public controls whether control plane endpoints are publicly accessible", + "type": "boolean" + }, + "publicCIDRs": { + "description": "PublicCIDRs specifies which blocks can access the public endpoint", + "type": "array", + "items": { + "type": "string" + } } } }, - "sshKeys": { - "description": "SSHKeys specifies a list of ssh authorized keys to access the vms as a 'spectro' user", - "type": "array", - "items": { - "type": "string", - "default": "" - } + "region": { + "description": "The AWS Region the cluster lives in.", + "type": "string" }, - "staticIp": { - "description": "StaticIP indicates if IP allocation type is static IP. DHCP is the default allocation type", - "type": "boolean" + "sshKeyName": { + "description": "SSHKeyName specifies which EC2 SSH key can be used to access machines.", + "type": "string" + }, + "vpcId": { + "description": "VPC Id to deploy cluster into should have one public and one private subnet for the the cluster creation, this field is optional, If VPC Id is not provided a fully managed VPC will be created", + "type": "string" } } }, - "machinePoolConfig": { + "fargateProfiles": { "type": "array", "items": { + "description": "FargateProfile defines the desired state of FargateProfile", "type": "object", "required": [ - "hosts" + "name" ], "properties": { - "additionalLabels": { - "description": "AdditionalLabels", - "type": "object", - "additionalProperties": { - "type": "string", - "default": "" - } - }, "additionalTags": { - "description": "AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole", + "description": "AdditionalTags is an optional set of tags to add to AWS resources managed by the AWS provider, in addition to the ones added by default.", "type": "object", "additionalProperties": { - "type": "string", - "default": "" + "type": "string" } }, - "hosts": { + "name": { + "description": "name specifies the profile name.", + "type": "string" + }, + "selectors": { + "description": "Selectors specify fargate pod selectors.", "type": "array", "items": { - "description": "EdgeNativeHost is the underlying appliance", + "description": "FargateSelector specifies a selector for pods that should run on this fargate pool", "type": "object", "required": [ - "hostUid", - "hostAddress" + "namespace" ], "properties": { - "IsCandidateCaption": { - "description": "Is Edge host nominated as candidate", - "type": "boolean", - "default": false, - "x-omitempty": false + "labels": { + "description": "Labels specifies which pod labels this selector should match.", + "type": "object", + "additionalProperties": { + "type": "string" + } }, - "caCert": { - "description": "CACert for TLS connections", + "namespace": { + "description": "Namespace specifies which namespace this selector should match.", "type": "string" - }, - "hostAddress": { - "description": "HostAddress is a FQDN or IP address of the Host", - "type": "string", - "default": "" - }, - "hostName": { - "description": "Qualified name of host", - "type": "string", - "default": "" - }, - "hostUid": { - "description": "HostUid is the ID of the EdgeHost", - "type": "string", - "default": "" - }, - "nic": { + } + } + } + }, + "subnetIds": { + "description": "SubnetIDs specifies which subnets are used for the auto scaling group of this nodegroup.", + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "machinePoolConfig": { + "type": "array", + "items": { + "type": "object", + "required": [ + "isControlPlane" + ], + "properties": { + "additionalLabels": { + "description": "additionalLabels", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "additionalTags": { + "description": "AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "awsLaunchTemplate": { + "description": "AWSLaunchTemplate specifies the launch template to use to create the managed node group", + "type": "object", + "properties": { + "additionalSecurityGroups": { + "description": "AdditionalSecurityGroups is an array of references to security groups that should be applied to the instances", + "type": "array", + "uniqueItems": true, + "items": { + "description": "AWSResourceReference is a reference to a specific AWS resource by ID or filters", "type": "object", "properties": { - "dns": { + "arn": { + "description": "ARN of resource", + "type": "string" + }, + "filters": { + "description": "Filters is a set of key/value pairs used to identify a resource", "type": "array", + "uniqueItems": true, "items": { - "type": "string" + "description": "Filter is a filter used to identify an AWS resource", + "type": "object", + "properties": { + "name": { + "description": "Name of the filter. Filter names are case-sensitive", + "type": "string" + }, + "values": { + "description": "Values includes one or more filter values. Filter values are case-sensitive", + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + } + } } }, - "gateway": { - "type": "string" - }, - "ip": { - "type": "string" - }, - "isDefault": { - "type": "boolean" - }, - "macAddr": { - "type": "string" - }, - "nicName": { - "type": "string" - }, - "subnet": { + "id": { + "description": "ID of resource", "type": "string" } } - }, - "nicName": { - "description": "Deprecated. Edge host nic name", - "type": "string" - }, - "staticIP": { - "description": "Deprecated. Edge host static IP", - "type": "string" - }, - "twoNodeCandidatePriority": { - "description": "Set the edgehost candidate priority as primary or secondary, if the edgehost is nominated as two node candidate", - "type": "string", - "enum": [ - "primary", - "secondary" - ] } + }, + "ami": { + "description": "AMI is the reference to the AMI from which to create the machine instance", + "type": "object", + "properties": { + "eksOptimizedLookupType": { + "description": "EKSOptimizedLookupType If specified, will look up an EKS Optimized image in SSM Parameter store", + "type": "string", + "enum": [ + "AmazonLinux", + "AmazonLinuxGPU" + ] + }, + "id": { + "description": "ID of resource", + "type": "string" + } + } + }, + "imageLookupBaseOS": { + "description": "ImageLookupBaseOS is the name of the base operating system to use for image lookup the AMI is not set", + "type": "string" + }, + "imageLookupFormat": { + "description": "ImageLookupFormat is the AMI naming format to look up the image", + "type": "string" + }, + "imageLookupOrg": { + "description": "ImageLookupOrg is the AWS Organization ID to use for image lookup if AMI is not set", + "type": "string" + }, + "rootVolume": { + "description": "Volume encapsulates the configuration options for the storage device.", + "type": "object", + "properties": { + "deviceName": { + "description": "Device name", + "type": "string" + }, + "encrypted": { + "description": "EncryptionKey is the KMS key to use to encrypt the volume. Can be either a KMS key ID or ARN", + "type": "boolean" + }, + "encryptionKey": { + "description": "EncryptionKey is the KMS key to use to encrypt the volume. Can be either a KMS key ID or ARN", + "type": "string" + }, + "iops": { + "description": "IOPS is the number of IOPS requested for the disk. Not applicable to all types", + "type": "integer", + "format": "int64" + }, + "throughput": { + "description": "Throughput to provision in MiB/s supported for the volume type. Not applicable to all types.", + "type": "integer", + "format": "int64" + }, + "type": { + "description": "Type is the type of the volume (e.g. gp2, io1, etc...)", + "type": "string" + } + } + } + } + }, + "azs": { + "description": "AZs is only used for dynamic placement", + "type": "array", + "items": { + "type": "string" + } + }, + "capacityType": { + "description": "EC2 instance capacity type", + "type": "string", + "default": "on-demand", + "enum": [ + "on-demand", + "spot" + ] + }, + "enableAwsLaunchTemplate": { + "description": "flag to know if aws launch template is enabled", + "type": "boolean" + }, + "instanceConfig": { + "properties": { + "category": { + "type": "string" + }, + "cpuSet": { + "type": "integer", + "format": "int64" + }, + "diskGiB": { + "type": "integer", + "format": "int64" + }, + "memoryMiB": { + "description": "MemoryMiB is the size of a virtual machine's memory, in MiB", + "type": "integer", + "format": "int64" + }, + "name": { + "type": "string" + }, + "numCPUs": { + "description": "NumCPUs is the number of virtual processors in a virtual machine", + "type": "integer", + "format": "int32" } } }, + "instanceType": { + "description": "instance type", + "type": "string" + }, "isControlPlane": { "description": "whether this pool is for control plane", - "type": "boolean" + "type": "boolean", + "x-omitempty": false }, "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", + "description": "labels for this pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { - "type": "string", - "default": "" + "type": "string" } }, "machinePoolProperties": { @@ -24769,18 +24199,37 @@ "type": "integer", "format": "int32" }, - "osType": { - "description": "the os type for the pool, must be supported by the provider", - "type": "string" + "rootDeviceSize": { + "description": "rootDeviceSize in GBs", + "type": "integer", + "format": "int64" }, "size": { "description": "size of the pool, number of machines", "type": "integer", "format": "int32" }, + "spotMarketOptions": { + "description": "SpotMarketOptions defines the options available to a user when configuring Machines to run on Spot instances. Most users should provide an empty struct.", + "type": "object", + "properties": { + "maxPrice": { + "description": "MaxPrice defines the maximum price the user is willing to pay for Spot VM instances", + "type": "string" + } + } + }, + "subnetIds": { + "description": "AZ to subnet mapping filled by ally from hubble SubnetIDs [\"us-west-2d\"] = \"subnet-079b6061\" This field is optional If we don't provide a subnetId then by default the first private subnet from the AZ will be picked up for deployment", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, "taints": { - "description": "master or worker taints", + "description": "control plane or worker taints", "type": "array", + "uniqueItems": true, "items": { "description": "Taint", "type": "object", @@ -24824,65 +24273,174 @@ } }, "useControlPlaneAsWorker": { - "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", - "type": "boolean" + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", + "type": "boolean", + "x-omitempty": false } } } } } - }, - "status": { - "description": "EdgeNativeCloudConfigStatus defines the observed state of EdgeNativeCloudConfig", + } + } + } + } + } + }, + "parameters": [ + { + "type": "string", + "description": "Cluster's cloud config uid", + "name": "configUid", + "in": "path", + "required": true + } + ] + }, + "/v1/cloudconfigs/eks/{configUid}/clusterConfig": { + "put": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Updates the cluster configuration information", + "operationId": "v1CloudConfigsEksUidClusterConfig", + "parameters": [ + { + "name": "body", + "in": "body", + "schema": { + "description": "EKS cloud cluster config entity", + "type": "object", + "properties": { + "clusterConfig": { + "description": "EksClusterConfig defines EKS specific config", "type": "object", + "required": [ + "region" + ], "properties": { - "conditions": { + "addons": { + "description": "Addons defines the EKS addons to enable with the EKS cluster. This may be required for brownfield clusters", "type": "array", "items": { + "description": "EksAddon represents a EKS addon", "type": "object", "required": [ - "type", - "status" + "name", + "version" ], "properties": { - "lastProbeTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "lastTransitionTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "message": { - "description": "Human-readable message indicating details about last transition.", + "conflictResolution": { + "description": "ConflictResolution is used to declare what should happen if there are parameter conflicts.", "type": "string" }, - "reason": { - "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "name": { + "description": "Name is the name of the addon", "type": "string" }, - "status": { + "serviceAccountRoleARN": { + "description": "ServiceAccountRoleArn is the ARN of an IAM role to bind to the addons service account", "type": "string" }, - "type": { + "version": { + "description": "Version is the version of the addon to use", "type": "string" } } } }, - "nodeImage": { + "bastionDisabled": { + "description": "BastionDisabled is the option to disable bastion node", + "type": "boolean" + }, + "controlPlaneLoadBalancer": { + "description": "ControlPlaneLoadBalancer specifies how API server elb will be configured, this field is optional, not provided, \"\", default =\u003e \"Internet-facing\" \"Internet-facing\" =\u003e \"Internet-facing\" \"internal\" =\u003e \"internal\" For spectro saas setup we require to talk to the apiserver from our cluster so ControlPlaneLoadBalancer should be \"\", not provided or \"Internet-facing\"", "type": "string" }, - "sourceImageId": { - "description": "SourceImageId can be from packref's annotations or from pack.json", + "encryptionConfig": { + "description": "EncryptionConfig specifies the encryption configuration for the EKS clsuter.", + "type": "object", + "properties": { + "isEnabled": { + "description": "Is encryption configuration enabled for the cluster", + "type": "boolean" + }, + "provider": { + "description": "Provider specifies the ARN or alias of the CMK (in AWS KMS)", + "type": "string" + }, + "resources": { + "description": "Resources specifies the resources to be encrypted", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "endpointAccess": { + "description": "EndpointAccess specifies how control plane endpoints are accessible", + "type": "object", + "properties": { + "private": { + "description": "Private points VPC-internal control plane access to the private endpoint", + "type": "boolean" + }, + "privateCIDRs": { + "description": "PrivateCIDRs specifies which blocks can access the private endpoint", + "type": "array", + "items": { + "type": "string" + } + }, + "public": { + "description": "Public controls whether control plane endpoints are publicly accessible", + "type": "boolean" + }, + "publicCIDRs": { + "description": "PublicCIDRs specifies which blocks can access the public endpoint", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "region": { + "description": "The AWS Region the cluster lives in.", + "type": "string" + }, + "sshKeyName": { + "description": "SSHKeyName specifies which EC2 SSH key can be used to access machines.", + "type": "string" + }, + "vpcId": { + "description": "VPC Id to deploy cluster into should have one public and one private subnet for the the cluster creation, this field is optional, If VPC Id is not provided a fully managed VPC will be created", "type": "string" } } } } } + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" } } }, @@ -24896,7 +24454,7 @@ } ] }, - "/v1/cloudconfigs/edge-native/{configUid}/clusterConfig": { + "/v1/cloudconfigs/eks/{configUid}/fargateProfiles": { "put": { "security": [ { @@ -24909,70 +24467,67 @@ "tags": [ "v1" ], - "summary": "Updates the cluster configuration information", - "operationId": "v1CloudConfigsEdgeNativeUidClusterConfig", + "summary": "Updates EKS cloud config's fargate profiles", + "operationId": "v1CloudConfigsEksUidFargateProfilesUpdate", "parameters": [ { "name": "body", "in": "body", "schema": { - "description": "EdgeNative cloud cluster config entity", + "description": "Fargate profiles", "type": "object", "properties": { - "clusterConfig": { - "description": "EdgeNativeClusterConfig definnes Edge Native Cluster specific Spec", - "type": "object", - "properties": { - "controlPlaneEndpoint": { - "type": "object", - "properties": { - "ddnsSearchDomain": { - "description": "DDNSSearchDomain is the search domain used for resolving IP addresses when the EndpointType is DDNS. This search domain is appended to the generated Hostname to obtain the complete DNS name for the endpoint. If Host is already a DDNS FQDN, DDNSSearchDomain is not required", - "type": "string" - }, - "host": { - "description": "Host is FQDN(DDNS) or IP", - "type": "string" - }, - "type": { - "description": "Type indicates DDNS or VIP", + "fargateProfiles": { + "type": "array", + "items": { + "description": "FargateProfile defines the desired state of FargateProfile", + "type": "object", + "required": [ + "name" + ], + "properties": { + "additionalTags": { + "description": "AdditionalTags is an optional set of tags to add to AWS resources managed by the AWS provider, in addition to the ones added by default.", + "type": "object", + "additionalProperties": { "type": "string" } - } - }, - "ntpServers": { - "description": "NTPServers is a list of NTP servers to use instead of the machine image's default NTP server list", - "type": "array", - "items": { - "type": "string", - "default": "" - } - }, - "overlayNetworkConfiguration": { - "type": "object", - "properties": { - "cidr": { - "description": "CIDR is the CIDR of the overlay network", + }, + "name": { + "description": "name specifies the profile name.", + "type": "string" + }, + "selectors": { + "description": "Selectors specify fargate pod selectors.", + "type": "array", + "items": { + "description": "FargateSelector specifies a selector for pods that should run on this fargate pool", + "type": "object", + "required": [ + "namespace" + ], + "properties": { + "labels": { + "description": "Labels specifies which pod labels this selector should match.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "namespace": { + "description": "Namespace specifies which namespace this selector should match.", + "type": "string" + } + } + } + }, + "subnetIds": { + "description": "SubnetIDs specifies which subnets are used for the auto scaling group of this nodegroup.", + "type": "array", + "items": { "type": "string" - }, - "enable": { - "description": "Enable is a flag to enable overlay network", - "type": "boolean", - "x-omitempty": false } } - }, - "sshKeys": { - "description": "SSHKeys specifies a list of ssh authorized keys to access the vms as a 'spectro' user", - "type": "array", - "items": { - "type": "string", - "default": "" - } - }, - "staticIp": { - "description": "StaticIP indicates if IP allocation type is static IP. DHCP is the default allocation type", - "type": "boolean" } } } @@ -25002,7 +24557,7 @@ } ] }, - "/v1/cloudconfigs/edge-native/{configUid}/machinePools": { + "/v1/cloudconfigs/eks/{configUid}/machinePools": { "post": { "security": [ { @@ -25015,80 +24570,175 @@ "tags": [ "v1" ], - "summary": "Creates a edge-native cloud config's machine pool", - "operationId": "v1CloudConfigsEdgeNativeMachinePoolCreate", + "summary": "Creates an EKS cloud config's machine pool", + "operationId": "v1CloudConfigsEksMachinePoolCreate", "parameters": [ { "name": "body", "in": "body", "schema": { - "type": "object", "properties": { "cloudConfig": { - "required": [ - "edgeHosts" - ], "properties": { - "edgeHosts": { - "type": "array", - "uniqueItems": true, - "items": { - "required": [ - "hostUid" - ], - "properties": { - "hostName": { - "description": "Edge host name", - "type": "string" - }, - "hostUid": { - "description": "Edge host id", - "type": "string" - }, - "nic": { + "awsLaunchTemplate": { + "description": "AWSLaunchTemplate specifies the launch template to use to create the managed node group", + "type": "object", + "properties": { + "additionalSecurityGroups": { + "description": "AdditionalSecurityGroups is an array of references to security groups that should be applied to the instances", + "type": "array", + "uniqueItems": true, + "items": { + "description": "AWSResourceReference is a reference to a specific AWS resource by ID or filters", "type": "object", "properties": { - "dns": { + "arn": { + "description": "ARN of resource", + "type": "string" + }, + "filters": { + "description": "Filters is a set of key/value pairs used to identify a resource", "type": "array", + "uniqueItems": true, "items": { - "type": "string" + "description": "Filter is a filter used to identify an AWS resource", + "type": "object", + "properties": { + "name": { + "description": "Name of the filter. Filter names are case-sensitive", + "type": "string" + }, + "values": { + "description": "Values includes one or more filter values. Filter values are case-sensitive", + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + } + } } }, - "gateway": { - "type": "string" - }, - "ip": { - "type": "string" - }, - "isDefault": { - "type": "boolean" - }, - "macAddr": { - "type": "string" - }, - "nicName": { - "type": "string" - }, - "subnet": { + "id": { + "description": "ID of resource", "type": "string" } } - }, - "nicName": { - "description": "Deprecated - Edge host nic name", + } + }, + "ami": { + "description": "AMI is the reference to the AMI from which to create the machine instance", + "type": "object", + "properties": { + "eksOptimizedLookupType": { + "description": "EKSOptimizedLookupType If specified, will look up an EKS Optimized image in SSM Parameter store", + "type": "string", + "enum": [ + "AmazonLinux", + "AmazonLinuxGPU" + ] + }, + "id": { + "description": "ID of resource", + "type": "string" + } + } + }, + "imageLookupBaseOS": { + "description": "ImageLookupBaseOS is the name of the base operating system to use for image lookup the AMI is not set", + "type": "string" + }, + "imageLookupFormat": { + "description": "ImageLookupFormat is the AMI naming format to look up the image", + "type": "string" + }, + "imageLookupOrg": { + "description": "ImageLookupOrg is the AWS Organization ID to use for image lookup if AMI is not set", + "type": "string" + }, + "rootVolume": { + "description": "Volume encapsulates the configuration options for the storage device.", + "type": "object", + "properties": { + "deviceName": { + "description": "Device name", + "type": "string" + }, + "encrypted": { + "description": "EncryptionKey is the KMS key to use to encrypt the volume. Can be either a KMS key ID or ARN", + "type": "boolean" + }, + "encryptionKey": { + "description": "EncryptionKey is the KMS key to use to encrypt the volume. Can be either a KMS key ID or ARN", + "type": "string" + }, + "iops": { + "description": "IOPS is the number of IOPS requested for the disk. Not applicable to all types", + "type": "integer", + "format": "int64" + }, + "throughput": { + "description": "Throughput to provision in MiB/s supported for the volume type. Not applicable to all types.", + "type": "integer", + "format": "int64" + }, + "type": { + "description": "Type is the type of the volume (e.g. gp2, io1, etc...)", + "type": "string" + } + } + } + } + }, + "azs": { + "type": "array", + "items": { + "type": "string" + } + }, + "capacityType": { + "description": "EC2 instance capacity type", + "type": "string", + "default": "on-demand", + "enum": [ + "on-demand", + "spot" + ] + }, + "enableAwsLaunchTemplate": { + "description": "flag to know if aws launch template is enabled", + "type": "boolean" + }, + "instanceType": { + "description": "instance type", + "type": "string" + }, + "rootDeviceSize": { + "description": "rootDeviceSize in GBs", + "type": "integer", + "format": "int64", + "maximum": 2000, + "minimum": 1 + }, + "spotMarketOptions": { + "description": "SpotMarketOptions defines the options available to a user when configuring Machines to run on Spot instances. Most users should provide an empty struct.", + "type": "object", + "properties": { + "maxPrice": { + "description": "MaxPrice defines the maximum price the user is willing to pay for Spot VM instances", + "type": "string" + } + } + }, + "subnets": { + "type": "array", + "items": { + "properties": { + "az": { "type": "string" }, - "staticIP": { - "description": "Deprecated - Edge host static IP", + "id": { "type": "string" - }, - "twoNodeCandidatePriority": { - "description": "Set the edgehost candidate priority as primary or secondary, if the edgehost is nominated as two node candidate", - "type": "string", - "enum": [ - "primary", - "secondary" - ] } } } @@ -25124,7 +24774,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -25168,7 +24818,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -25214,7 +24864,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -25263,7 +24913,7 @@ } ] }, - "/v1/cloudconfigs/edge-native/{configUid}/machinePools/{machinePoolName}": { + "/v1/cloudconfigs/eks/{configUid}/machinePools/{machinePoolName}": { "put": { "security": [ { @@ -25276,80 +24926,175 @@ "tags": [ "v1" ], - "summary": "Updates the specified edge-native cloud config's machine pool", - "operationId": "v1CloudConfigsEdgeNativeMachinePoolUpdate", + "summary": "Updates the specified EKS cloud config's machine pool", + "operationId": "v1CloudConfigsEksMachinePoolUpdate", "parameters": [ { "name": "body", "in": "body", "schema": { - "type": "object", "properties": { "cloudConfig": { - "required": [ - "edgeHosts" - ], "properties": { - "edgeHosts": { - "type": "array", - "uniqueItems": true, - "items": { - "required": [ - "hostUid" - ], - "properties": { - "hostName": { - "description": "Edge host name", - "type": "string" - }, - "hostUid": { - "description": "Edge host id", - "type": "string" - }, - "nic": { + "awsLaunchTemplate": { + "description": "AWSLaunchTemplate specifies the launch template to use to create the managed node group", + "type": "object", + "properties": { + "additionalSecurityGroups": { + "description": "AdditionalSecurityGroups is an array of references to security groups that should be applied to the instances", + "type": "array", + "uniqueItems": true, + "items": { + "description": "AWSResourceReference is a reference to a specific AWS resource by ID or filters", "type": "object", "properties": { - "dns": { + "arn": { + "description": "ARN of resource", + "type": "string" + }, + "filters": { + "description": "Filters is a set of key/value pairs used to identify a resource", "type": "array", + "uniqueItems": true, "items": { - "type": "string" + "description": "Filter is a filter used to identify an AWS resource", + "type": "object", + "properties": { + "name": { + "description": "Name of the filter. Filter names are case-sensitive", + "type": "string" + }, + "values": { + "description": "Values includes one or more filter values. Filter values are case-sensitive", + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + } + } } }, - "gateway": { - "type": "string" - }, - "ip": { - "type": "string" - }, - "isDefault": { - "type": "boolean" - }, - "macAddr": { - "type": "string" - }, - "nicName": { - "type": "string" - }, - "subnet": { + "id": { + "description": "ID of resource", "type": "string" } } - }, - "nicName": { - "description": "Deprecated - Edge host nic name", + } + }, + "ami": { + "description": "AMI is the reference to the AMI from which to create the machine instance", + "type": "object", + "properties": { + "eksOptimizedLookupType": { + "description": "EKSOptimizedLookupType If specified, will look up an EKS Optimized image in SSM Parameter store", + "type": "string", + "enum": [ + "AmazonLinux", + "AmazonLinuxGPU" + ] + }, + "id": { + "description": "ID of resource", + "type": "string" + } + } + }, + "imageLookupBaseOS": { + "description": "ImageLookupBaseOS is the name of the base operating system to use for image lookup the AMI is not set", + "type": "string" + }, + "imageLookupFormat": { + "description": "ImageLookupFormat is the AMI naming format to look up the image", + "type": "string" + }, + "imageLookupOrg": { + "description": "ImageLookupOrg is the AWS Organization ID to use for image lookup if AMI is not set", + "type": "string" + }, + "rootVolume": { + "description": "Volume encapsulates the configuration options for the storage device.", + "type": "object", + "properties": { + "deviceName": { + "description": "Device name", + "type": "string" + }, + "encrypted": { + "description": "EncryptionKey is the KMS key to use to encrypt the volume. Can be either a KMS key ID or ARN", + "type": "boolean" + }, + "encryptionKey": { + "description": "EncryptionKey is the KMS key to use to encrypt the volume. Can be either a KMS key ID or ARN", + "type": "string" + }, + "iops": { + "description": "IOPS is the number of IOPS requested for the disk. Not applicable to all types", + "type": "integer", + "format": "int64" + }, + "throughput": { + "description": "Throughput to provision in MiB/s supported for the volume type. Not applicable to all types.", + "type": "integer", + "format": "int64" + }, + "type": { + "description": "Type is the type of the volume (e.g. gp2, io1, etc...)", + "type": "string" + } + } + } + } + }, + "azs": { + "type": "array", + "items": { + "type": "string" + } + }, + "capacityType": { + "description": "EC2 instance capacity type", + "type": "string", + "default": "on-demand", + "enum": [ + "on-demand", + "spot" + ] + }, + "enableAwsLaunchTemplate": { + "description": "flag to know if aws launch template is enabled", + "type": "boolean" + }, + "instanceType": { + "description": "instance type", + "type": "string" + }, + "rootDeviceSize": { + "description": "rootDeviceSize in GBs", + "type": "integer", + "format": "int64", + "maximum": 2000, + "minimum": 1 + }, + "spotMarketOptions": { + "description": "SpotMarketOptions defines the options available to a user when configuring Machines to run on Spot instances. Most users should provide an empty struct.", + "type": "object", + "properties": { + "maxPrice": { + "description": "MaxPrice defines the maximum price the user is willing to pay for Spot VM instances", + "type": "string" + } + } + }, + "subnets": { + "type": "array", + "items": { + "properties": { + "az": { "type": "string" }, - "staticIP": { - "description": "Deprecated - Edge host static IP", + "id": { "type": "string" - }, - "twoNodeCandidatePriority": { - "description": "Set the edgehost candidate priority as primary or secondary, if the edgehost is nominated as two node candidate", - "type": "string", - "enum": [ - "primary", - "secondary" - ] } } } @@ -25385,7 +25130,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -25429,7 +25174,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -25475,7 +25220,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -25510,7 +25255,7 @@ "v1" ], "summary": "Deletes the specified machine pool", - "operationId": "v1CloudConfigsEdgeNativeMachinePoolDelete", + "operationId": "v1CloudConfigsEksMachinePoolDelete", "parameters": [ { "type": "string", @@ -25542,7 +25287,7 @@ } ] }, - "/v1/cloudconfigs/edge-native/{configUid}/machinePools/{machinePoolName}/machines": { + "/v1/cloudconfigs/eks/{configUid}/machinePools/{machinePoolName}/machines": { "get": { "security": [ { @@ -25555,9 +25300,48 @@ "tags": [ "v1" ], - "summary": "Retrieves a list of edge-native machines", - "operationId": "v1CloudConfigsEdgeNativePoolMachinesList", + "summary": "Retrieves a list of EKS machines", + "operationId": "v1CloudConfigsEksPoolMachinesList", "parameters": [ + { + "type": "string", + "description": "Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name", + "name": "fields", + "in": "query" + }, + { + "type": "string", + "description": "Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.", + "name": "filters", + "in": "query" + }, + { + "type": "string", + "description": "Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1", + "name": "orderBy", + "in": "query" + }, + { + "type": "integer", + "format": "int64", + "default": 50, + "description": "limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "name": "limit", + "in": "query" + }, + { + "type": "integer", + "format": "int64", + "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", + "name": "offset", + "in": "query" + }, + { + "type": "string", + "description": "continue token to paginate the subsequent data items", + "name": "continue", + "in": "query" + }, { "type": "string", "description": "Scope the request to the specified project uid", @@ -25567,9 +25351,9 @@ ], "responses": { "200": { - "description": "An array of edge-native machine items", + "description": "An array of EKS machine items", "schema": { - "description": "EdgeNative machine list", + "description": "AWS machine list", "type": "object", "required": [ "items" @@ -25579,14 +25363,13 @@ "type": "array", "uniqueItems": true, "items": { - "description": "EdgeNative cloud VM definition", + "description": "AWS cloud VM definition", + "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -25594,7 +25377,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -25611,7 +25394,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -25623,61 +25406,90 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, "spec": { - "description": "EdgeNative cloud VM definition spec", + "description": "AWS cloud VM definition spec", "type": "object", + "required": [ + "instanceType", + "vpcId", + "ami" + ], "properties": { - "edgeHostUid": { + "additionalSecurityGroups": { + "description": "Additional Security groups", + "type": "array", + "items": { + "description": "AWSResourceReference is a reference to a specific AWS resource by ID or filters", + "type": "object", + "properties": { + "arn": { + "description": "ARN of resource", + "type": "string" + }, + "filters": { + "description": "Filters is a set of key/value pairs used to identify a resource", + "type": "array", + "uniqueItems": true, + "items": { + "description": "Filter is a filter used to identify an AWS resource", + "type": "object", + "properties": { + "name": { + "description": "Name of the filter. Filter names are case-sensitive", + "type": "string" + }, + "values": { + "description": "Values includes one or more filter values. Filter values are case-sensitive", + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + } + } + } + }, + "id": { + "description": "ID of resource", + "type": "string" + } + } + } + }, + "ami": { + "type": "string" + }, + "az": { + "type": "string" + }, + "dnsName": { + "type": "string" + }, + "iamProfile": { "type": "string" }, "instanceType": { - "description": "EdgeNativeInstanceType defines the instance configuration for a docker container node", - "type": "object", - "properties": { - "diskGiB": { - "description": "DiskGiB is the size of a virtual machine's disk", - "type": "integer", - "format": "int32" - }, - "memoryMiB": { - "description": "MemoryMiB is the size of a virtual machine's memory, in MiB", - "type": "integer", - "format": "int32" - }, - "name": { - "description": "Name is the instance name", - "type": "string" - }, - "numCPUs": { - "description": "NumCPUs is the number of CPUs", - "type": "integer", - "format": "int32" - } - } + "type": "string" }, "nics": { "type": "array", - "uniqueItems": true, "items": { - "description": "Generic network interface", + "description": "AWS network interface", "type": "object", "properties": { "index": { "type": "integer", "format": "int8" }, - "networkName": { - "type": "string" - }, "privateIPs": { "type": "array", "items": { @@ -25689,6 +25501,21 @@ } } } + }, + "phase": { + "type": "string" + }, + "sshKeyName": { + "type": "string" + }, + "subnetId": { + "type": "string" + }, + "type": { + "type": "string" + }, + "vpcId": { + "type": "string" } } }, @@ -25763,6 +25590,32 @@ } } } + }, + "listmeta": { + "description": "ListMeta describes metadata for the resource listing", + "type": "object", + "properties": { + "continue": { + "description": "Next token for the pagination. Next token is equal to empty string indicates end of result set.", + "type": "string", + "x-omitempty": false + }, + "count": { + "description": "Total count of the resources which might change during pagination based on the resources addition or deletion", + "type": "integer", + "x-omitempty": false + }, + "limit": { + "description": "Number of records feteched", + "type": "integer", + "x-omitempty": false + }, + "offset": { + "description": "The next offset for the pagination. Starting index for which next request will be placed.", + "type": "integer", + "x-omitempty": false + } + } } } } @@ -25781,21 +25634,20 @@ "tags": [ "v1" ], - "summary": "Adds the edge-native machine to cloud config's machine pool", - "operationId": "v1CloudConfigsEdgeNativePoolMachinesAdd", + "summary": "Adds the machine to cloud config's machine pool", + "operationId": "v1CloudConfigsEksPoolMachinesAdd", "parameters": [ { "name": "body", "in": "body", "schema": { - "description": "EdgeNative cloud VM definition", + "description": "AWS cloud VM definition", + "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -25803,7 +25655,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -25820,7 +25672,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -25832,61 +25684,90 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, "spec": { - "description": "EdgeNative cloud VM definition spec", + "description": "AWS cloud VM definition spec", "type": "object", + "required": [ + "instanceType", + "vpcId", + "ami" + ], "properties": { - "edgeHostUid": { + "additionalSecurityGroups": { + "description": "Additional Security groups", + "type": "array", + "items": { + "description": "AWSResourceReference is a reference to a specific AWS resource by ID or filters", + "type": "object", + "properties": { + "arn": { + "description": "ARN of resource", + "type": "string" + }, + "filters": { + "description": "Filters is a set of key/value pairs used to identify a resource", + "type": "array", + "uniqueItems": true, + "items": { + "description": "Filter is a filter used to identify an AWS resource", + "type": "object", + "properties": { + "name": { + "description": "Name of the filter. Filter names are case-sensitive", + "type": "string" + }, + "values": { + "description": "Values includes one or more filter values. Filter values are case-sensitive", + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + } + } + } + }, + "id": { + "description": "ID of resource", + "type": "string" + } + } + } + }, + "ami": { + "type": "string" + }, + "az": { + "type": "string" + }, + "dnsName": { + "type": "string" + }, + "iamProfile": { "type": "string" }, "instanceType": { - "description": "EdgeNativeInstanceType defines the instance configuration for a docker container node", - "type": "object", - "properties": { - "diskGiB": { - "description": "DiskGiB is the size of a virtual machine's disk", - "type": "integer", - "format": "int32" - }, - "memoryMiB": { - "description": "MemoryMiB is the size of a virtual machine's memory, in MiB", - "type": "integer", - "format": "int32" - }, - "name": { - "description": "Name is the instance name", - "type": "string" - }, - "numCPUs": { - "description": "NumCPUs is the number of CPUs", - "type": "integer", - "format": "int32" - } - } + "type": "string" }, "nics": { "type": "array", - "uniqueItems": true, "items": { - "description": "Generic network interface", + "description": "AWS network interface", "type": "object", "properties": { "index": { "type": "integer", "format": "int8" }, - "networkName": { - "type": "string" - }, "privateIPs": { "type": "array", "items": { @@ -25898,6 +25779,21 @@ } } } + }, + "phase": { + "type": "string" + }, + "sshKeyName": { + "type": "string" + }, + "subnetId": { + "type": "string" + }, + "type": { + "type": "string" + }, + "vpcId": { + "type": "string" } } }, @@ -26020,7 +25916,7 @@ } ] }, - "/v1/cloudconfigs/edge-native/{configUid}/machinePools/{machinePoolName}/machines/{machineUid}": { + "/v1/cloudconfigs/eks/{configUid}/machinePools/{machinePoolName}/machines/{machineUid}": { "get": { "security": [ { @@ -26033,8 +25929,8 @@ "tags": [ "v1" ], - "summary": "Returns the specified edge-native machine", - "operationId": "v1CloudConfigsEdgeNativePoolMachinesUidGet", + "summary": "Returns the specified EKS machine", + "operationId": "v1CloudConfigsEksPoolMachinesUidGet", "parameters": [ { "type": "string", @@ -26047,14 +25943,13 @@ "200": { "description": "OK", "schema": { - "description": "EdgeNative cloud VM definition", + "description": "AWS cloud VM definition", + "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -26062,7 +25957,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -26079,7 +25974,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -26091,61 +25986,90 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, "spec": { - "description": "EdgeNative cloud VM definition spec", + "description": "AWS cloud VM definition spec", "type": "object", + "required": [ + "instanceType", + "vpcId", + "ami" + ], "properties": { - "edgeHostUid": { + "additionalSecurityGroups": { + "description": "Additional Security groups", + "type": "array", + "items": { + "description": "AWSResourceReference is a reference to a specific AWS resource by ID or filters", + "type": "object", + "properties": { + "arn": { + "description": "ARN of resource", + "type": "string" + }, + "filters": { + "description": "Filters is a set of key/value pairs used to identify a resource", + "type": "array", + "uniqueItems": true, + "items": { + "description": "Filter is a filter used to identify an AWS resource", + "type": "object", + "properties": { + "name": { + "description": "Name of the filter. Filter names are case-sensitive", + "type": "string" + }, + "values": { + "description": "Values includes one or more filter values. Filter values are case-sensitive", + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + } + } + } + }, + "id": { + "description": "ID of resource", + "type": "string" + } + } + } + }, + "ami": { + "type": "string" + }, + "az": { + "type": "string" + }, + "dnsName": { + "type": "string" + }, + "iamProfile": { "type": "string" }, "instanceType": { - "description": "EdgeNativeInstanceType defines the instance configuration for a docker container node", - "type": "object", - "properties": { - "diskGiB": { - "description": "DiskGiB is the size of a virtual machine's disk", - "type": "integer", - "format": "int32" - }, - "memoryMiB": { - "description": "MemoryMiB is the size of a virtual machine's memory, in MiB", - "type": "integer", - "format": "int32" - }, - "name": { - "description": "Name is the instance name", - "type": "string" - }, - "numCPUs": { - "description": "NumCPUs is the number of CPUs", - "type": "integer", - "format": "int32" - } - } + "type": "string" }, "nics": { "type": "array", - "uniqueItems": true, "items": { - "description": "Generic network interface", + "description": "AWS network interface", "type": "object", "properties": { "index": { "type": "integer", "format": "int8" }, - "networkName": { - "type": "string" - }, "privateIPs": { "type": "array", "items": { @@ -26157,6 +26081,21 @@ } } } + }, + "phase": { + "type": "string" + }, + "sshKeyName": { + "type": "string" + }, + "subnetId": { + "type": "string" + }, + "type": { + "type": "string" + }, + "vpcId": { + "type": "string" } } }, @@ -26246,21 +26185,20 @@ "tags": [ "v1" ], - "summary": "Updates the specified machine to cloud config's machine pool", - "operationId": "v1CloudConfigsEdgeNativePoolMachinesUidUpdate", + "summary": "Updates the specified machine to the cloud config's machine pool", + "operationId": "v1CloudConfigsEksPoolMachinesUidUpdate", "parameters": [ { "name": "body", "in": "body", "schema": { - "description": "EdgeNative cloud VM definition", + "description": "AWS cloud VM definition", + "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -26268,7 +26206,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -26285,7 +26223,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -26297,61 +26235,90 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, "spec": { - "description": "EdgeNative cloud VM definition spec", + "description": "AWS cloud VM definition spec", "type": "object", + "required": [ + "instanceType", + "vpcId", + "ami" + ], "properties": { - "edgeHostUid": { + "additionalSecurityGroups": { + "description": "Additional Security groups", + "type": "array", + "items": { + "description": "AWSResourceReference is a reference to a specific AWS resource by ID or filters", + "type": "object", + "properties": { + "arn": { + "description": "ARN of resource", + "type": "string" + }, + "filters": { + "description": "Filters is a set of key/value pairs used to identify a resource", + "type": "array", + "uniqueItems": true, + "items": { + "description": "Filter is a filter used to identify an AWS resource", + "type": "object", + "properties": { + "name": { + "description": "Name of the filter. Filter names are case-sensitive", + "type": "string" + }, + "values": { + "description": "Values includes one or more filter values. Filter values are case-sensitive", + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + } + } + } + }, + "id": { + "description": "ID of resource", + "type": "string" + } + } + } + }, + "ami": { + "type": "string" + }, + "az": { + "type": "string" + }, + "dnsName": { + "type": "string" + }, + "iamProfile": { "type": "string" }, "instanceType": { - "description": "EdgeNativeInstanceType defines the instance configuration for a docker container node", - "type": "object", - "properties": { - "diskGiB": { - "description": "DiskGiB is the size of a virtual machine's disk", - "type": "integer", - "format": "int32" - }, - "memoryMiB": { - "description": "MemoryMiB is the size of a virtual machine's memory, in MiB", - "type": "integer", - "format": "int32" - }, - "name": { - "description": "Name is the instance name", - "type": "string" - }, - "numCPUs": { - "description": "NumCPUs is the number of CPUs", - "type": "integer", - "format": "int32" - } - } + "type": "string" }, "nics": { "type": "array", - "uniqueItems": true, "items": { - "description": "Generic network interface", + "description": "AWS network interface", "type": "object", "properties": { "index": { "type": "integer", "format": "int8" }, - "networkName": { - "type": "string" - }, "privateIPs": { "type": "array", "items": { @@ -26363,17 +26330,32 @@ } } } - } - } - }, - "status": { - "description": "cloud machine status", - "type": "object", - "properties": { - "health": { - "description": "Machine health state", - "type": "object", - "properties": { + }, + "phase": { + "type": "string" + }, + "sshKeyName": { + "type": "string" + }, + "subnetId": { + "type": "string" + }, + "type": { + "type": "string" + }, + "vpcId": { + "type": "string" + } + } + }, + "status": { + "description": "cloud machine status", + "type": "object", + "properties": { + "health": { + "description": "Machine health state", + "type": "object", + "properties": { "conditions": { "type": "array", "items": { @@ -26463,8 +26445,8 @@ "tags": [ "v1" ], - "summary": "Deletes the specified edge-native machine", - "operationId": "v1CloudConfigsEdgeNativePoolMachinesUidDelete", + "summary": "Deletes the specified EKS machine", + "operationId": "v1CloudConfigsEksPoolMachinesUidDelete", "parameters": [ { "type": "string", @@ -26503,7 +26485,7 @@ } ] }, - "/v1/cloudconfigs/edge/{configUid}": { + "/v1/cloudconfigs/gcp/{configUid}": { "get": { "security": [ { @@ -26516,8 +26498,8 @@ "tags": [ "v1" ], - "summary": "Returns the specified edge cloud config", - "operationId": "v1CloudConfigsEdgeGet", + "summary": "Returns the specified GCP cloud config", + "operationId": "v1CloudConfigsGcpGet", "parameters": [ { "type": "string", @@ -26530,15 +26512,15 @@ "200": { "description": "OK", "schema": { - "description": "EdgeCloudConfig is the Schema for the Edgecloudconfigs API", + "description": "GcpCloudConfig is the Schema for the gcpcloudconfigs API", "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", "type": "string" }, "kind": { - "description": "Cloud type of the cloud config", + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", "type": "string" }, "metadata": { @@ -26546,7 +26528,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -26563,7 +26545,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -26575,33 +26557,70 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, "spec": { - "description": "EdgeCloudConfigSpec defines the desired state of EdgeCloudConfig", + "description": "GcpCloudConfigSpec defines the cloud configuration input by user This will translate to clusterspec/machinespec for cluster-api", "type": "object", - "required": [ - "clusterConfig", - "machinePoolConfig" - ], "properties": { + "cloudAccountRef": { + "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", + "type": "object", + "properties": { + "kind": { + "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "uid": { + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", + "type": "string" + } + } + }, "clusterConfig": { - "description": "EdgeClusterConfig defines Edge Cluster specific Spec", + "description": "Cluster level configuration for gcp cloud and applicable for all the machine pools", "type": "object", + "required": [ + "project", + "region" + ], "properties": { - "sshKeys": { - "description": "SSHKeys specifies a list of ssh authorized keys to access the vms as a 'spectro' user", - "type": "array", - "items": { - "type": "string" + "managedClusterConfig": { + "description": "GCP managed cluster config", + "type": "object", + "properties": { + "enableAutoPilot": { + "description": "EnableAutopilot indicates whether to enable autopilot for this GKE cluster", + "type": "boolean" + }, + "location": { + "description": "Can be Region or Zone", + "type": "string" + } } + }, + "network": { + "description": "NetworkName if empty would create VPC Network in auto mode. If provided, custom VPC network will be used", + "type": "string" + }, + "project": { + "description": "Name of the project in which cluster is to be deployed", + "type": "string" + }, + "region": { + "description": "GCP region for the cluster", + "type": "string" } } }, @@ -26610,7 +26629,8 @@ "items": { "type": "object", "required": [ - "hosts" + "isControlPlane", + "instanceType" ], "properties": { "additionalLabels": { @@ -26627,50 +26647,49 @@ "type": "string" } }, - "hosts": { + "azs": { "type": "array", "items": { - "description": "EdgeHost of Edge clusters", - "type": "object", - "required": [ - "hostUid", - "hostAddress" - ], - "properties": { - "hostAddress": { - "description": "HostAddress is a FQDN or IP address of the Host", - "type": "string" - }, - "hostIdentity": { - "type": "object", - "properties": { - "caCert": { - "description": "CACert is the client CA certificate", - "type": "string" - }, - "socketPath": { - "description": "SocketPath is an optional path to the socket on the host, if not using defaults", - "type": "string" - } - } - }, - "hostName": { - "description": "HostName is the name of the EdgeHost", - "type": "string" - }, - "hostUid": { - "description": "HostUid is the ID of the EdgeHost", - "type": "string" - } + "type": "string" + } + }, + "instanceConfig": { + "properties": { + "category": { + "type": "string" + }, + "cpuSet": { + "type": "integer", + "format": "int64" + }, + "diskGiB": { + "type": "integer", + "format": "int64" + }, + "memoryMiB": { + "description": "MemoryMiB is the size of a virtual machine's memory, in MiB", + "type": "integer", + "format": "int64" + }, + "name": { + "type": "string" + }, + "numCPUs": { + "description": "NumCPUs is the number of virtual processors in a virtual machine", + "type": "integer", + "format": "int32" } } }, + "instanceType": { + "type": "string" + }, "isControlPlane": { "description": "whether this pool is for control plane", "type": "boolean" }, "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", + "description": "labels for this pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -26708,13 +26727,29 @@ "type": "integer", "format": "int32" }, + "rootDeviceSize": { + "description": "Size of root volume in GB. Default is 30GB", + "type": "integer", + "format": "int64" + }, "size": { "description": "size of the pool, number of machines", "type": "integer", "format": "int32" }, + "subnet": { + "description": "Subnet specifies the subnetwork to use for given instance. If not specified, the first subnet from the cluster region and network is used", + "type": "string" + }, + "subnetIds": { + "description": "AZ to subnet mapping filled by ally from hubble SubnetIDs [\"us-west-2d\"] = \"subnet-079b6061\" This field is optional If we don't provide a subnetId then by default the first private subnet from the AZ will be picked up for deployment", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, "taints": { - "description": "master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -26760,7 +26795,7 @@ } }, "useControlPlaneAsWorker": { - "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean" } } @@ -26769,9 +26804,15 @@ } }, "status": { + "description": "GcpCloudConfigStatus defines the observed state of GcpCloudConfig The cloudimage info built by Mold is stored here image should be mapped to a specific machinepool", "type": "object", "properties": { + "ansibleRoleDigest": { + "description": "For mold controller to identify if is there any changes in Pack", + "type": "string" + }, "conditions": { + "description": "spectroAnsibleProvisioner: should be added only once, subsequent recocile will use the same provisioner SpectroAnsiblePacker bool `json:\"spectroAnsiblePacker,omitempty\"`", "type": "array", "items": { "type": "object", @@ -26807,11 +26848,37 @@ } } }, - "nodeImage": { - "type": "string" + "images": { + "description": "Refers to GCP image", + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "os": { + "type": "string" + }, + "region": { + "type": "string" + }, + "state": { + "type": "string" + } + } + }, + "isAddonLayer": { + "description": "addon layers present in spc", + "type": "boolean" + }, + "roleDigest": { + "description": "this map will be for ansible roles present in each pack", + "type": "object", + "additionalProperties": { + "type": "string" + } }, "sourceImageId": { - "description": "SourceImageId can be from packref's annotations or from pack.json", + "description": "sourceImageId, it can be from packref's annotations or from pack.json", "type": "string" }, "useCapiImage": { @@ -26835,7 +26902,7 @@ } ] }, - "/v1/cloudconfigs/edge/{configUid}/clusterConfig": { + "/v1/cloudconfigs/gcp/{configUid}/clusterConfig": { "put": { "security": [ { @@ -26849,25 +26916,48 @@ "v1" ], "summary": "Updates the cluster configuration information", - "operationId": "v1CloudConfigsEdgeUidClusterConfig", + "operationId": "v1CloudConfigsGcpUidClusterConfig", "parameters": [ { "name": "body", "in": "body", "schema": { - "description": "Edge cloud cluster config entity", + "description": "Gcp cloud cluster config entity", "type": "object", "properties": { "clusterConfig": { - "description": "EdgeClusterConfig defines Edge Cluster specific Spec", + "description": "Cluster level configuration for gcp cloud and applicable for all the machine pools", "type": "object", + "required": [ + "project", + "region" + ], "properties": { - "sshKeys": { - "description": "SSHKeys specifies a list of ssh authorized keys to access the vms as a 'spectro' user", - "type": "array", - "items": { - "type": "string" + "managedClusterConfig": { + "description": "GCP managed cluster config", + "type": "object", + "properties": { + "enableAutoPilot": { + "description": "EnableAutopilot indicates whether to enable autopilot for this GKE cluster", + "type": "boolean" + }, + "location": { + "description": "Can be Region or Zone", + "type": "string" + } } + }, + "network": { + "description": "NetworkName if empty would create VPC Network in auto mode. If provided, custom VPC network will be used", + "type": "string" + }, + "project": { + "description": "Name of the project in which cluster is to be deployed", + "type": "string" + }, + "region": { + "description": "GCP region for the cluster", + "type": "string" } } } @@ -26897,7 +26987,7 @@ } ] }, - "/v1/cloudconfigs/edge/{configUid}/machinePools": { + "/v1/cloudconfigs/gcp/{configUid}/machinePools": { "post": { "security": [ { @@ -26910,29 +27000,50 @@ "tags": [ "v1" ], - "summary": "Creates a edge cloud config's machine pool", - "operationId": "v1CloudConfigsEdgeMachinePoolCreate", + "summary": "Creates a Gcp cloud config's machine pool", + "operationId": "v1CloudConfigsGcpMachinePoolCreate", "parameters": [ { "name": "body", "in": "body", "schema": { "type": "object", + "required": [ + "cloudConfig" + ], "properties": { "cloudConfig": { + "type": "object", "required": [ - "edgeHosts" + "instanceType" ], "properties": { - "edgeHosts": { + "azs": { + "type": "array", + "items": { + "type": "string" + } + }, + "instanceType": { + "type": "string" + }, + "rootDeviceSize": { + "description": "Size of root volume in GB. Default is 30GB", + "type": "integer", + "format": "int64" + }, + "subnet": { + "description": "Subnet specifies the subnetwork to use for given instance. If not specified, the first subnet from the cluster region and network is used", + "type": "string" + }, + "subnets": { "type": "array", - "uniqueItems": true, "items": { - "required": [ - "hostUid" - ], "properties": { - "hostUid": { + "az": { + "type": "string" + }, + "id": { "type": "string" } } @@ -26969,7 +27080,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -27013,7 +27124,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -27059,7 +27170,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -27108,7 +27219,7 @@ } ] }, - "/v1/cloudconfigs/edge/{configUid}/machinePools/{machinePoolName}": { + "/v1/cloudconfigs/gcp/{configUid}/machinePools/{machinePoolName}": { "put": { "security": [ { @@ -27121,29 +27232,50 @@ "tags": [ "v1" ], - "summary": "Updates the specified Edge cloud config's machine pool", - "operationId": "v1CloudConfigsEdgeMachinePoolUpdate", + "summary": "Updates the specified GCP cloud config's machine pool", + "operationId": "v1CloudConfigsGcpMachinePoolUpdate", "parameters": [ { "name": "body", "in": "body", "schema": { "type": "object", + "required": [ + "cloudConfig" + ], "properties": { "cloudConfig": { + "type": "object", "required": [ - "edgeHosts" + "instanceType" ], "properties": { - "edgeHosts": { + "azs": { + "type": "array", + "items": { + "type": "string" + } + }, + "instanceType": { + "type": "string" + }, + "rootDeviceSize": { + "description": "Size of root volume in GB. Default is 30GB", + "type": "integer", + "format": "int64" + }, + "subnet": { + "description": "Subnet specifies the subnetwork to use for given instance. If not specified, the first subnet from the cluster region and network is used", + "type": "string" + }, + "subnets": { "type": "array", - "uniqueItems": true, "items": { - "required": [ - "hostUid" - ], "properties": { - "hostUid": { + "az": { + "type": "string" + }, + "id": { "type": "string" } } @@ -27180,7 +27312,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -27224,7 +27356,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -27270,7 +27402,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -27305,7 +27437,7 @@ "v1" ], "summary": "Deletes the specified machine pool", - "operationId": "v1CloudConfigsEdgeMachinePoolDelete", + "operationId": "v1CloudConfigsGcpMachinePoolDelete", "parameters": [ { "type": "string", @@ -27337,7 +27469,7 @@ } ] }, - "/v1/cloudconfigs/edge/{configUid}/machinePools/{machinePoolName}/machines": { + "/v1/cloudconfigs/gcp/{configUid}/machinePools/{machinePoolName}/machines": { "get": { "security": [ { @@ -27350,9 +27482,48 @@ "tags": [ "v1" ], - "summary": "Retrieves a list of Edge machines", - "operationId": "v1CloudConfigsEdgePoolMachinesList", + "summary": "Retrieves a list of GCP machines", + "operationId": "v1CloudConfigsGcpPoolMachinesList", "parameters": [ + { + "type": "string", + "description": "Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name", + "name": "fields", + "in": "query" + }, + { + "type": "string", + "description": "Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.", + "name": "filters", + "in": "query" + }, + { + "type": "string", + "description": "Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1", + "name": "orderBy", + "in": "query" + }, + { + "type": "integer", + "format": "int64", + "default": 50, + "description": "limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "name": "limit", + "in": "query" + }, + { + "type": "integer", + "format": "int64", + "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", + "name": "offset", + "in": "query" + }, + { + "type": "string", + "description": "continue token to paginate the subsequent data items", + "name": "continue", + "in": "query" + }, { "type": "string", "description": "Scope the request to the specified project uid", @@ -27362,9 +27533,9 @@ ], "responses": { "200": { - "description": "An array of Edge machine items", + "description": "An array of GCP machine items", "schema": { - "description": "Edge machine list", + "description": "GCP machine list", "type": "object", "required": [ "items" @@ -27374,15 +27545,13 @@ "type": "array", "uniqueItems": true, "items": { - "description": "Edge cloud VM definition", + "description": "GCP cloud VM definition", "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -27390,7 +27559,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -27407,7 +27576,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -27419,69 +27588,93 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, "spec": { - "description": "Edge cloud VM definition spec", + "description": "GCP cloud VM definition spec", "type": "object", + "required": [ + "instanceType" + ], "properties": { - "bootstrapped": { - "type": "boolean" - }, - "customImage": { - "type": "string" - }, - "edgeHostUid": { + "image": { "type": "string" }, - "instanceType": { - "description": "EdgeInstanceType defines the instance configuration for a docker container node", - "type": "object", - "required": [ - "numCPUs", - "memoryInMB" - ], + "instanceConfig": { "properties": { - "memoryInMB": { - "description": "MemoryinMB is the memory in megabytes", + "category": { + "type": "string" + }, + "cpuSet": { "type": "integer", - "format": "int32" + "format": "int64" + }, + "diskGiB": { + "type": "integer", + "format": "int64" + }, + "memoryMiB": { + "description": "MemoryMiB is the size of a virtual machine's memory, in MiB", + "type": "integer", + "format": "int64" + }, + "name": { + "type": "string" }, "numCPUs": { - "description": "NumCPUs is the number of CPUs", + "description": "NumCPUs is the number of virtual processors in a virtual machine", "type": "integer", "format": "int32" } } }, - "loadBalancerConfigured": { - "type": "boolean" + "instanceType": { + "type": "string" }, - "mounts": { + "nics": { "type": "array", - "uniqueItems": true, "items": { - "description": "Edge mounts", + "description": "GCP network interface", "type": "object", "properties": { - "containerPath": { - "type": "string" + "index": { + "type": "integer", + "format": "int8" }, - "hostPath": { + "networkName": { "type": "string" }, - "readonly": { - "type": "boolean" + "privateIPs": { + "type": "array", + "items": { + "type": "string" + } + }, + "publicIp": { + "type": "string" } } } + }, + "project": { + "type": "string" + }, + "region": { + "type": "string" + }, + "rootDeviceSize": { + "type": "integer", + "format": "int64" + }, + "zone": { + "type": "string" } } }, @@ -27556,6 +27749,32 @@ } } } + }, + "listmeta": { + "description": "ListMeta describes metadata for the resource listing", + "type": "object", + "properties": { + "continue": { + "description": "Next token for the pagination. Next token is equal to empty string indicates end of result set.", + "type": "string", + "x-omitempty": false + }, + "count": { + "description": "Total count of the resources which might change during pagination based on the resources addition or deletion", + "type": "integer", + "x-omitempty": false + }, + "limit": { + "description": "Number of records feteched", + "type": "integer", + "x-omitempty": false + }, + "offset": { + "description": "The next offset for the pagination. Starting index for which next request will be placed.", + "type": "integer", + "x-omitempty": false + } + } } } } @@ -27574,22 +27793,20 @@ "tags": [ "v1" ], - "summary": "Adds the Edge machine to cloud config's machine pool", - "operationId": "v1CloudConfigsEdgePoolMachinesAdd", + "summary": "Adds the machine to cloud config's machine pool", + "operationId": "v1CloudConfigsGcpPoolMachinesAdd", "parameters": [ { "name": "body", "in": "body", "schema": { - "description": "Edge cloud VM definition", + "description": "GCP cloud VM definition", "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -27597,7 +27814,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -27614,7 +27831,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -27626,69 +27843,93 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, "spec": { - "description": "Edge cloud VM definition spec", + "description": "GCP cloud VM definition spec", "type": "object", + "required": [ + "instanceType" + ], "properties": { - "bootstrapped": { - "type": "boolean" - }, - "customImage": { - "type": "string" - }, - "edgeHostUid": { + "image": { "type": "string" }, - "instanceType": { - "description": "EdgeInstanceType defines the instance configuration for a docker container node", - "type": "object", - "required": [ - "numCPUs", - "memoryInMB" - ], + "instanceConfig": { "properties": { - "memoryInMB": { - "description": "MemoryinMB is the memory in megabytes", + "category": { + "type": "string" + }, + "cpuSet": { "type": "integer", - "format": "int32" + "format": "int64" + }, + "diskGiB": { + "type": "integer", + "format": "int64" + }, + "memoryMiB": { + "description": "MemoryMiB is the size of a virtual machine's memory, in MiB", + "type": "integer", + "format": "int64" + }, + "name": { + "type": "string" }, "numCPUs": { - "description": "NumCPUs is the number of CPUs", + "description": "NumCPUs is the number of virtual processors in a virtual machine", "type": "integer", "format": "int32" } } }, - "loadBalancerConfigured": { - "type": "boolean" + "instanceType": { + "type": "string" }, - "mounts": { + "nics": { "type": "array", - "uniqueItems": true, "items": { - "description": "Edge mounts", + "description": "GCP network interface", "type": "object", "properties": { - "containerPath": { - "type": "string" + "index": { + "type": "integer", + "format": "int8" }, - "hostPath": { + "networkName": { "type": "string" }, - "readonly": { - "type": "boolean" + "privateIPs": { + "type": "array", + "items": { + "type": "string" + } + }, + "publicIp": { + "type": "string" } } } + }, + "project": { + "type": "string" + }, + "region": { + "type": "string" + }, + "rootDeviceSize": { + "type": "integer", + "format": "int64" + }, + "zone": { + "type": "string" } } }, @@ -27811,7 +28052,7 @@ } ] }, - "/v1/cloudconfigs/edge/{configUid}/machinePools/{machinePoolName}/machines/{machineUid}": { + "/v1/cloudconfigs/gcp/{configUid}/machinePools/{machinePoolName}/machines/{machineUid}": { "get": { "security": [ { @@ -27824,8 +28065,8 @@ "tags": [ "v1" ], - "summary": "Returns the specified Edge machine", - "operationId": "v1CloudConfigsEdgePoolMachinesUidGet", + "summary": "Returns the specified GCP machine", + "operationId": "v1CloudConfigsGcpPoolMachinesUidGet", "parameters": [ { "type": "string", @@ -27838,15 +28079,13 @@ "200": { "description": "OK", "schema": { - "description": "Edge cloud VM definition", + "description": "GCP cloud VM definition", "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -27854,7 +28093,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -27871,7 +28110,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -27883,69 +28122,93 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, "spec": { - "description": "Edge cloud VM definition spec", + "description": "GCP cloud VM definition spec", "type": "object", + "required": [ + "instanceType" + ], "properties": { - "bootstrapped": { - "type": "boolean" - }, - "customImage": { - "type": "string" - }, - "edgeHostUid": { + "image": { "type": "string" }, - "instanceType": { - "description": "EdgeInstanceType defines the instance configuration for a docker container node", - "type": "object", - "required": [ - "numCPUs", - "memoryInMB" - ], + "instanceConfig": { "properties": { - "memoryInMB": { - "description": "MemoryinMB is the memory in megabytes", + "category": { + "type": "string" + }, + "cpuSet": { "type": "integer", - "format": "int32" + "format": "int64" + }, + "diskGiB": { + "type": "integer", + "format": "int64" + }, + "memoryMiB": { + "description": "MemoryMiB is the size of a virtual machine's memory, in MiB", + "type": "integer", + "format": "int64" + }, + "name": { + "type": "string" }, "numCPUs": { - "description": "NumCPUs is the number of CPUs", + "description": "NumCPUs is the number of virtual processors in a virtual machine", "type": "integer", "format": "int32" } } }, - "loadBalancerConfigured": { - "type": "boolean" + "instanceType": { + "type": "string" }, - "mounts": { + "nics": { "type": "array", - "uniqueItems": true, "items": { - "description": "Edge mounts", + "description": "GCP network interface", "type": "object", "properties": { - "containerPath": { - "type": "string" + "index": { + "type": "integer", + "format": "int8" }, - "hostPath": { + "networkName": { "type": "string" }, - "readonly": { - "type": "boolean" + "privateIPs": { + "type": "array", + "items": { + "type": "string" + } + }, + "publicIp": { + "type": "string" } } } + }, + "project": { + "type": "string" + }, + "region": { + "type": "string" + }, + "rootDeviceSize": { + "type": "integer", + "format": "int64" + }, + "zone": { + "type": "string" } } }, @@ -28035,22 +28298,20 @@ "tags": [ "v1" ], - "summary": "Updates the specified machine to cloud config's machine pool", - "operationId": "v1CloudConfigsEdgePoolMachinesUidUpdate", + "summary": "Updates the specified machine to the cloud config's machine pool", + "operationId": "v1CloudConfigsGcpPoolMachinesUidUpdate", "parameters": [ { "name": "body", "in": "body", "schema": { - "description": "Edge cloud VM definition", + "description": "GCP cloud VM definition", "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -28058,7 +28319,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -28075,7 +28336,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -28087,69 +28348,93 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, "spec": { - "description": "Edge cloud VM definition spec", + "description": "GCP cloud VM definition spec", "type": "object", + "required": [ + "instanceType" + ], "properties": { - "bootstrapped": { - "type": "boolean" - }, - "customImage": { - "type": "string" - }, - "edgeHostUid": { + "image": { "type": "string" }, - "instanceType": { - "description": "EdgeInstanceType defines the instance configuration for a docker container node", - "type": "object", - "required": [ - "numCPUs", - "memoryInMB" - ], + "instanceConfig": { "properties": { - "memoryInMB": { - "description": "MemoryinMB is the memory in megabytes", + "category": { + "type": "string" + }, + "cpuSet": { "type": "integer", - "format": "int32" + "format": "int64" + }, + "diskGiB": { + "type": "integer", + "format": "int64" + }, + "memoryMiB": { + "description": "MemoryMiB is the size of a virtual machine's memory, in MiB", + "type": "integer", + "format": "int64" + }, + "name": { + "type": "string" }, "numCPUs": { - "description": "NumCPUs is the number of CPUs", + "description": "NumCPUs is the number of virtual processors in a virtual machine", "type": "integer", "format": "int32" } } }, - "loadBalancerConfigured": { - "type": "boolean" + "instanceType": { + "type": "string" }, - "mounts": { + "nics": { "type": "array", - "uniqueItems": true, "items": { - "description": "Edge mounts", + "description": "GCP network interface", "type": "object", "properties": { - "containerPath": { - "type": "string" + "index": { + "type": "integer", + "format": "int8" }, - "hostPath": { + "networkName": { "type": "string" }, - "readonly": { - "type": "boolean" + "privateIPs": { + "type": "array", + "items": { + "type": "string" + } + }, + "publicIp": { + "type": "string" } } } + }, + "project": { + "type": "string" + }, + "region": { + "type": "string" + }, + "rootDeviceSize": { + "type": "integer", + "format": "int64" + }, + "zone": { + "type": "string" } } }, @@ -28250,8 +28535,8 @@ "tags": [ "v1" ], - "summary": "Deletes the specified Edge machine", - "operationId": "v1CloudConfigsEdgePoolMachinesUidDelete", + "summary": "Deletes the specified GCP machine", + "operationId": "v1CloudConfigsGcpPoolMachinesUidDelete", "parameters": [ { "type": "string", @@ -28290,7 +28575,7 @@ } ] }, - "/v1/cloudconfigs/eks/{configUid}": { + "/v1/cloudconfigs/generic/{configUid}": { "get": { "security": [ { @@ -28303,8 +28588,8 @@ "tags": [ "v1" ], - "summary": "Returns the specified EKS cloud config", - "operationId": "v1CloudConfigsEksGet", + "summary": "Returns the specified Generic cloud config", + "operationId": "v1CloudConfigsGenericGet", "parameters": [ { "type": "string", @@ -28317,15 +28602,9 @@ "200": { "description": "OK", "schema": { - "description": "EksCloudConfig is the Schema for the ekscloudconfigs API", - "type": "object", + "description": "Generic CloudConfig for all cloud types", "properties": { - "apiVersion": { - "description": "Deprecated. Not used for the resource info. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - "type": "string" - }, "kind": { - "description": "Cloud type of the cloud config", "type": "string" }, "metadata": { @@ -28333,7 +28612,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -28350,7 +28629,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -28362,17 +28641,17 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, "spec": { - "description": "EksCloudConfigSpec defines the cloud configuration input by user", + "description": "Generic CloudConfig spec for all cloud types", "type": "object", "properties": { "cloudAccountRef": { @@ -28384,173 +28663,66 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } }, "clusterConfig": { - "description": "EksClusterConfig defines EKS specific config", + "description": "Generic cluster config", "type": "object", - "required": [ - "region" - ], "properties": { - "addons": { - "description": "Addons defines the EKS addons to enable with the EKS cluster. This may be required for brownfield clusters", - "type": "array", - "items": { - "description": "EksAddon represents a EKS addon", - "type": "object", - "required": [ - "name", - "version" - ], - "properties": { - "conflictResolution": { - "description": "ConflictResolution is used to declare what should happen if there are parameter conflicts.", - "type": "string" - }, - "name": { - "description": "Name is the name of the addon", - "type": "string" - }, - "serviceAccountRoleARN": { - "description": "ServiceAccountRoleArn is the ARN of an IAM role to bind to the addons service account", - "type": "string" - }, - "version": { - "description": "Version is the version of the addon to use", - "type": "string" - } - } - } - }, - "bastionDisabled": { - "description": "BastionDisabled is the option to disable bastion node", - "type": "boolean" - }, - "controlPlaneLoadBalancer": { - "description": "ControlPlaneLoadBalancer specifies how API server elb will be configured, this field is optional, not provided, \"\", default =\u003e \"Internet-facing\" \"Internet-facing\" =\u003e \"Internet-facing\" \"internal\" =\u003e \"internal\" For spectro saas setup we require to talk to the apiserver from our cluster so ControlPlaneLoadBalancer should be \"\", not provided or \"Internet-facing\"", - "type": "string" - }, - "encryptionConfig": { - "description": "EncryptionConfig specifies the encryption configuration for the EKS clsuter.", - "type": "object", - "properties": { - "isEnabled": { - "description": "Is encryption configuration enabled for the cluster", - "type": "boolean" - }, - "provider": { - "description": "Provider specifies the ARN or alias of the CMK (in AWS KMS)", - "type": "string" - }, - "resources": { - "description": "Resources specifies the resources to be encrypted", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "endpointAccess": { - "description": "EndpointAccess specifies how control plane endpoints are accessible", + "instanceType": { "type": "object", "properties": { - "private": { - "description": "Private points VPC-internal control plane access to the private endpoint", - "type": "boolean" + "diskGiB": { + "description": "DiskGiB is the size of a virtual machine's disk, in GiB", + "type": "integer", + "format": "int32" }, - "privateCIDRs": { - "description": "PrivateCIDRs specifies which blocks can access the private endpoint", - "type": "array", - "items": { - "type": "string" - } + "memoryMiB": { + "description": "MemoryMiB is the size of a virtual machine's memory, in MiB", + "type": "integer", + "format": "int64" }, - "public": { - "description": "Public controls whether control plane endpoints are publicly accessible", - "type": "boolean" + "name": { + "type": "string" }, - "publicCIDRs": { - "description": "PublicCIDRs specifies which blocks can access the public endpoint", - "type": "array", - "items": { - "type": "string" - } + "numCPUs": { + "description": "NumCPUs is the number of virtual processors in a virtual machine", + "type": "integer", + "format": "int32" } } }, "region": { - "description": "The AWS Region the cluster lives in.", - "type": "string" - }, - "sshKeyName": { - "description": "SSHKeyName specifies which EC2 SSH key can be used to access machines.", - "type": "string" - }, - "vpcId": { - "description": "VPC Id to deploy cluster into should have one public and one private subnet for the the cluster creation, this field is optional, If VPC Id is not provided a fully managed VPC will be created", + "description": "cluster region information", "type": "string" } } }, - "fargateProfiles": { + "edgeHostRefs": { + "description": "Appliances (Edge Host) uids", "type": "array", "items": { - "description": "FargateProfile defines the desired state of FargateProfile", + "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", "type": "object", - "required": [ - "name" - ], "properties": { - "additionalTags": { - "description": "AdditionalTags is an optional set of tags to add to AWS resources managed by the AWS provider, in addition to the ones added by default.", - "type": "object", - "additionalProperties": { - "type": "string" - } + "kind": { + "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" }, "name": { - "description": "name specifies the profile name.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, - "selectors": { - "description": "Selectors specify fargate pod selectors.", - "type": "array", - "items": { - "description": "FargateSelector specifies a selector for pods that should run on this fargate pool", - "type": "object", - "required": [ - "namespace" - ], - "properties": { - "labels": { - "description": "Labels specifies which pod labels this selector should match.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "namespace": { - "description": "Namespace specifies which namespace this selector should match.", - "type": "string" - } - } - } - }, - "subnetIds": { - "description": "SubnetIDs specifies which subnets are used for the auto scaling group of this nodegroup.", - "type": "array", - "items": { - "type": "string" - } + "uid": { + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", + "type": "string" } } } @@ -28563,228 +28735,25 @@ "isControlPlane" ], "properties": { - "additionalLabels": { - "description": "additionalLabels", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "additionalTags": { - "description": "AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "awsLaunchTemplate": { - "description": "AWSLaunchTemplate specifies the launch template to use to create the managed node group", - "type": "object", - "properties": { - "additionalSecurityGroups": { - "description": "AdditionalSecurityGroups is an array of references to security groups that should be applied to the instances", - "type": "array", - "uniqueItems": true, - "items": { - "description": "AWSResourceReference is a reference to a specific AWS resource by ID or filters", - "type": "object", - "properties": { - "arn": { - "description": "ARN of resource", - "type": "string" - }, - "filters": { - "description": "Filters is a set of key/value pairs used to identify a resource", - "type": "array", - "uniqueItems": true, - "items": { - "description": "Filter is a filter used to identify an AWS resource", - "type": "object", - "properties": { - "name": { - "description": "Name of the filter. Filter names are case-sensitive", - "type": "string" - }, - "values": { - "description": "Values includes one or more filter values. Filter values are case-sensitive", - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - } - } - } - }, - "id": { - "description": "ID of resource", - "type": "string" - } - } - } - }, - "ami": { - "description": "AMI is the reference to the AMI from which to create the machine instance", - "type": "object", - "properties": { - "eksOptimizedLookupType": { - "description": "EKSOptimizedLookupType If specified, will look up an EKS Optimized image in SSM Parameter store", - "type": "string", - "enum": [ - "AmazonLinux", - "AmazonLinuxGPU" - ] - }, - "id": { - "description": "ID of resource", - "type": "string" - } - } - }, - "imageLookupBaseOS": { - "description": "ImageLookupBaseOS is the name of the base operating system to use for image lookup the AMI is not set", - "type": "string" - }, - "imageLookupFormat": { - "description": "ImageLookupFormat is the AMI naming format to look up the image", - "type": "string" - }, - "imageLookupOrg": { - "description": "ImageLookupOrg is the AWS Organization ID to use for image lookup if AMI is not set", - "type": "string" - }, - "rootVolume": { - "description": "Volume encapsulates the configuration options for the storage device.", - "type": "object", - "properties": { - "deviceName": { - "description": "Device name", - "type": "string" - }, - "encrypted": { - "description": "EncryptionKey is the KMS key to use to encrypt the volume. Can be either a KMS key ID or ARN", - "type": "boolean" - }, - "encryptionKey": { - "description": "EncryptionKey is the KMS key to use to encrypt the volume. Can be either a KMS key ID or ARN", - "type": "string" - }, - "iops": { - "description": "IOPS is the number of IOPS requested for the disk. Not applicable to all types", - "type": "integer", - "format": "int64" - }, - "throughput": { - "description": "Throughput to provision in MiB/s supported for the volume type. Not applicable to all types.", - "type": "integer", - "format": "int64" - }, - "type": { - "description": "Type is the type of the volume (e.g. gp2, io1, etc...)", - "type": "string" - } - } - } - } - }, - "azs": { - "description": "AZs is only used for dynamic placement", - "type": "array", - "items": { - "type": "string" - } - }, - "capacityType": { - "description": "EC2 instance capacity type", - "type": "string", - "default": "on-demand", - "enum": [ - "on-demand", - "spot" - ] - }, - "enableAwsLaunchTemplate": { - "description": "flag to know if aws launch template is enabled", - "type": "boolean" - }, - "instanceConfig": { - "properties": { - "category": { - "type": "string" - }, - "cpuSet": { - "type": "integer", - "format": "int64" - }, - "diskGiB": { - "type": "integer", - "format": "int64" - }, - "memoryMiB": { - "description": "MemoryMiB is the size of a virtual machine's memory, in MiB", - "type": "integer", - "format": "int64" - }, - "name": { - "type": "string" - }, - "numCPUs": { - "description": "NumCPUs is the number of virtual processors in a virtual machine", - "type": "integer", - "format": "int32" - } - } - }, "instanceType": { - "description": "instance type", "type": "string" }, "isControlPlane": { "description": "whether this pool is for control plane", - "type": "boolean", - "x-omitempty": false + "type": "boolean" }, "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", + "description": "labels for this pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" } }, - "machinePoolProperties": { - "description": "Machine pool specific properties", - "type": "object", - "properties": { - "archType": { - "type": "string", - "default": "amd64", - "enum": [ - "amd64", - "arm64" - ] - } - } - }, - "maxSize": { - "description": "max size of the pool, for scaling", - "type": "integer", - "format": "int32" - }, - "minSize": { - "description": "min size of the pool, for scaling", - "type": "integer", - "format": "int32" - }, "name": { "type": "string" }, - "nodeRepaveInterval": { - "description": "Minimum number of seconds a node should be Ready, before the next node is selected for repave. Applicable only for workerpools in infrastructure cluster", - "type": "integer", - "format": "int32" - }, "rootDeviceSize": { - "description": "rootDeviceSize in GBs", + "description": "Size of root volume in GB. Default is 30GB", "type": "integer", "format": "int64" }, @@ -28793,73 +28762,9 @@ "type": "integer", "format": "int32" }, - "spotMarketOptions": { - "description": "SpotMarketOptions defines the options available to a user when configuring Machines to run on Spot instances. Most users should provide an empty struct.", - "type": "object", - "properties": { - "maxPrice": { - "description": "MaxPrice defines the maximum price the user is willing to pay for Spot VM instances", - "type": "string" - } - } - }, - "subnetIds": { - "description": "AZ to subnet mapping filled by ally from hubble SubnetIDs [\"us-west-2d\"] = \"subnet-079b6061\" This field is optional If we don't provide a subnetId then by default the first private subnet from the AZ will be picked up for deployment", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "taints": { - "description": "master or worker taints", - "type": "array", - "uniqueItems": true, - "items": { - "description": "Taint", - "type": "object", - "properties": { - "effect": { - "type": "string", - "enum": [ - "NoSchedule", - "PreferNoSchedule", - "NoExecute" - ] - }, - "key": { - "description": "The taint key to be applied to a node", - "type": "string" - }, - "timeAdded": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "value": { - "description": "The taint value corresponding to the taint key.", - "type": "string" - } - } - } - }, - "updateStrategy": { - "description": "UpdatesStrategy will be used to translate to RollingUpdateStrategy of a MachineDeployment We'll start with default values for the translation, can expose more details later Following is details of parameters translated from the type ScaleOut =\u003e maxSurge=1, maxUnavailable=0 ScaleIn =\u003e maxSurge=0, maxUnavailable=1", - "type": "object", - "properties": { - "type": { - "description": "update strategy, either ScaleOut or ScaleIn if empty, will default to RollingUpdateScaleOut", - "type": "string", - "enum": [ - "RollingUpdateScaleOut", - "RollingUpdateScaleIn" - ] - } - } - }, "useControlPlaneAsWorker": { - "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", - "type": "boolean", - "x-omitempty": false + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", + "type": "boolean" } } } @@ -28881,7 +28786,7 @@ } ] }, - "/v1/cloudconfigs/eks/{configUid}/clusterConfig": { + "/v1/cloudconfigs/generic/{configUid}/clusterConfig": { "put": { "security": [ { @@ -28895,119 +28800,44 @@ "v1" ], "summary": "Updates the cluster configuration information", - "operationId": "v1CloudConfigsEksUidClusterConfig", + "operationId": "v1CloudConfigsGenericUidClusterConfig", "parameters": [ { "name": "body", "in": "body", "schema": { - "description": "EKS cloud cluster config entity", + "description": "Generic cloud cluster config entity", "type": "object", "properties": { "clusterConfig": { - "description": "EksClusterConfig defines EKS specific config", + "description": "Generic cluster config", "type": "object", - "required": [ - "region" - ], "properties": { - "addons": { - "description": "Addons defines the EKS addons to enable with the EKS cluster. This may be required for brownfield clusters", - "type": "array", - "items": { - "description": "EksAddon represents a EKS addon", - "type": "object", - "required": [ - "name", - "version" - ], - "properties": { - "conflictResolution": { - "description": "ConflictResolution is used to declare what should happen if there are parameter conflicts.", - "type": "string" - }, - "name": { - "description": "Name is the name of the addon", - "type": "string" - }, - "serviceAccountRoleARN": { - "description": "ServiceAccountRoleArn is the ARN of an IAM role to bind to the addons service account", - "type": "string" - }, - "version": { - "description": "Version is the version of the addon to use", - "type": "string" - } - } - } - }, - "bastionDisabled": { - "description": "BastionDisabled is the option to disable bastion node", - "type": "boolean" - }, - "controlPlaneLoadBalancer": { - "description": "ControlPlaneLoadBalancer specifies how API server elb will be configured, this field is optional, not provided, \"\", default =\u003e \"Internet-facing\" \"Internet-facing\" =\u003e \"Internet-facing\" \"internal\" =\u003e \"internal\" For spectro saas setup we require to talk to the apiserver from our cluster so ControlPlaneLoadBalancer should be \"\", not provided or \"Internet-facing\"", - "type": "string" - }, - "encryptionConfig": { - "description": "EncryptionConfig specifies the encryption configuration for the EKS clsuter.", - "type": "object", - "properties": { - "isEnabled": { - "description": "Is encryption configuration enabled for the cluster", - "type": "boolean" - }, - "provider": { - "description": "Provider specifies the ARN or alias of the CMK (in AWS KMS)", - "type": "string" - }, - "resources": { - "description": "Resources specifies the resources to be encrypted", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "endpointAccess": { - "description": "EndpointAccess specifies how control plane endpoints are accessible", + "instanceType": { "type": "object", "properties": { - "private": { - "description": "Private points VPC-internal control plane access to the private endpoint", - "type": "boolean" + "diskGiB": { + "description": "DiskGiB is the size of a virtual machine's disk, in GiB", + "type": "integer", + "format": "int32" }, - "privateCIDRs": { - "description": "PrivateCIDRs specifies which blocks can access the private endpoint", - "type": "array", - "items": { - "type": "string" - } + "memoryMiB": { + "description": "MemoryMiB is the size of a virtual machine's memory, in MiB", + "type": "integer", + "format": "int64" }, - "public": { - "description": "Public controls whether control plane endpoints are publicly accessible", - "type": "boolean" + "name": { + "type": "string" }, - "publicCIDRs": { - "description": "PublicCIDRs specifies which blocks can access the public endpoint", - "type": "array", - "items": { - "type": "string" - } + "numCPUs": { + "description": "NumCPUs is the number of virtual processors in a virtual machine", + "type": "integer", + "format": "int32" } } }, "region": { - "description": "The AWS Region the cluster lives in.", - "type": "string" - }, - "sshKeyName": { - "description": "SSHKeyName specifies which EC2 SSH key can be used to access machines.", - "type": "string" - }, - "vpcId": { - "description": "VPC Id to deploy cluster into should have one public and one private subnet for the the cluster creation, this field is optional, If VPC Id is not provided a fully managed VPC will be created", + "description": "cluster region information", "type": "string" } } @@ -29038,110 +28868,7 @@ } ] }, - "/v1/cloudconfigs/eks/{configUid}/fargateProfiles": { - "put": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Updates EKS cloud config's fargate profiles", - "operationId": "v1CloudConfigsEksUidFargateProfilesUpdate", - "parameters": [ - { - "name": "body", - "in": "body", - "schema": { - "description": "Fargate profiles", - "type": "object", - "properties": { - "fargateProfiles": { - "type": "array", - "items": { - "description": "FargateProfile defines the desired state of FargateProfile", - "type": "object", - "required": [ - "name" - ], - "properties": { - "additionalTags": { - "description": "AdditionalTags is an optional set of tags to add to AWS resources managed by the AWS provider, in addition to the ones added by default.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "name": { - "description": "name specifies the profile name.", - "type": "string" - }, - "selectors": { - "description": "Selectors specify fargate pod selectors.", - "type": "array", - "items": { - "description": "FargateSelector specifies a selector for pods that should run on this fargate pool", - "type": "object", - "required": [ - "namespace" - ], - "properties": { - "labels": { - "description": "Labels specifies which pod labels this selector should match.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "namespace": { - "description": "Namespace specifies which namespace this selector should match.", - "type": "string" - } - } - } - }, - "subnetIds": { - "description": "SubnetIDs specifies which subnets are used for the auto scaling group of this nodegroup.", - "type": "array", - "items": { - "type": "string" - } - } - } - } - } - } - } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "204": { - "description": "The resource was updated successfully" - } - } - }, - "parameters": [ - { - "type": "string", - "description": "Cluster's cloud config uid", - "name": "configUid", - "in": "path", - "required": true - } - ] - }, - "/v1/cloudconfigs/eks/{configUid}/machinePools": { + "/v1/cloudconfigs/generic/{configUid}/machinePools": { "post": { "security": [ { @@ -29154,8 +28881,8 @@ "tags": [ "v1" ], - "summary": "Creates an EKS cloud config's machine pool", - "operationId": "v1CloudConfigsEksMachinePoolCreate", + "summary": "Creates a generic cloud config's machine pool", + "operationId": "v1CloudConfigsGenericMachinePoolCreate", "parameters": [ { "name": "body", @@ -29163,169 +28890,35 @@ "schema": { "properties": { "cloudConfig": { + "description": "Generic cluster config", + "type": "object", "properties": { - "awsLaunchTemplate": { - "description": "AWSLaunchTemplate specifies the launch template to use to create the managed node group", + "instanceType": { "type": "object", "properties": { - "additionalSecurityGroups": { - "description": "AdditionalSecurityGroups is an array of references to security groups that should be applied to the instances", - "type": "array", - "uniqueItems": true, - "items": { - "description": "AWSResourceReference is a reference to a specific AWS resource by ID or filters", - "type": "object", - "properties": { - "arn": { - "description": "ARN of resource", - "type": "string" - }, - "filters": { - "description": "Filters is a set of key/value pairs used to identify a resource", - "type": "array", - "uniqueItems": true, - "items": { - "description": "Filter is a filter used to identify an AWS resource", - "type": "object", - "properties": { - "name": { - "description": "Name of the filter. Filter names are case-sensitive", - "type": "string" - }, - "values": { - "description": "Values includes one or more filter values. Filter values are case-sensitive", - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - } - } - } - }, - "id": { - "description": "ID of resource", - "type": "string" - } - } - } - }, - "ami": { - "description": "AMI is the reference to the AMI from which to create the machine instance", - "type": "object", - "properties": { - "eksOptimizedLookupType": { - "description": "EKSOptimizedLookupType If specified, will look up an EKS Optimized image in SSM Parameter store", - "type": "string", - "enum": [ - "AmazonLinux", - "AmazonLinuxGPU" - ] - }, - "id": { - "description": "ID of resource", - "type": "string" - } - } - }, - "imageLookupBaseOS": { - "description": "ImageLookupBaseOS is the name of the base operating system to use for image lookup the AMI is not set", - "type": "string" + "diskGiB": { + "description": "DiskGiB is the size of a virtual machine's disk, in GiB", + "type": "integer", + "format": "int32" }, - "imageLookupFormat": { - "description": "ImageLookupFormat is the AMI naming format to look up the image", - "type": "string" + "memoryMiB": { + "description": "MemoryMiB is the size of a virtual machine's memory, in MiB", + "type": "integer", + "format": "int64" }, - "imageLookupOrg": { - "description": "ImageLookupOrg is the AWS Organization ID to use for image lookup if AMI is not set", + "name": { "type": "string" }, - "rootVolume": { - "description": "Volume encapsulates the configuration options for the storage device.", - "type": "object", - "properties": { - "deviceName": { - "description": "Device name", - "type": "string" - }, - "encrypted": { - "description": "EncryptionKey is the KMS key to use to encrypt the volume. Can be either a KMS key ID or ARN", - "type": "boolean" - }, - "encryptionKey": { - "description": "EncryptionKey is the KMS key to use to encrypt the volume. Can be either a KMS key ID or ARN", - "type": "string" - }, - "iops": { - "description": "IOPS is the number of IOPS requested for the disk. Not applicable to all types", - "type": "integer", - "format": "int64" - }, - "throughput": { - "description": "Throughput to provision in MiB/s supported for the volume type. Not applicable to all types.", - "type": "integer", - "format": "int64" - }, - "type": { - "description": "Type is the type of the volume (e.g. gp2, io1, etc...)", - "type": "string" - } - } + "numCPUs": { + "description": "NumCPUs is the number of virtual processors in a virtual machine", + "type": "integer", + "format": "int32" } } }, - "azs": { - "type": "array", - "items": { - "type": "string" - } - }, - "capacityType": { - "description": "EC2 instance capacity type", - "type": "string", - "default": "on-demand", - "enum": [ - "on-demand", - "spot" - ] - }, - "enableAwsLaunchTemplate": { - "description": "flag to know if aws launch template is enabled", - "type": "boolean" - }, - "instanceType": { - "description": "instance type", + "region": { + "description": "cluster region information", "type": "string" - }, - "rootDeviceSize": { - "description": "rootDeviceSize in GBs", - "type": "integer", - "format": "int64", - "maximum": 2000, - "minimum": 1 - }, - "spotMarketOptions": { - "description": "SpotMarketOptions defines the options available to a user when configuring Machines to run on Spot instances. Most users should provide an empty struct.", - "type": "object", - "properties": { - "maxPrice": { - "description": "MaxPrice defines the maximum price the user is willing to pay for Spot VM instances", - "type": "string" - } - } - }, - "subnets": { - "type": "array", - "items": { - "properties": { - "az": { - "type": "string" - }, - "id": { - "type": "string" - } - } - } } } }, @@ -29358,7 +28951,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -29402,7 +28995,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -29448,7 +29041,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -29497,7 +29090,7 @@ } ] }, - "/v1/cloudconfigs/eks/{configUid}/machinePools/{machinePoolName}": { + "/v1/cloudconfigs/generic/{configUid}/machinePools/{machinePoolName}": { "put": { "security": [ { @@ -29510,8 +29103,8 @@ "tags": [ "v1" ], - "summary": "Updates the specified EKS cloud config's machine pool", - "operationId": "v1CloudConfigsEksMachinePoolUpdate", + "summary": "Updates the specified generic cloud config's machine pool", + "operationId": "v1CloudConfigsGenericMachinePoolUpdate", "parameters": [ { "name": "body", @@ -29519,169 +29112,35 @@ "schema": { "properties": { "cloudConfig": { + "description": "Generic cluster config", + "type": "object", "properties": { - "awsLaunchTemplate": { - "description": "AWSLaunchTemplate specifies the launch template to use to create the managed node group", + "instanceType": { "type": "object", "properties": { - "additionalSecurityGroups": { - "description": "AdditionalSecurityGroups is an array of references to security groups that should be applied to the instances", - "type": "array", - "uniqueItems": true, - "items": { - "description": "AWSResourceReference is a reference to a specific AWS resource by ID or filters", - "type": "object", - "properties": { - "arn": { - "description": "ARN of resource", - "type": "string" - }, - "filters": { - "description": "Filters is a set of key/value pairs used to identify a resource", - "type": "array", - "uniqueItems": true, - "items": { - "description": "Filter is a filter used to identify an AWS resource", - "type": "object", - "properties": { - "name": { - "description": "Name of the filter. Filter names are case-sensitive", - "type": "string" - }, - "values": { - "description": "Values includes one or more filter values. Filter values are case-sensitive", - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - } - } - } - }, - "id": { - "description": "ID of resource", - "type": "string" - } - } - } - }, - "ami": { - "description": "AMI is the reference to the AMI from which to create the machine instance", - "type": "object", - "properties": { - "eksOptimizedLookupType": { - "description": "EKSOptimizedLookupType If specified, will look up an EKS Optimized image in SSM Parameter store", - "type": "string", - "enum": [ - "AmazonLinux", - "AmazonLinuxGPU" - ] - }, - "id": { - "description": "ID of resource", - "type": "string" - } - } - }, - "imageLookupBaseOS": { - "description": "ImageLookupBaseOS is the name of the base operating system to use for image lookup the AMI is not set", - "type": "string" + "diskGiB": { + "description": "DiskGiB is the size of a virtual machine's disk, in GiB", + "type": "integer", + "format": "int32" }, - "imageLookupFormat": { - "description": "ImageLookupFormat is the AMI naming format to look up the image", - "type": "string" + "memoryMiB": { + "description": "MemoryMiB is the size of a virtual machine's memory, in MiB", + "type": "integer", + "format": "int64" }, - "imageLookupOrg": { - "description": "ImageLookupOrg is the AWS Organization ID to use for image lookup if AMI is not set", + "name": { "type": "string" }, - "rootVolume": { - "description": "Volume encapsulates the configuration options for the storage device.", - "type": "object", - "properties": { - "deviceName": { - "description": "Device name", - "type": "string" - }, - "encrypted": { - "description": "EncryptionKey is the KMS key to use to encrypt the volume. Can be either a KMS key ID or ARN", - "type": "boolean" - }, - "encryptionKey": { - "description": "EncryptionKey is the KMS key to use to encrypt the volume. Can be either a KMS key ID or ARN", - "type": "string" - }, - "iops": { - "description": "IOPS is the number of IOPS requested for the disk. Not applicable to all types", - "type": "integer", - "format": "int64" - }, - "throughput": { - "description": "Throughput to provision in MiB/s supported for the volume type. Not applicable to all types.", - "type": "integer", - "format": "int64" - }, - "type": { - "description": "Type is the type of the volume (e.g. gp2, io1, etc...)", - "type": "string" - } - } + "numCPUs": { + "description": "NumCPUs is the number of virtual processors in a virtual machine", + "type": "integer", + "format": "int32" } } }, - "azs": { - "type": "array", - "items": { - "type": "string" - } - }, - "capacityType": { - "description": "EC2 instance capacity type", - "type": "string", - "default": "on-demand", - "enum": [ - "on-demand", - "spot" - ] - }, - "enableAwsLaunchTemplate": { - "description": "flag to know if aws launch template is enabled", - "type": "boolean" - }, - "instanceType": { - "description": "instance type", + "region": { + "description": "cluster region information", "type": "string" - }, - "rootDeviceSize": { - "description": "rootDeviceSize in GBs", - "type": "integer", - "format": "int64", - "maximum": 2000, - "minimum": 1 - }, - "spotMarketOptions": { - "description": "SpotMarketOptions defines the options available to a user when configuring Machines to run on Spot instances. Most users should provide an empty struct.", - "type": "object", - "properties": { - "maxPrice": { - "description": "MaxPrice defines the maximum price the user is willing to pay for Spot VM instances", - "type": "string" - } - } - }, - "subnets": { - "type": "array", - "items": { - "properties": { - "az": { - "type": "string" - }, - "id": { - "type": "string" - } - } - } } } }, @@ -29714,7 +29173,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -29758,7 +29217,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -29804,7 +29263,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -29839,7 +29298,7 @@ "v1" ], "summary": "Deletes the specified machine pool", - "operationId": "v1CloudConfigsEksMachinePoolDelete", + "operationId": "v1CloudConfigsGenericMachinePoolDelete", "parameters": [ { "type": "string", @@ -29871,7 +29330,7 @@ } ] }, - "/v1/cloudconfigs/eks/{configUid}/machinePools/{machinePoolName}/machines": { + "/v1/cloudconfigs/generic/{configUid}/machinePools/{machinePoolName}/machines": { "get": { "security": [ { @@ -29884,8 +29343,8 @@ "tags": [ "v1" ], - "summary": "Retrieves a list of EKS machines", - "operationId": "v1CloudConfigsEksPoolMachinesList", + "summary": "Retrieves a list of Generic machines", + "operationId": "v1CloudConfigsGenericPoolMachinesList", "parameters": [ { "type": "string", @@ -29935,9 +29394,9 @@ ], "responses": { "200": { - "description": "An array of EKS machine items", + "description": "An array of Generic machine items", "schema": { - "description": "AWS machine list", + "description": "Generic machine list", "type": "object", "required": [ "items" @@ -29947,15 +29406,12 @@ "type": "array", "uniqueItems": true, "items": { - "description": "AWS cloud VM definition", - "type": "object", + "description": "Generic cloud VM definition", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -29963,7 +29419,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -29980,7 +29436,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -29992,90 +29448,60 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, "spec": { - "description": "AWS cloud VM definition spec", - "type": "object", - "required": [ - "instanceType", - "vpcId", - "ami" - ], + "description": "Generic cloud VM definition spec", "properties": { - "additionalSecurityGroups": { - "description": "Additional Security groups", - "type": "array", - "items": { - "description": "AWSResourceReference is a reference to a specific AWS resource by ID or filters", - "type": "object", - "properties": { - "arn": { - "description": "ARN of resource", - "type": "string" - }, - "filters": { - "description": "Filters is a set of key/value pairs used to identify a resource", - "type": "array", - "uniqueItems": true, - "items": { - "description": "Filter is a filter used to identify an AWS resource", - "type": "object", - "properties": { - "name": { - "description": "Name of the filter. Filter names are case-sensitive", - "type": "string" - }, - "values": { - "description": "Values includes one or more filter values. Filter values are case-sensitive", - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - } - } - } - }, - "id": { - "description": "ID of resource", - "type": "string" - } - } - } - }, - "ami": { - "type": "string" - }, - "az": { - "type": "string" - }, - "dnsName": { + "hostName": { "type": "string" }, - "iamProfile": { + "imageId": { "type": "string" }, "instanceType": { - "type": "string" + "type": "object", + "properties": { + "diskGiB": { + "description": "DiskGiB is the size of a virtual machine's disk, in GiB", + "type": "integer", + "format": "int32" + }, + "memoryMiB": { + "description": "MemoryMiB is the size of a virtual machine's memory, in MiB", + "type": "integer", + "format": "int64" + }, + "name": { + "type": "string" + }, + "numCPUs": { + "description": "NumCPUs is the number of virtual processors in a virtual machine", + "type": "integer", + "format": "int32" + } + } }, "nics": { "type": "array", "items": { - "description": "AWS network interface", + "description": "Generic network interface", "type": "object", "properties": { "index": { "type": "integer", "format": "int8" }, + "networkName": { + "type": "string" + }, "privateIPs": { "type": "array", "items": { @@ -30088,20 +29514,8 @@ } } }, - "phase": { - "type": "string" - }, "sshKeyName": { "type": "string" - }, - "subnetId": { - "type": "string" - }, - "type": { - "type": "string" - }, - "vpcId": { - "type": "string" } } }, @@ -30221,21 +29635,18 @@ "v1" ], "summary": "Adds the machine to cloud config's machine pool", - "operationId": "v1CloudConfigsEksPoolMachinesAdd", + "operationId": "v1CloudConfigsGenericPoolMachinesAdd", "parameters": [ { "name": "body", "in": "body", "schema": { - "description": "AWS cloud VM definition", - "type": "object", + "description": "Generic cloud VM definition", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -30243,7 +29654,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -30260,7 +29671,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -30272,90 +29683,60 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, "spec": { - "description": "AWS cloud VM definition spec", - "type": "object", - "required": [ - "instanceType", - "vpcId", - "ami" - ], + "description": "Generic cloud VM definition spec", "properties": { - "additionalSecurityGroups": { - "description": "Additional Security groups", - "type": "array", - "items": { - "description": "AWSResourceReference is a reference to a specific AWS resource by ID or filters", - "type": "object", - "properties": { - "arn": { - "description": "ARN of resource", - "type": "string" - }, - "filters": { - "description": "Filters is a set of key/value pairs used to identify a resource", - "type": "array", - "uniqueItems": true, - "items": { - "description": "Filter is a filter used to identify an AWS resource", - "type": "object", - "properties": { - "name": { - "description": "Name of the filter. Filter names are case-sensitive", - "type": "string" - }, - "values": { - "description": "Values includes one or more filter values. Filter values are case-sensitive", - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - } - } - } - }, - "id": { - "description": "ID of resource", - "type": "string" - } - } - } - }, - "ami": { - "type": "string" - }, - "az": { - "type": "string" - }, - "dnsName": { + "hostName": { "type": "string" }, - "iamProfile": { + "imageId": { "type": "string" }, "instanceType": { - "type": "string" + "type": "object", + "properties": { + "diskGiB": { + "description": "DiskGiB is the size of a virtual machine's disk, in GiB", + "type": "integer", + "format": "int32" + }, + "memoryMiB": { + "description": "MemoryMiB is the size of a virtual machine's memory, in MiB", + "type": "integer", + "format": "int64" + }, + "name": { + "type": "string" + }, + "numCPUs": { + "description": "NumCPUs is the number of virtual processors in a virtual machine", + "type": "integer", + "format": "int32" + } + } }, "nics": { "type": "array", "items": { - "description": "AWS network interface", + "description": "Generic network interface", "type": "object", "properties": { "index": { "type": "integer", "format": "int8" }, + "networkName": { + "type": "string" + }, "privateIPs": { "type": "array", "items": { @@ -30368,20 +29749,8 @@ } } }, - "phase": { - "type": "string" - }, "sshKeyName": { "type": "string" - }, - "subnetId": { - "type": "string" - }, - "type": { - "type": "string" - }, - "vpcId": { - "type": "string" } } }, @@ -30504,7 +29873,7 @@ } ] }, - "/v1/cloudconfigs/eks/{configUid}/machinePools/{machinePoolName}/machines/{machineUid}": { + "/v1/cloudconfigs/generic/{configUid}/machinePools/{machinePoolName}/machines/{machineUid}": { "get": { "security": [ { @@ -30517,8 +29886,8 @@ "tags": [ "v1" ], - "summary": "Returns the specified EKS machine", - "operationId": "v1CloudConfigsEksPoolMachinesUidGet", + "summary": "Returns the specified generic machine", + "operationId": "v1CloudConfigsGenericPoolMachinesUidGet", "parameters": [ { "type": "string", @@ -30531,15 +29900,12 @@ "200": { "description": "OK", "schema": { - "description": "AWS cloud VM definition", - "type": "object", + "description": "Generic cloud VM definition", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -30547,7 +29913,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -30564,7 +29930,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -30576,90 +29942,60 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, "spec": { - "description": "AWS cloud VM definition spec", - "type": "object", - "required": [ - "instanceType", - "vpcId", - "ami" - ], + "description": "Generic cloud VM definition spec", "properties": { - "additionalSecurityGroups": { - "description": "Additional Security groups", - "type": "array", - "items": { - "description": "AWSResourceReference is a reference to a specific AWS resource by ID or filters", - "type": "object", - "properties": { - "arn": { - "description": "ARN of resource", - "type": "string" - }, - "filters": { - "description": "Filters is a set of key/value pairs used to identify a resource", - "type": "array", - "uniqueItems": true, - "items": { - "description": "Filter is a filter used to identify an AWS resource", - "type": "object", - "properties": { - "name": { - "description": "Name of the filter. Filter names are case-sensitive", - "type": "string" - }, - "values": { - "description": "Values includes one or more filter values. Filter values are case-sensitive", - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - } - } - } - }, - "id": { - "description": "ID of resource", - "type": "string" - } - } - } - }, - "ami": { - "type": "string" - }, - "az": { - "type": "string" - }, - "dnsName": { + "hostName": { "type": "string" }, - "iamProfile": { + "imageId": { "type": "string" }, "instanceType": { - "type": "string" + "type": "object", + "properties": { + "diskGiB": { + "description": "DiskGiB is the size of a virtual machine's disk, in GiB", + "type": "integer", + "format": "int32" + }, + "memoryMiB": { + "description": "MemoryMiB is the size of a virtual machine's memory, in MiB", + "type": "integer", + "format": "int64" + }, + "name": { + "type": "string" + }, + "numCPUs": { + "description": "NumCPUs is the number of virtual processors in a virtual machine", + "type": "integer", + "format": "int32" + } + } }, "nics": { "type": "array", "items": { - "description": "AWS network interface", + "description": "Generic network interface", "type": "object", "properties": { "index": { "type": "integer", "format": "int8" }, + "networkName": { + "type": "string" + }, "privateIPs": { "type": "array", "items": { @@ -30672,20 +30008,8 @@ } } }, - "phase": { - "type": "string" - }, "sshKeyName": { "type": "string" - }, - "subnetId": { - "type": "string" - }, - "type": { - "type": "string" - }, - "vpcId": { - "type": "string" } } }, @@ -30776,21 +30100,18 @@ "v1" ], "summary": "Updates the specified machine to the cloud config's machine pool", - "operationId": "v1CloudConfigsEksPoolMachinesUidUpdate", + "operationId": "v1CloudConfigsGenericPoolMachinesUidUpdate", "parameters": [ { "name": "body", "in": "body", "schema": { - "description": "AWS cloud VM definition", - "type": "object", + "description": "Generic cloud VM definition", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -30798,7 +30119,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -30815,7 +30136,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -30827,90 +30148,60 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, "spec": { - "description": "AWS cloud VM definition spec", - "type": "object", - "required": [ - "instanceType", - "vpcId", - "ami" - ], + "description": "Generic cloud VM definition spec", "properties": { - "additionalSecurityGroups": { - "description": "Additional Security groups", - "type": "array", - "items": { - "description": "AWSResourceReference is a reference to a specific AWS resource by ID or filters", - "type": "object", - "properties": { - "arn": { - "description": "ARN of resource", - "type": "string" - }, - "filters": { - "description": "Filters is a set of key/value pairs used to identify a resource", - "type": "array", - "uniqueItems": true, - "items": { - "description": "Filter is a filter used to identify an AWS resource", - "type": "object", - "properties": { - "name": { - "description": "Name of the filter. Filter names are case-sensitive", - "type": "string" - }, - "values": { - "description": "Values includes one or more filter values. Filter values are case-sensitive", - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - } - } - } - }, - "id": { - "description": "ID of resource", - "type": "string" - } - } - } - }, - "ami": { - "type": "string" - }, - "az": { - "type": "string" - }, - "dnsName": { + "hostName": { "type": "string" }, - "iamProfile": { + "imageId": { "type": "string" }, "instanceType": { - "type": "string" + "type": "object", + "properties": { + "diskGiB": { + "description": "DiskGiB is the size of a virtual machine's disk, in GiB", + "type": "integer", + "format": "int32" + }, + "memoryMiB": { + "description": "MemoryMiB is the size of a virtual machine's memory, in MiB", + "type": "integer", + "format": "int64" + }, + "name": { + "type": "string" + }, + "numCPUs": { + "description": "NumCPUs is the number of virtual processors in a virtual machine", + "type": "integer", + "format": "int32" + } + } }, "nics": { "type": "array", "items": { - "description": "AWS network interface", + "description": "Generic network interface", "type": "object", "properties": { "index": { "type": "integer", "format": "int8" }, + "networkName": { + "type": "string" + }, "privateIPs": { "type": "array", "items": { @@ -30923,20 +30214,8 @@ } } }, - "phase": { - "type": "string" - }, "sshKeyName": { "type": "string" - }, - "subnetId": { - "type": "string" - }, - "type": { - "type": "string" - }, - "vpcId": { - "type": "string" } } }, @@ -31037,8 +30316,8 @@ "tags": [ "v1" ], - "summary": "Deletes the specified EKS machine", - "operationId": "v1CloudConfigsEksPoolMachinesUidDelete", + "summary": "Deletes the specified machine", + "operationId": "v1CloudConfigsGenericPoolMachinesUidDelete", "parameters": [ { "type": "string", @@ -31077,7 +30356,7 @@ } ] }, - "/v1/cloudconfigs/gcp/{configUid}": { + "/v1/cloudconfigs/gke/{configUid}": { "get": { "security": [ { @@ -31090,8 +30369,8 @@ "tags": [ "v1" ], - "summary": "Returns the specified GCP cloud config", - "operationId": "v1CloudConfigsGcpGet", + "summary": "Returns the specified GKE cloud config", + "operationId": "v1CloudConfigsGkeGet", "parameters": [ { "type": "string", @@ -31108,11 +30387,11 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", "type": "string" }, "kind": { - "description": "Cloud type of the cloud config", + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", "type": "string" }, "metadata": { @@ -31120,7 +30399,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -31137,7 +30416,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -31149,11 +30428,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -31171,11 +30450,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -31281,7 +30560,7 @@ "type": "boolean" }, "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", + "description": "labels for this pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -31341,7 +30620,7 @@ } }, "taints": { - "description": "master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -31387,7 +30666,7 @@ } }, "useControlPlaneAsWorker": { - "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean" } } @@ -31494,7 +30773,7 @@ } ] }, - "/v1/cloudconfigs/gcp/{configUid}/clusterConfig": { + "/v1/cloudconfigs/gke/{configUid}/clusterConfig": { "put": { "security": [ { @@ -31508,7 +30787,7 @@ "v1" ], "summary": "Updates the cluster configuration information", - "operationId": "v1CloudConfigsGcpUidClusterConfig", + "operationId": "v1CloudConfigsGkeUidClusterConfig", "parameters": [ { "name": "body", @@ -31579,7 +30858,7 @@ } ] }, - "/v1/cloudconfigs/gcp/{configUid}/machinePools": { + "/v1/cloudconfigs/gke/{configUid}/machinePools": { "post": { "security": [ { @@ -31592,8 +30871,8 @@ "tags": [ "v1" ], - "summary": "Creates a Gcp cloud config's machine pool", - "operationId": "v1CloudConfigsGcpMachinePoolCreate", + "summary": "Creates an GKE cloud config's machine pool", + "operationId": "v1CloudConfigsGkeMachinePoolCreate", "parameters": [ { "name": "body", @@ -31672,7 +30951,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -31716,7 +30995,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -31762,7 +31041,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -31811,7 +31090,7 @@ } ] }, - "/v1/cloudconfigs/gcp/{configUid}/machinePools/{machinePoolName}": { + "/v1/cloudconfigs/gke/{configUid}/machinePools/{machinePoolName}": { "put": { "security": [ { @@ -31824,8 +31103,8 @@ "tags": [ "v1" ], - "summary": "Updates the specified GCP cloud config's machine pool", - "operationId": "v1CloudConfigsGcpMachinePoolUpdate", + "summary": "Updates the specified GKE cloud config's machine pool", + "operationId": "v1CloudConfigsGkeMachinePoolUpdate", "parameters": [ { "name": "body", @@ -31904,7 +31183,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -31948,7 +31227,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -31994,7 +31273,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -32029,7 +31308,7 @@ "v1" ], "summary": "Deletes the specified machine pool", - "operationId": "v1CloudConfigsGcpMachinePoolDelete", + "operationId": "v1CloudConfigsGkeMachinePoolDelete", "parameters": [ { "type": "string", @@ -32061,7 +31340,7 @@ } ] }, - "/v1/cloudconfigs/gcp/{configUid}/machinePools/{machinePoolName}/machines": { + "/v1/cloudconfigs/gke/{configUid}/machinePools/{machinePoolName}/machines": { "get": { "security": [ { @@ -32074,8 +31353,8 @@ "tags": [ "v1" ], - "summary": "Retrieves a list of GCP machines", - "operationId": "v1CloudConfigsGcpPoolMachinesList", + "summary": "Retrieves a list of GKE machines", + "operationId": "v1CloudConfigsGkePoolMachinesList", "parameters": [ { "type": "string", @@ -32125,7 +31404,7 @@ ], "responses": { "200": { - "description": "An array of GCP machine items", + "description": "An array of GKE machine items", "schema": { "description": "GCP machine list", "type": "object", @@ -32141,11 +31420,9 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -32153,7 +31430,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -32170,7 +31447,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -32182,11 +31459,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -32388,7 +31665,7 @@ "v1" ], "summary": "Adds the machine to cloud config's machine pool", - "operationId": "v1CloudConfigsGcpPoolMachinesAdd", + "operationId": "v1CloudConfigsGkePoolMachinesAdd", "parameters": [ { "name": "body", @@ -32398,11 +31675,9 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -32410,7 +31685,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -32427,7 +31702,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -32439,11 +31714,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -32648,7 +31923,7 @@ } ] }, - "/v1/cloudconfigs/gcp/{configUid}/machinePools/{machinePoolName}/machines/{machineUid}": { + "/v1/cloudconfigs/gke/{configUid}/machinePools/{machinePoolName}/machines/{machineUid}": { "get": { "security": [ { @@ -32661,8 +31936,8 @@ "tags": [ "v1" ], - "summary": "Returns the specified GCP machine", - "operationId": "v1CloudConfigsGcpPoolMachinesUidGet", + "summary": "Returns the specified GKE machine", + "operationId": "v1CloudConfigsGkePoolMachinesUidGet", "parameters": [ { "type": "string", @@ -32679,11 +31954,9 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -32691,7 +31964,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -32708,7 +31981,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -32720,11 +31993,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -32897,7 +32170,7 @@ "v1" ], "summary": "Updates the specified machine to the cloud config's machine pool", - "operationId": "v1CloudConfigsGcpPoolMachinesUidUpdate", + "operationId": "v1CloudConfigsGkePoolMachinesUidUpdate", "parameters": [ { "name": "body", @@ -32907,11 +32180,9 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -32919,7 +32190,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -32936,7 +32207,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -32948,11 +32219,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -33135,8 +32406,8 @@ "tags": [ "v1" ], - "summary": "Deletes the specified GCP machine", - "operationId": "v1CloudConfigsGcpPoolMachinesUidDelete", + "summary": "Deletes the specified Gcp machine", + "operationId": "v1CloudConfigsGkePoolMachinesUidDelete", "parameters": [ { "type": "string", @@ -33175,7 +32446,7 @@ } ] }, - "/v1/cloudconfigs/generic/{configUid}": { + "/v1/cloudconfigs/maas/{configUid}": { "get": { "security": [ { @@ -33188,8 +32459,8 @@ "tags": [ "v1" ], - "summary": "Returns the specified Generic cloud config", - "operationId": "v1CloudConfigsGenericGet", + "summary": "Returns the specified Maas cloud config", + "operationId": "v1CloudConfigsMaasGet", "parameters": [ { "type": "string", @@ -33202,9 +32473,15 @@ "200": { "description": "OK", "schema": { - "description": "Generic CloudConfig for all cloud types", + "description": "MaasCloudConfig is the Schema for the maascloudconfigs API", + "type": "object", "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", "type": "string" }, "metadata": { @@ -33212,7 +32489,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -33229,7 +32506,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -33241,17 +32518,17 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, "spec": { - "description": "Generic CloudConfig spec for all cloud types", + "description": "MaasCloudConfigSpec defines the cloud configuration input by user This will translate to clusterspec/machinespec for cluster-api", "type": "object", "properties": { "cloudAccountRef": { @@ -33263,65 +32540,30 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } }, "clusterConfig": { - "description": "Generic cluster config", + "description": "Cluster level configuration for MAAS cloud and applicable for all the machine pools", "type": "object", + "required": [ + "domain" + ], "properties": { - "instanceType": { - "type": "object", - "properties": { - "diskGiB": { - "description": "DiskGiB is the size of a virtual machine's disk, in GiB", - "type": "integer", - "format": "int32" - }, - "memoryMiB": { - "description": "MemoryMiB is the size of a virtual machine's memory, in MiB", - "type": "integer", - "format": "int64" - }, - "name": { - "type": "string" - }, - "numCPUs": { - "description": "NumCPUs is the number of virtual processors in a virtual machine", - "type": "integer", - "format": "int32" - } - } - }, - "region": { - "description": "cluster region information", + "domain": { + "description": "Domain name of the cluster to be provisioned", "type": "string" - } - } - }, - "edgeHostRefs": { - "description": "Appliances (Edge Host) uids", - "type": "array", - "items": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", + }, + "sshKeys": { + "description": "SSH keys specifies a list of ssh authorized keys for the 'spectro' user", + "type": "array", + "items": { "type": "string" } } @@ -33332,44 +32574,234 @@ "items": { "type": "object", "required": [ - "isControlPlane" + "instanceType" ], "properties": { + "additionalLabels": { + "description": "additionalLabels", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "additionalTags": { + "description": "AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "azs": { + "type": "array", + "items": { + "type": "string" + } + }, "instanceType": { - "type": "string" + "type": "object", + "properties": { + "minCPU": { + "description": "Minimum CPU cores", + "type": "integer", + "format": "int32" + }, + "minMemInMB": { + "description": "Minimum memory in MiB", + "type": "integer", + "format": "int32" + } + } }, "isControlPlane": { "description": "whether this pool is for control plane", "type": "boolean" }, "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", + "description": "labels for this pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" } }, + "machinePoolProperties": { + "description": "Machine pool specific properties", + "type": "object", + "properties": { + "archType": { + "type": "string", + "default": "amd64", + "enum": [ + "amd64", + "arm64" + ] + } + } + }, + "maxSize": { + "description": "max size of the pool, for scaling", + "type": "integer", + "format": "int32" + }, + "minSize": { + "description": "min size of the pool, for scaling", + "type": "integer", + "format": "int32" + }, "name": { "type": "string" }, - "rootDeviceSize": { - "description": "Size of root volume in GB. Default is 30GB", + "nodeRepaveInterval": { + "description": "Minimum number of seconds a node should be Ready, before the next node is selected for repave. Applicable only for workerpools in infrastructure cluster", "type": "integer", - "format": "int64" + "format": "int32" + }, + "resourcePool": { + "type": "string" }, "size": { "description": "size of the pool, number of machines", "type": "integer", "format": "int32" }, + "tags": { + "description": "Tags in maas environment", + "type": "array", + "items": { + "type": "string" + } + }, + "taints": { + "description": "control plane or worker taints", + "type": "array", + "uniqueItems": true, + "items": { + "description": "Taint", + "type": "object", + "properties": { + "effect": { + "type": "string", + "enum": [ + "NoSchedule", + "PreferNoSchedule", + "NoExecute" + ] + }, + "key": { + "description": "The taint key to be applied to a node", + "type": "string" + }, + "timeAdded": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "value": { + "description": "The taint value corresponding to the taint key.", + "type": "string" + } + } + } + }, + "updateStrategy": { + "description": "UpdatesStrategy will be used to translate to RollingUpdateStrategy of a MachineDeployment We'll start with default values for the translation, can expose more details later Following is details of parameters translated from the type ScaleOut =\u003e maxSurge=1, maxUnavailable=0 ScaleIn =\u003e maxSurge=0, maxUnavailable=1", + "type": "object", + "properties": { + "type": { + "description": "update strategy, either ScaleOut or ScaleIn if empty, will default to RollingUpdateScaleOut", + "type": "string", + "enum": [ + "RollingUpdateScaleOut", + "RollingUpdateScaleIn" + ] + } + } + }, "useControlPlaneAsWorker": { - "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean" } } } } } + }, + "status": { + "description": "MaasCloudConfigStatus defines the observed state of MaasCloudConfig The cloudimage info built by Mold is stored here image should be mapped to a specific machinepool", + "type": "object", + "properties": { + "ansibleRoleDigest": { + "description": "For mold controller to identify if is there any changes in Pack", + "type": "string" + }, + "conditions": { + "type": "array", + "items": { + "type": "object", + "required": [ + "type", + "status" + ], + "properties": { + "lastProbeTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "lastTransitionTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "type": "string" + }, + "type": { + "type": "string" + } + } + } + }, + "isAddonLayer": { + "description": "addon layers present in spc", + "type": "boolean" + }, + "nodeImage": { + "description": "Name of the image", + "type": "object", + "properties": { + "name": { + "description": "full path of the image template location it contains datacenter/folder/templatename etc eg: /mydc/vm/template/spectro/workerpool-1-centos", + "type": "string" + }, + "state": { + "type": "string" + } + } + }, + "roleDigest": { + "description": "this map will be for ansible roles present in eack pack", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "sourceImageId": { + "description": "sourceImageId, it can be from packref's annotations or from pack.json", + "type": "string" + }, + "useCapiImage": { + "description": "PackerVariableDigest string `json:\"packerDigest,omitempty\"` If no ansible roles found in Packs then Mold should tell Drive to use capi image and not create custom image, because there is nothing to add", + "type": "boolean" + } + } } } } @@ -33386,7 +32818,7 @@ } ] }, - "/v1/cloudconfigs/generic/{configUid}/clusterConfig": { + "/v1/cloudconfigs/maas/{configUid}/clusterConfig": { "put": { "security": [ { @@ -33400,45 +32832,32 @@ "v1" ], "summary": "Updates the cluster configuration information", - "operationId": "v1CloudConfigsGenericUidClusterConfig", + "operationId": "v1CloudConfigsMaasUidClusterConfig", "parameters": [ { "name": "body", "in": "body", "schema": { - "description": "Generic cloud cluster config entity", + "description": "Maas cloud cluster config entity", "type": "object", "properties": { "clusterConfig": { - "description": "Generic cluster config", + "description": "Cluster level configuration for MAAS cloud and applicable for all the machine pools", "type": "object", + "required": [ + "domain" + ], "properties": { - "instanceType": { - "type": "object", - "properties": { - "diskGiB": { - "description": "DiskGiB is the size of a virtual machine's disk, in GiB", - "type": "integer", - "format": "int32" - }, - "memoryMiB": { - "description": "MemoryMiB is the size of a virtual machine's memory, in MiB", - "type": "integer", - "format": "int64" - }, - "name": { - "type": "string" - }, - "numCPUs": { - "description": "NumCPUs is the number of virtual processors in a virtual machine", - "type": "integer", - "format": "int32" - } - } - }, - "region": { - "description": "cluster region information", + "domain": { + "description": "Domain name of the cluster to be provisioned", "type": "string" + }, + "sshKeys": { + "description": "SSH keys specifies a list of ssh authorized keys for the 'spectro' user", + "type": "array", + "items": { + "type": "string" + } } } } @@ -33468,7 +32887,7 @@ } ] }, - "/v1/cloudconfigs/generic/{configUid}/machinePools": { + "/v1/cloudconfigs/maas/{configUid}/machinePools": { "post": { "security": [ { @@ -33481,44 +32900,56 @@ "tags": [ "v1" ], - "summary": "Creates a generic cloud config's machine pool", - "operationId": "v1CloudConfigsGenericMachinePoolCreate", + "summary": "Creates an Maas cloud config's machine pool", + "operationId": "v1CloudConfigsMaasMachinePoolCreate", "parameters": [ { "name": "body", "in": "body", "schema": { + "type": "object", + "required": [ + "cloudConfig" + ], "properties": { "cloudConfig": { - "description": "Generic cluster config", "type": "object", + "required": [ + "instanceType", + "resourcePool" + ], "properties": { + "azs": { + "type": "array", + "items": { + "type": "string" + } + }, "instanceType": { "type": "object", "properties": { - "diskGiB": { - "description": "DiskGiB is the size of a virtual machine's disk, in GiB", + "minCPU": { + "description": "Minimum CPU cores", "type": "integer", "format": "int32" }, - "memoryMiB": { - "description": "MemoryMiB is the size of a virtual machine's memory, in MiB", - "type": "integer", - "format": "int64" - }, - "name": { - "type": "string" - }, - "numCPUs": { - "description": "NumCPUs is the number of virtual processors in a virtual machine", + "minMemInMB": { + "description": "Minimum memory in MiB", "type": "integer", "format": "int32" } } }, - "region": { - "description": "cluster region information", + "resourcePool": { + "description": "the resource pool", "type": "string" + }, + "tags": { + "description": "Tags in maas environment", + "type": "array", + "items": { + "type": "string" + } } } }, @@ -33551,7 +32982,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -33595,7 +33026,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -33641,7 +33072,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -33690,7 +33121,7 @@ } ] }, - "/v1/cloudconfigs/generic/{configUid}/machinePools/{machinePoolName}": { + "/v1/cloudconfigs/maas/{configUid}/machinePools/{machinePoolName}": { "put": { "security": [ { @@ -33703,44 +33134,56 @@ "tags": [ "v1" ], - "summary": "Updates the specified generic cloud config's machine pool", - "operationId": "v1CloudConfigsGenericMachinePoolUpdate", + "summary": "Updates the specified Maas cloud config's machine pool", + "operationId": "v1CloudConfigsMaasMachinePoolUpdate", "parameters": [ { "name": "body", "in": "body", "schema": { + "type": "object", + "required": [ + "cloudConfig" + ], "properties": { "cloudConfig": { - "description": "Generic cluster config", "type": "object", + "required": [ + "instanceType", + "resourcePool" + ], "properties": { + "azs": { + "type": "array", + "items": { + "type": "string" + } + }, "instanceType": { "type": "object", "properties": { - "diskGiB": { - "description": "DiskGiB is the size of a virtual machine's disk, in GiB", + "minCPU": { + "description": "Minimum CPU cores", "type": "integer", "format": "int32" }, - "memoryMiB": { - "description": "MemoryMiB is the size of a virtual machine's memory, in MiB", - "type": "integer", - "format": "int64" - }, - "name": { - "type": "string" - }, - "numCPUs": { - "description": "NumCPUs is the number of virtual processors in a virtual machine", + "minMemInMB": { + "description": "Minimum memory in MiB", "type": "integer", "format": "int32" } } }, - "region": { - "description": "cluster region information", + "resourcePool": { + "description": "the resource pool", "type": "string" + }, + "tags": { + "description": "Tags in maas environment", + "type": "array", + "items": { + "type": "string" + } } } }, @@ -33773,7 +33216,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -33817,7 +33260,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -33863,7 +33306,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -33898,7 +33341,7 @@ "v1" ], "summary": "Deletes the specified machine pool", - "operationId": "v1CloudConfigsGenericMachinePoolDelete", + "operationId": "v1CloudConfigsMaasMachinePoolDelete", "parameters": [ { "type": "string", @@ -33930,7 +33373,7 @@ } ] }, - "/v1/cloudconfigs/generic/{configUid}/machinePools/{machinePoolName}/machines": { + "/v1/cloudconfigs/maas/{configUid}/machinePools/{machinePoolName}/machines": { "get": { "security": [ { @@ -33943,8 +33386,8 @@ "tags": [ "v1" ], - "summary": "Retrieves a list of Generic machines", - "operationId": "v1CloudConfigsGenericPoolMachinesList", + "summary": "Retrieves a list of Maas machines", + "operationId": "v1CloudConfigsMaasPoolMachinesList", "parameters": [ { "type": "string", @@ -33994,9 +33437,9 @@ ], "responses": { "200": { - "description": "An array of Generic machine items", + "description": "An array of Maas machine items", "schema": { - "description": "Generic machine list", + "description": "List of MAAS machines", "type": "object", "required": [ "items" @@ -34006,14 +33449,13 @@ "type": "array", "uniqueItems": true, "items": { - "description": "Generic cloud VM definition", + "description": "Maas cloud VM definition", + "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -34021,7 +33463,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -34038,7 +33480,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -34050,60 +33492,35 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, "spec": { - "description": "Generic cloud VM definition spec", + "description": "Maas cloud VM definition spec", + "type": "object", "properties": { - "hostName": { + "az": { "type": "string" }, - "imageId": { + "hostname": { "type": "string" }, - "instanceType": { - "type": "object", - "properties": { - "diskGiB": { - "description": "DiskGiB is the size of a virtual machine's disk, in GiB", - "type": "integer", - "format": "int32" - }, - "memoryMiB": { - "description": "MemoryMiB is the size of a virtual machine's memory, in MiB", - "type": "integer", - "format": "int64" - }, - "name": { - "type": "string" - }, - "numCPUs": { - "description": "NumCPUs is the number of virtual processors in a virtual machine", - "type": "integer", - "format": "int32" - } - } - }, "nics": { "type": "array", "items": { - "description": "Generic network interface", + "description": "Maas network interface", "type": "object", "properties": { "index": { "type": "integer", "format": "int8" }, - "networkName": { - "type": "string" - }, "privateIPs": { "type": "array", "items": { @@ -34115,9 +33532,6 @@ } } } - }, - "sshKeyName": { - "type": "string" } } }, @@ -34237,20 +33651,19 @@ "v1" ], "summary": "Adds the machine to cloud config's machine pool", - "operationId": "v1CloudConfigsGenericPoolMachinesAdd", + "operationId": "v1CloudConfigsMaasPoolMachinesAdd", "parameters": [ { "name": "body", "in": "body", "schema": { - "description": "Generic cloud VM definition", + "description": "Maas cloud VM definition", + "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -34258,7 +33671,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -34275,7 +33688,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -34287,60 +33700,35 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, "spec": { - "description": "Generic cloud VM definition spec", + "description": "Maas cloud VM definition spec", + "type": "object", "properties": { - "hostName": { + "az": { "type": "string" }, - "imageId": { + "hostname": { "type": "string" }, - "instanceType": { - "type": "object", - "properties": { - "diskGiB": { - "description": "DiskGiB is the size of a virtual machine's disk, in GiB", - "type": "integer", - "format": "int32" - }, - "memoryMiB": { - "description": "MemoryMiB is the size of a virtual machine's memory, in MiB", - "type": "integer", - "format": "int64" - }, - "name": { - "type": "string" - }, - "numCPUs": { - "description": "NumCPUs is the number of virtual processors in a virtual machine", - "type": "integer", - "format": "int32" - } - } - }, "nics": { "type": "array", "items": { - "description": "Generic network interface", + "description": "Maas network interface", "type": "object", "properties": { "index": { "type": "integer", "format": "int8" }, - "networkName": { - "type": "string" - }, "privateIPs": { "type": "array", "items": { @@ -34352,9 +33740,6 @@ } } } - }, - "sshKeyName": { - "type": "string" } } }, @@ -34477,7 +33862,7 @@ } ] }, - "/v1/cloudconfigs/generic/{configUid}/machinePools/{machinePoolName}/machines/{machineUid}": { + "/v1/cloudconfigs/maas/{configUid}/machinePools/{machinePoolName}/machines/{machineUid}": { "get": { "security": [ { @@ -34490,8 +33875,8 @@ "tags": [ "v1" ], - "summary": "Returns the specified generic machine", - "operationId": "v1CloudConfigsGenericPoolMachinesUidGet", + "summary": "Returns the specified Maas machine", + "operationId": "v1CloudConfigsMaasPoolMachinesUidGet", "parameters": [ { "type": "string", @@ -34504,14 +33889,13 @@ "200": { "description": "OK", "schema": { - "description": "Generic cloud VM definition", + "description": "Maas cloud VM definition", + "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -34519,7 +33903,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -34536,7 +33920,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -34548,60 +33932,35 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, "spec": { - "description": "Generic cloud VM definition spec", + "description": "Maas cloud VM definition spec", + "type": "object", "properties": { - "hostName": { + "az": { "type": "string" }, - "imageId": { + "hostname": { "type": "string" }, - "instanceType": { - "type": "object", - "properties": { - "diskGiB": { - "description": "DiskGiB is the size of a virtual machine's disk, in GiB", - "type": "integer", - "format": "int32" - }, - "memoryMiB": { - "description": "MemoryMiB is the size of a virtual machine's memory, in MiB", - "type": "integer", - "format": "int64" - }, - "name": { - "type": "string" - }, - "numCPUs": { - "description": "NumCPUs is the number of virtual processors in a virtual machine", - "type": "integer", - "format": "int32" - } - } - }, "nics": { "type": "array", "items": { - "description": "Generic network interface", + "description": "Maas network interface", "type": "object", "properties": { "index": { "type": "integer", "format": "int8" }, - "networkName": { - "type": "string" - }, "privateIPs": { "type": "array", "items": { @@ -34613,9 +33972,6 @@ } } } - }, - "sshKeyName": { - "type": "string" } } }, @@ -34706,20 +34062,19 @@ "v1" ], "summary": "Updates the specified machine to the cloud config's machine pool", - "operationId": "v1CloudConfigsGenericPoolMachinesUidUpdate", + "operationId": "v1CloudConfigsMaasPoolMachinesUidUpdate", "parameters": [ { "name": "body", "in": "body", "schema": { - "description": "Generic cloud VM definition", + "description": "Maas cloud VM definition", + "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -34727,7 +34082,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -34744,7 +34099,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -34756,60 +34111,35 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, "spec": { - "description": "Generic cloud VM definition spec", + "description": "Maas cloud VM definition spec", + "type": "object", "properties": { - "hostName": { + "az": { "type": "string" }, - "imageId": { + "hostname": { "type": "string" }, - "instanceType": { - "type": "object", - "properties": { - "diskGiB": { - "description": "DiskGiB is the size of a virtual machine's disk, in GiB", - "type": "integer", - "format": "int32" - }, - "memoryMiB": { - "description": "MemoryMiB is the size of a virtual machine's memory, in MiB", - "type": "integer", - "format": "int64" - }, - "name": { - "type": "string" - }, - "numCPUs": { - "description": "NumCPUs is the number of virtual processors in a virtual machine", - "type": "integer", - "format": "int32" - } - } - }, "nics": { "type": "array", "items": { - "description": "Generic network interface", + "description": "Maas network interface", "type": "object", "properties": { "index": { "type": "integer", "format": "int8" }, - "networkName": { - "type": "string" - }, "privateIPs": { "type": "array", "items": { @@ -34821,9 +34151,6 @@ } } } - }, - "sshKeyName": { - "type": "string" } } }, @@ -34924,8 +34251,8 @@ "tags": [ "v1" ], - "summary": "Deletes the specified machine", - "operationId": "v1CloudConfigsGenericPoolMachinesUidDelete", + "summary": "Deletes the specified Maas machine", + "operationId": "v1CloudConfigsMaasPoolMachinesUidDelete", "parameters": [ { "type": "string", @@ -34964,7 +34291,7 @@ } ] }, - "/v1/cloudconfigs/gke/{configUid}": { + "/v1/cloudconfigs/openstack/{configUid}": { "get": { "security": [ { @@ -34977,8 +34304,8 @@ "tags": [ "v1" ], - "summary": "Returns the specified GKE cloud config", - "operationId": "v1CloudConfigsGkeGet", + "summary": "Returns the specified OpenStack cloud config", + "operationId": "v1CloudConfigsOpenStackGet", "parameters": [ { "type": "string", @@ -34991,15 +34318,15 @@ "200": { "description": "OK", "schema": { - "description": "GcpCloudConfig is the Schema for the gcpcloudconfigs API", + "description": "OpenStackCloudConfig is the Schema for the OpenStackcloudconfigs API", "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", "type": "string" }, "kind": { - "description": "Cloud type of the cloud config", + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", "type": "string" }, "metadata": { @@ -35007,7 +34334,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -35024,7 +34351,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -35036,17 +34363,17 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, "spec": { - "description": "GcpCloudConfigSpec defines the cloud configuration input by user This will translate to clusterspec/machinespec for cluster-api", + "description": "OpenStackCloudConfigSpec defines the cloud configuration input by user This will translate to clusterspec/machinespec for cluster-api", "type": "object", "properties": { "cloudAccountRef": { @@ -35058,48 +34385,83 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } }, "clusterConfig": { - "description": "Cluster level configuration for gcp cloud and applicable for all the machine pools", + "description": "Cluster level configuration for OpenStack cloud and applicable for all the machine pools", "type": "object", - "required": [ - "project", - "region" - ], "properties": { - "managedClusterConfig": { - "description": "GCP managed cluster config", + "bastionDisabled": { + "description": "Create bastion node option we have earlier supported creation of bastion by default", + "type": "boolean" + }, + "dnsNameservers": { + "description": "DNSNameservers is the list of nameservers for OpenStack Subnet being created. Set this value when you need create a new network/subnet while the access through DNS is required.", + "type": "array", + "items": { + "type": "string" + } + }, + "domain": { "type": "object", "properties": { - "enableAutoPilot": { - "description": "EnableAutopilot indicates whether to enable autopilot for this GKE cluster", - "type": "boolean" + "id": { + "type": "string" }, - "location": { - "description": "Can be Region or Zone", + "name": { "type": "string" } } }, "network": { - "description": "NetworkName if empty would create VPC Network in auto mode. If provided, custom VPC network will be used", + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + } + }, + "nodeCidr": { + "description": "For dynamic provision NodeCIDR is the OpenStack Subnet to be created. Cluster actuator will create a network, a subnet with NodeCIDR, and a router connected to this subnet. If you leave this empty, no network will be created.", "type": "string" }, "project": { - "description": "Name of the project in which cluster is to be deployed", - "type": "string" + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + } }, "region": { - "description": "GCP region for the cluster", "type": "string" + }, + "sshKeyName": { + "type": "string" + }, + "subnet": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + } } } }, @@ -35108,8 +34470,7 @@ "items": { "type": "object", "required": [ - "isControlPlane", - "instanceType" + "flavorConfig" ], "properties": { "additionalLabels": { @@ -35127,40 +34488,48 @@ } }, "azs": { + "description": "for control plane pool, this will be the failure domains for kcp", "type": "array", "items": { "type": "string" } }, - "instanceConfig": { + "diskGiB": { + "description": "DiskGiB is used to configure rootVolume, the volume metadata to boot from", + "type": "integer", + "format": "int32" + }, + "flavor": { + "description": "Openstack flavor name, only return argument", + "type": "string" + }, + "flavorConfig": { + "required": [ + "name" + ], "properties": { - "category": { - "type": "string" - }, - "cpuSet": { - "type": "integer", - "format": "int64" - }, "diskGiB": { + "description": "DiskGiB is the size of a virtual machine's disk, in GiB.", "type": "integer", - "format": "int64" + "format": "int32" }, "memoryMiB": { - "description": "MemoryMiB is the size of a virtual machine's memory, in MiB", + "description": "MemoryMiB is the size of a virtual machine's memory, in MiB.", "type": "integer", "format": "int64" }, "name": { + "description": "Openstack flavor name", "type": "string" }, "numCPUs": { - "description": "NumCPUs is the number of virtual processors in a virtual machine", + "description": "NumCPUs is the number of virtual processors in a virtual machine.", "type": "integer", "format": "int32" } } }, - "instanceType": { + "image": { "type": "string" }, "isControlPlane": { @@ -35168,7 +34537,7 @@ "type": "boolean" }, "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", + "description": "labels for this pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -35206,29 +34575,24 @@ "type": "integer", "format": "int32" }, - "rootDeviceSize": { - "description": "Size of root volume in GB. Default is 30GB", - "type": "integer", - "format": "int64" - }, "size": { "description": "size of the pool, number of machines", "type": "integer", "format": "int32" }, "subnet": { - "description": "Subnet specifies the subnetwork to use for given instance. If not specified, the first subnet from the cluster region and network is used", - "type": "string" - }, - "subnetIds": { - "description": "AZ to subnet mapping filled by ally from hubble SubnetIDs [\"us-west-2d\"] = \"subnet-079b6061\" This field is optional If we don't provide a subnetId then by default the first private subnet from the AZ will be picked up for deployment", "type": "object", - "additionalProperties": { - "type": "string" + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } } }, "taints": { - "description": "master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -35274,7 +34638,7 @@ } }, "useControlPlaneAsWorker": { - "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean" } } @@ -35283,15 +34647,10 @@ } }, "status": { - "description": "GcpCloudConfigStatus defines the observed state of GcpCloudConfig The cloudimage info built by Mold is stored here image should be mapped to a specific machinepool", + "description": "OpenStackCloudConfigStatus defines the observed state of OpenStackCloudConfig The cloudimage info built by Mold is stored here image should be mapped to a specific machinepool", "type": "object", "properties": { - "ansibleRoleDigest": { - "description": "For mold controller to identify if is there any changes in Pack", - "type": "string" - }, "conditions": { - "description": "spectroAnsibleProvisioner: should be added only once, subsequent recocile will use the same provisioner SpectroAnsiblePacker bool `json:\"spectroAnsiblePacker,omitempty\"`", "type": "array", "items": { "type": "object", @@ -35327,41 +34686,14 @@ } } }, - "images": { - "description": "Refers to GCP image", - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "os": { - "type": "string" - }, - "region": { - "type": "string" - }, - "state": { - "type": "string" - } - } - }, - "isAddonLayer": { - "description": "addon layers present in spc", - "type": "boolean" - }, - "roleDigest": { - "description": "this map will be for ansible roles present in each pack", - "type": "object", - "additionalProperties": { - "type": "string" - } + "nodeImage": { + "type": "string" }, "sourceImageId": { "description": "sourceImageId, it can be from packref's annotations or from pack.json", "type": "string" }, "useCapiImage": { - "description": "PackerVariableDigest string `json:\"packerDigest,omitempty\"` If no ansible roles found in Packs then Mold should tell Drive to use capi image and not create custom image, because there is nothing to add", "type": "boolean" } } @@ -35381,7 +34713,7 @@ } ] }, - "/v1/cloudconfigs/gke/{configUid}/clusterConfig": { + "/v1/cloudconfigs/openstack/{configUid}/clusterConfig": { "put": { "security": [ { @@ -35395,48 +34727,83 @@ "v1" ], "summary": "Updates the cluster configuration information", - "operationId": "v1CloudConfigsGkeUidClusterConfig", + "operationId": "v1CloudConfigsOpenStackUidClusterConfig", "parameters": [ { "name": "body", "in": "body", "schema": { - "description": "Gcp cloud cluster config entity", + "description": "Openstack cloud cluster config entity", "type": "object", "properties": { "clusterConfig": { - "description": "Cluster level configuration for gcp cloud and applicable for all the machine pools", + "description": "Cluster level configuration for OpenStack cloud and applicable for all the machine pools", "type": "object", - "required": [ - "project", - "region" - ], "properties": { - "managedClusterConfig": { - "description": "GCP managed cluster config", + "bastionDisabled": { + "description": "Create bastion node option we have earlier supported creation of bastion by default", + "type": "boolean" + }, + "dnsNameservers": { + "description": "DNSNameservers is the list of nameservers for OpenStack Subnet being created. Set this value when you need create a new network/subnet while the access through DNS is required.", + "type": "array", + "items": { + "type": "string" + } + }, + "domain": { "type": "object", "properties": { - "enableAutoPilot": { - "description": "EnableAutopilot indicates whether to enable autopilot for this GKE cluster", - "type": "boolean" + "id": { + "type": "string" }, - "location": { - "description": "Can be Region or Zone", + "name": { "type": "string" } } }, "network": { - "description": "NetworkName if empty would create VPC Network in auto mode. If provided, custom VPC network will be used", + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + } + }, + "nodeCidr": { + "description": "For dynamic provision NodeCIDR is the OpenStack Subnet to be created. Cluster actuator will create a network, a subnet with NodeCIDR, and a router connected to this subnet. If you leave this empty, no network will be created.", "type": "string" }, "project": { - "description": "Name of the project in which cluster is to be deployed", - "type": "string" + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + } }, "region": { - "description": "GCP region for the cluster", "type": "string" + }, + "sshKeyName": { + "type": "string" + }, + "subnet": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + } } } } @@ -35466,7 +34833,7 @@ } ] }, - "/v1/cloudconfigs/gke/{configUid}/machinePools": { + "/v1/cloudconfigs/openstack/{configUid}/machinePools": { "post": { "security": [ { @@ -35479,8 +34846,8 @@ "tags": [ "v1" ], - "summary": "Creates an GKE cloud config's machine pool", - "operationId": "v1CloudConfigsGkeMachinePoolCreate", + "summary": "Creates a OpenStack cloud config's machine pool", + "operationId": "v1CloudConfigsOpenStackMachinePoolCreate", "parameters": [ { "name": "body", @@ -35494,37 +34861,55 @@ "cloudConfig": { "type": "object", "required": [ - "instanceType" + "flavorConfig" ], "properties": { "azs": { + "description": "for control plane pool, this will be the failure domains for kcp", "type": "array", "items": { "type": "string" } }, - "instanceType": { - "type": "string" - }, - "rootDeviceSize": { - "description": "Size of root volume in GB. Default is 30GB", + "diskGiB": { + "description": "Root disk size", "type": "integer", - "format": "int64" + "format": "int32" }, - "subnet": { - "description": "Subnet specifies the subnetwork to use for given instance. If not specified, the first subnet from the cluster region and network is used", - "type": "string" + "flavorConfig": { + "required": [ + "name" + ], + "properties": { + "diskGiB": { + "description": "DiskGiB is the size of a virtual machine's disk, in GiB.", + "type": "integer", + "format": "int32" + }, + "memoryMiB": { + "description": "MemoryMiB is the size of a virtual machine's memory, in MiB.", + "type": "integer", + "format": "int64" + }, + "name": { + "description": "Openstack flavor name", + "type": "string" + }, + "numCPUs": { + "description": "NumCPUs is the number of virtual processors in a virtual machine.", + "type": "integer", + "format": "int32" + } + } }, - "subnets": { - "type": "array", - "items": { - "properties": { - "az": { - "type": "string" - }, - "id": { - "type": "string" - } + "subnet": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" } } } @@ -35559,7 +34944,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -35603,7 +34988,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -35649,7 +35034,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -35698,7 +35083,7 @@ } ] }, - "/v1/cloudconfigs/gke/{configUid}/machinePools/{machinePoolName}": { + "/v1/cloudconfigs/openstack/{configUid}/machinePools/{machinePoolName}": { "put": { "security": [ { @@ -35711,8 +35096,8 @@ "tags": [ "v1" ], - "summary": "Updates the specified GKE cloud config's machine pool", - "operationId": "v1CloudConfigsGkeMachinePoolUpdate", + "summary": "Updates the specified OpenStack cloud config's machine pool", + "operationId": "v1CloudConfigsOpenStackMachinePoolUpdate", "parameters": [ { "name": "body", @@ -35726,37 +35111,55 @@ "cloudConfig": { "type": "object", "required": [ - "instanceType" + "flavorConfig" ], "properties": { "azs": { + "description": "for control plane pool, this will be the failure domains for kcp", "type": "array", "items": { "type": "string" } }, - "instanceType": { - "type": "string" - }, - "rootDeviceSize": { - "description": "Size of root volume in GB. Default is 30GB", + "diskGiB": { + "description": "Root disk size", "type": "integer", - "format": "int64" + "format": "int32" }, - "subnet": { - "description": "Subnet specifies the subnetwork to use for given instance. If not specified, the first subnet from the cluster region and network is used", - "type": "string" + "flavorConfig": { + "required": [ + "name" + ], + "properties": { + "diskGiB": { + "description": "DiskGiB is the size of a virtual machine's disk, in GiB.", + "type": "integer", + "format": "int32" + }, + "memoryMiB": { + "description": "MemoryMiB is the size of a virtual machine's memory, in MiB.", + "type": "integer", + "format": "int64" + }, + "name": { + "description": "Openstack flavor name", + "type": "string" + }, + "numCPUs": { + "description": "NumCPUs is the number of virtual processors in a virtual machine.", + "type": "integer", + "format": "int32" + } + } }, - "subnets": { - "type": "array", - "items": { - "properties": { - "az": { - "type": "string" - }, - "id": { - "type": "string" - } + "subnet": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" } } } @@ -35791,7 +35194,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -35835,7 +35238,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -35881,7 +35284,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -35916,7 +35319,7 @@ "v1" ], "summary": "Deletes the specified machine pool", - "operationId": "v1CloudConfigsGkeMachinePoolDelete", + "operationId": "v1CloudConfigsOpenStackMachinePoolDelete", "parameters": [ { "type": "string", @@ -35948,7 +35351,7 @@ } ] }, - "/v1/cloudconfigs/gke/{configUid}/machinePools/{machinePoolName}/machines": { + "/v1/cloudconfigs/openstack/{configUid}/machinePools/{machinePoolName}/machines": { "get": { "security": [ { @@ -35961,48 +35364,9 @@ "tags": [ "v1" ], - "summary": "Retrieves a list of GKE machines", - "operationId": "v1CloudConfigsGkePoolMachinesList", + "summary": "Retrieves a list of OpenStack machines", + "operationId": "v1CloudConfigsOpenStackPoolMachinesList", "parameters": [ - { - "type": "string", - "description": "Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name", - "name": "fields", - "in": "query" - }, - { - "type": "string", - "description": "Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.", - "name": "filters", - "in": "query" - }, - { - "type": "string", - "description": "Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1", - "name": "orderBy", - "in": "query" - }, - { - "type": "integer", - "format": "int64", - "default": 50, - "description": "limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", - "name": "limit", - "in": "query" - }, - { - "type": "integer", - "format": "int64", - "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", - "name": "offset", - "in": "query" - }, - { - "type": "string", - "description": "continue token to paginate the subsequent data items", - "name": "continue", - "in": "query" - }, { "type": "string", "description": "Scope the request to the specified project uid", @@ -36012,9 +35376,9 @@ ], "responses": { "200": { - "description": "An array of GKE machine items", + "description": "An array of OpenStack machine items", "schema": { - "description": "GCP machine list", + "description": "OpenStack machine list", "type": "object", "required": [ "items" @@ -36024,15 +35388,13 @@ "type": "array", "uniqueItems": true, "items": { - "description": "GCP cloud VM definition", + "description": "OpenStack cloud VM definition", "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -36040,7 +35402,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -36057,7 +35419,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -36069,37 +35431,36 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, "spec": { - "description": "GCP cloud VM definition spec", + "description": "OpenStack cloud VM definition spec", "type": "object", "required": [ - "instanceType" + "instanceType", + "nics" ], "properties": { + "az": { + "type": "string" + }, "image": { "type": "string" }, - "instanceConfig": { + "instanceType": { + "type": "object", "properties": { - "category": { - "type": "string" - }, - "cpuSet": { - "type": "integer", - "format": "int64" - }, "diskGiB": { + "description": "DiskGiB is the size of a virtual machine's disk, in GiB", "type": "integer", - "format": "int64" + "format": "int32" }, "memoryMiB": { "description": "MemoryMiB is the size of a virtual machine's memory, in MiB", @@ -36116,14 +35477,14 @@ } } }, - "instanceType": { - "type": "string" - }, "nics": { "type": "array", "items": { - "description": "GCP network interface", + "description": "OpenStack network interface", "type": "object", + "required": [ + "networkName" + ], "properties": { "index": { "type": "integer", @@ -36137,24 +35498,20 @@ "items": { "type": "string" } - }, - "publicIp": { - "type": "string" } } } }, - "project": { - "type": "string" - }, - "region": { + "projectId": { "type": "string" }, - "rootDeviceSize": { - "type": "integer", - "format": "int64" + "securityGroups": { + "type": "array", + "items": { + "type": "string" + } }, - "zone": { + "sshKeyName": { "type": "string" } } @@ -36230,32 +35587,6 @@ } } } - }, - "listmeta": { - "description": "ListMeta describes metadata for the resource listing", - "type": "object", - "properties": { - "continue": { - "description": "Next token for the pagination. Next token is equal to empty string indicates end of result set.", - "type": "string", - "x-omitempty": false - }, - "count": { - "description": "Total count of the resources which might change during pagination based on the resources addition or deletion", - "type": "integer", - "x-omitempty": false - }, - "limit": { - "description": "Number of records feteched", - "type": "integer", - "x-omitempty": false - }, - "offset": { - "description": "The next offset for the pagination. Starting index for which next request will be placed.", - "type": "integer", - "x-omitempty": false - } - } } } } @@ -36274,22 +35605,20 @@ "tags": [ "v1" ], - "summary": "Adds the machine to cloud config's machine pool", - "operationId": "v1CloudConfigsGkePoolMachinesAdd", + "summary": "Adds the OpenStack machine to cloud config's machine pool", + "operationId": "v1CloudConfigsOpenStackPoolMachinesAdd", "parameters": [ { "name": "body", "in": "body", "schema": { - "description": "GCP cloud VM definition", + "description": "OpenStack cloud VM definition", "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -36297,7 +35626,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -36314,7 +35643,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -36326,37 +35655,36 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, "spec": { - "description": "GCP cloud VM definition spec", + "description": "OpenStack cloud VM definition spec", "type": "object", "required": [ - "instanceType" + "instanceType", + "nics" ], "properties": { + "az": { + "type": "string" + }, "image": { "type": "string" }, - "instanceConfig": { + "instanceType": { + "type": "object", "properties": { - "category": { - "type": "string" - }, - "cpuSet": { - "type": "integer", - "format": "int64" - }, "diskGiB": { + "description": "DiskGiB is the size of a virtual machine's disk, in GiB", "type": "integer", - "format": "int64" + "format": "int32" }, "memoryMiB": { "description": "MemoryMiB is the size of a virtual machine's memory, in MiB", @@ -36373,14 +35701,14 @@ } } }, - "instanceType": { - "type": "string" - }, "nics": { "type": "array", "items": { - "description": "GCP network interface", + "description": "OpenStack network interface", "type": "object", + "required": [ + "networkName" + ], "properties": { "index": { "type": "integer", @@ -36394,24 +35722,20 @@ "items": { "type": "string" } - }, - "publicIp": { - "type": "string" } } } }, - "project": { - "type": "string" - }, - "region": { + "projectId": { "type": "string" }, - "rootDeviceSize": { - "type": "integer", - "format": "int64" + "securityGroups": { + "type": "array", + "items": { + "type": "string" + } }, - "zone": { + "sshKeyName": { "type": "string" } } @@ -36535,7 +35859,7 @@ } ] }, - "/v1/cloudconfigs/gke/{configUid}/machinePools/{machinePoolName}/machines/{machineUid}": { + "/v1/cloudconfigs/openstack/{configUid}/machinePools/{machinePoolName}/machines/{machineUid}": { "get": { "security": [ { @@ -36548,8 +35872,8 @@ "tags": [ "v1" ], - "summary": "Returns the specified GKE machine", - "operationId": "v1CloudConfigsGkePoolMachinesUidGet", + "summary": "Returns the specified OpenStack machine", + "operationId": "v1CloudConfigsOpenStackPoolMachinesUidGet", "parameters": [ { "type": "string", @@ -36562,15 +35886,13 @@ "200": { "description": "OK", "schema": { - "description": "GCP cloud VM definition", + "description": "OpenStack cloud VM definition", "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -36578,7 +35900,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -36595,7 +35917,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -36607,37 +35929,36 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, "spec": { - "description": "GCP cloud VM definition spec", + "description": "OpenStack cloud VM definition spec", "type": "object", "required": [ - "instanceType" + "instanceType", + "nics" ], "properties": { + "az": { + "type": "string" + }, "image": { "type": "string" }, - "instanceConfig": { + "instanceType": { + "type": "object", "properties": { - "category": { - "type": "string" - }, - "cpuSet": { - "type": "integer", - "format": "int64" - }, "diskGiB": { + "description": "DiskGiB is the size of a virtual machine's disk, in GiB", "type": "integer", - "format": "int64" + "format": "int32" }, "memoryMiB": { "description": "MemoryMiB is the size of a virtual machine's memory, in MiB", @@ -36654,14 +35975,14 @@ } } }, - "instanceType": { - "type": "string" - }, "nics": { "type": "array", "items": { - "description": "GCP network interface", + "description": "OpenStack network interface", "type": "object", + "required": [ + "networkName" + ], "properties": { "index": { "type": "integer", @@ -36675,24 +35996,20 @@ "items": { "type": "string" } - }, - "publicIp": { - "type": "string" } } } }, - "project": { - "type": "string" - }, - "region": { + "projectId": { "type": "string" }, - "rootDeviceSize": { - "type": "integer", - "format": "int64" + "securityGroups": { + "type": "array", + "items": { + "type": "string" + } }, - "zone": { + "sshKeyName": { "type": "string" } } @@ -36783,22 +36100,20 @@ "tags": [ "v1" ], - "summary": "Updates the specified machine to the cloud config's machine pool", - "operationId": "v1CloudConfigsGkePoolMachinesUidUpdate", + "summary": "Updates the specified machine to cloud config's machine pool", + "operationId": "v1CloudConfigsOpenStackPoolMachinesUidUpdate", "parameters": [ { "name": "body", "in": "body", "schema": { - "description": "GCP cloud VM definition", + "description": "OpenStack cloud VM definition", "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -36806,7 +36121,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -36823,7 +36138,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -36835,37 +36150,36 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, "spec": { - "description": "GCP cloud VM definition spec", + "description": "OpenStack cloud VM definition spec", "type": "object", "required": [ - "instanceType" + "instanceType", + "nics" ], "properties": { + "az": { + "type": "string" + }, "image": { "type": "string" }, - "instanceConfig": { + "instanceType": { + "type": "object", "properties": { - "category": { - "type": "string" - }, - "cpuSet": { - "type": "integer", - "format": "int64" - }, "diskGiB": { + "description": "DiskGiB is the size of a virtual machine's disk, in GiB", "type": "integer", - "format": "int64" + "format": "int32" }, "memoryMiB": { "description": "MemoryMiB is the size of a virtual machine's memory, in MiB", @@ -36882,14 +36196,14 @@ } } }, - "instanceType": { - "type": "string" - }, "nics": { "type": "array", "items": { - "description": "GCP network interface", + "description": "OpenStack network interface", "type": "object", + "required": [ + "networkName" + ], "properties": { "index": { "type": "integer", @@ -36903,24 +36217,20 @@ "items": { "type": "string" } - }, - "publicIp": { - "type": "string" } } } }, - "project": { - "type": "string" - }, - "region": { + "projectId": { "type": "string" }, - "rootDeviceSize": { - "type": "integer", - "format": "int64" + "securityGroups": { + "type": "array", + "items": { + "type": "string" + } }, - "zone": { + "sshKeyName": { "type": "string" } } @@ -37022,8 +36332,8 @@ "tags": [ "v1" ], - "summary": "Deletes the specified Gcp machine", - "operationId": "v1CloudConfigsGkePoolMachinesUidDelete", + "summary": "Deletes the specified OpenStack machine", + "operationId": "v1CloudConfigsOpenStackPoolMachinesUidDelete", "parameters": [ { "type": "string", @@ -37062,7 +36372,7 @@ } ] }, - "/v1/cloudconfigs/libvirt/{configUid}": { + "/v1/cloudconfigs/tke/{configUid}": { "get": { "security": [ { @@ -37075,8 +36385,8 @@ "tags": [ "v1" ], - "summary": "Returns the specified libvirt cloud config", - "operationId": "v1CloudConfigsLibvirtGet", + "summary": "Returns the specified TKE cloud config", + "operationId": "v1CloudConfigsTkeGet", "parameters": [ { "type": "string", @@ -37089,23 +36399,15 @@ "200": { "description": "OK", "schema": { - "description": "LibvirtCloudConfig is the Schema for the libvirtcloudconfigs API", + "description": "TencentCloudConfig is the Schema for the tencentcloudconfigs API", "type": "object", "properties": { - "apiVersion": { - "description": "Deprecated. Not used for the resource info. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - "type": "string" - }, - "kind": { - "description": "Cloud type of the cloud config", - "type": "string" - }, "metadata": { "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -37122,7 +36424,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -37134,60 +36436,93 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, "spec": { - "description": "LibvirtCloudConfigSpec defines the desired state of LibvirtCloudConfig", + "description": "TencentCloudConfigSpec defines the cloud configuration input by user This will translate to clusterspec/machinespec for cluster-api", "type": "object", - "required": [ - "clusterConfig", - "machinePoolConfig" - ], "properties": { + "cloudAccountRef": { + "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", + "type": "object", + "properties": { + "kind": { + "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "uid": { + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", + "type": "string" + } + } + }, "clusterConfig": { + "description": "Cluster level configuration for tencent cloud and applicable for all the machine pools", "type": "object", + "required": [ + "region" + ], "properties": { - "controlPlaneEndpoint": { + "endpointAccess": { + "description": "TKEEndpointAccess specifies how control plane endpoints are accessible", "type": "object", "properties": { - "ddnsSearchDomain": { - "description": "DDNSSearchDomain is the search domain used for resolving IP addresses when the EndpointType is DDNS. This search domain is appended to the generated Hostname to obtain the complete DNS name for the endpoint. If Host is already a DDNS FQDN, DDNSSearchDomain is not required", + "IsExtranet": { + "description": "IsExtranet Whether it is external network access (TRUE external network access FALSE internal network access, default value: FALSE)", + "type": "boolean" + }, + "private": { + "description": "Private points VPC-internal control plane access to the private endpoint", + "type": "boolean" + }, + "privateCIDR": { + "description": "Deprecated. PrivateCIDRs specifies which blocks can access the public endpoint", "type": "string" }, - "host": { - "description": "Host is FQDN(DDNS) or IP", + "public": { + "description": "Public controls whether control plane endpoints are publicly accessible", + "type": "boolean" + }, + "publicCIDRs": { + "description": "Deprecated. PublicCIDRs specifies which blocks can access the public endpoint", + "type": "array", + "items": { + "type": "string" + } + }, + "securityGroup": { + "description": "Tencent security group", "type": "string" }, - "type": { - "description": "Type indicates DDNS or VIP", + "subnetId": { + "description": "Tencent Subnet", "type": "string" } } }, - "ntpServers": { - "description": "NTPServers is a list of NTP servers to use instead of the machine image's default NTP server list", - "type": "array", - "items": { - "type": "string" - } + "region": { + "type": "string" }, - "sshKeys": { - "description": "SSHKeys specifies a list of ssh authorized keys to access the vms as a 'spectro' user", + "sshKeyIDs": { "type": "array", "items": { "type": "string" } }, - "staticIp": { - "description": "StaticIP indicates if IP allocation type is static IP. DHCP is the default allocation type", - "type": "boolean" + "vpcID": { + "description": "VPC Id to deploy cluster into should have one public and one private subnet for the the cluster creation, this field is optional, If VPC Id is not provided a fully managed VPC will be created", + "type": "string" } } }, @@ -37195,14 +36530,9 @@ "type": "array", "items": { "type": "object", - "required": [ - "instanceType", - "placements", - "rootDiskInGB" - ], "properties": { "additionalLabels": { - "description": "additionalLabels", + "description": "AdditionalLabels", "type": "object", "additionalProperties": { "type": "string" @@ -37215,73 +36545,51 @@ "type": "string" } }, - "instanceType": { - "description": "LibvirtInstanceType defines the instance configuration for a virtual machine", - "type": "object", - "required": [ - "numCPUs", - "memoryInMB" - ], + "azs": { + "description": "AZs is only used for dynamic placement", + "type": "array", + "items": { + "type": "string" + } + }, + "instanceConfig": { "properties": { - "cpuPassthroughSpec": { - "type": "object", - "properties": { - "cachePassthrough": { - "type": "boolean" - }, - "isEnabled": { - "description": "Enables the CPU Passthrough for the libvirt domain", - "type": "boolean" - } - } - }, - "cpuset": { - "description": "CPUSet defines cpuset for an instance which allows allocation specific set of cpus E.g cpuset=\"1-4,^3,6\" See https://libvirt.org/formatdomain.html#cpu-allocation", + "category": { "type": "string" }, - "gpuConfig": { - "type": "object", - "properties": { - "addresses": { - "description": "Addresses is a map of PCI device entry name to its addresses.\nExample entry would be \"11:00.0 VGA compatible controller [0300]: NVIDIA\nCorporation Device [10de:1eb1] (rev a1)\"- \u003e 0000_11_00_0\" The address is\nBDF (Bus Device Function) identifier format seperated by underscores. The\nfirst 4 bits are almost always 0000. In the above example 11 is Bus, 00\nis Device,0 is function. The values of these addreses are expected in hexadecimal\nformat\n", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "deviceModel": { - "description": "DeviceModel is the model of GPU, for a given vendor, for eg., TU104GL [Tesla T4]", - "type": "string" - }, - "numGPUs": { - "description": "NumGPUs is the number of GPUs", - "type": "integer", - "format": "int32" - }, - "vendorName": { - "description": "VendorName is the GPU vendor, for eg., NVIDIA or AMD", - "type": "string" - } - } + "cpuSet": { + "type": "integer", + "format": "int64" }, - "memoryInMB": { - "description": "MemoryinMB is the memory in megabytes", + "diskGiB": { "type": "integer", - "format": "int32" + "format": "int64" + }, + "memoryMiB": { + "description": "MemoryMiB is the size of a virtual machine's memory, in MiB", + "type": "integer", + "format": "int64" + }, + "name": { + "type": "string" }, "numCPUs": { - "description": "NumCPUs is the number of CPUs", + "description": "NumCPUs is the number of virtual processors in a virtual machine", "type": "integer", "format": "int32" } } }, + "instanceType": { + "description": "instance type", + "type": "string" + }, "isControlPlane": { "description": "whether this pool is for control plane", "type": "boolean" }, "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", + "description": "labels for this pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -37319,160 +36627,26 @@ "type": "integer", "format": "int32" }, - "nonRootDisksInGB": { - "description": "NonRootDisksInGB is the list of additional disks, if required, in GB", - "type": "array", - "items": { - "type": "object", - "required": [ - "sizeInGB" - ], - "properties": { - "dataStoragePool": { - "description": "DataStoragePool is the storage pool from which additional disks are assigned", - "type": "string" - }, - "managed": { - "description": "Managed indicates if the disk is a persistent or not. By default its false indicating all disks are ephemeral.", - "type": "boolean" - }, - "sizeInGB": { - "description": "SizeInGB is the target size in GB of the disk to be added", - "type": "integer", - "format": "int32" - } - } - } - }, - "placements": { - "description": "Placements defines the configurations of the failureDomains(hosts) for the machine pool", - "type": "array", - "items": { - "type": "object", - "required": [ - "hostUid", - "hostAddress", - "networks", - "sourceStoragePool" - ], - "properties": { - "dataStoragePool": { - "description": "DataStoragePool is the storage pool from which additional disks are assigned", - "type": "string" - }, - "gpuDevices": { - "description": "GPU Devices is the list of LibvirtHost GPU devices, to be used for this placement", - "type": "array", - "items": { - "type": "object", - "properties": { - "addresses": { - "description": "Addresses is a map of PCI device entry name to its addresses.\nExample entry would be \"11:00.0 VGA compatible controller [0300]: NVIDIA\nCorporation Device [10de:1eb1] (rev a1)\"- \u003e 0000_11_00_0\" The address is\nBDF (Bus Device Function) identifier format seperated by underscores. The\nfirst 4 bits are almost always 0000. In the above example 11 is Bus, 00\nis Device,0 is function. The values of these addreses are expected in hexadecimal\nformat\n", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "model": { - "description": "Model is the model of GPU, for a given vendor, for eg., TU104GL [Tesla T4]", - "type": "string" - }, - "vendor": { - "description": "Vendor is the GPU vendor, for eg., NVIDIA or AMD", - "type": "string" - } - } - } - }, - "hostAddress": { - "description": "HostAddress is a FQDN or IP address of the LibvirtHost", - "type": "string" - }, - "hostIdentity": { - "type": "object", - "properties": { - "caCert": { - "description": "CACert is the client CA certificate", - "type": "string" - }, - "mode": { - "description": "Mode indicates a system or session connection to the host", - "type": "string" - }, - "socketPath": { - "description": "SocketPath is an optional path to the socket on the host, if not using defaults", - "type": "string" - }, - "sshSecret": { - "type": "object", - "properties": { - "name": { - "description": "SSH secret name", - "type": "string" - }, - "privateKey": { - "description": "Private Key to access the host", - "type": "string" - } - } - } - } - }, - "hostUid": { - "description": "HostUid is the ID of the LibvirtHost", - "type": "string" - }, - "networks": { - "description": "Networks defines the network specifications of the vms in the machine pool", - "type": "array", - "items": { - "description": "LibvirtNetworkSpec defines the network configuration for a virtual machine", - "type": "object", - "required": [ - "networkName", - "networkType" - ], - "properties": { - "networkName": { - "description": "NetworkName of the libvirt network where this machine will be connected", - "type": "string" - }, - "networkType": { - "description": "NetworkType specifies the type of network", - "type": "string", - "enum": [ - "default", - "bridge" - ] - } - } - } - }, - "sourceStoragePool": { - "description": "SourceStoragePool is the storage pool for the vm image", - "type": "string" - }, - "targetStoragePool": { - "description": "TargetStoragePool is the optional storage pool from which additional disks are assigned. If not specified, the sourceStoragePool is also used as the targetStoragePool", - "type": "string" - } - } - } - }, - "rootDiskInGB": { - "description": "RootDiskInGB is the size of a vm's root disk, in GB", + "rootDeviceSize": { + "description": "rootDeviceSize in GBs", "type": "integer", - "format": "int32" + "format": "int64" }, "size": { "description": "size of the pool, number of machines", "type": "integer", "format": "int32" }, + "subnetIds": { + "description": "AZ to subnet mapping filled by ally from hubble SubnetIDs [\"ap-guangzhou-6\"] = \"subnet-079b6061\" This field is optional If we don't provide a subnetId then by default the first subnet from the AZ will be picked up for deployment", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, "taints": { - "description": "master or worker taints", + "description": "control plane or worker taints", "type": "array", - "uniqueItems": true, "items": { "description": "Taint", "type": "object", @@ -37516,82 +36690,11 @@ } }, "useControlPlaneAsWorker": { - "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean" - }, - "xslTemplate": { - "description": "XSLTemplate defines a base64-encoded raw xsl template which will be included in the machine definition", - "type": "string" - } - } - } - } - } - }, - "status": { - "type": "object", - "properties": { - "conditions": { - "type": "array", - "items": { - "type": "object", - "required": [ - "type", - "status" - ], - "properties": { - "lastProbeTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "lastTransitionTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "message": { - "description": "Human-readable message indicating details about last transition.", - "type": "string" - }, - "reason": { - "description": "Unique, one-word, CamelCase reason for the condition's last transition.", - "type": "string" - }, - "status": { - "type": "string" - }, - "type": { - "type": "string" - } - } - } - }, - "nodeImages": { - "description": "NodeImages are the list of images generated on all the LibvirtHosts", - "type": "array", - "items": { - "description": "LibvirtImage is the Image generated on the LibvirtHost", - "type": "object", - "properties": { - "hostID": { - "description": "HostID is the ID of the LibvirtHost", - "type": "string" - }, - "imageName": { - "description": "ImageName is the name of the Libvirt image", - "type": "string" - }, - "storagePool": { - "description": "StoragePool is the name of the storagePool where is image is located", - "type": "string" } } } - }, - "sourceImageId": { - "description": "SourceImageId can be from packref's annotations or from pack.json", - "type": "string" } } } @@ -37610,7 +36713,7 @@ } ] }, - "/v1/cloudconfigs/libvirt/{configUid}/clusterConfig": { + "/v1/cloudconfigs/tke/{configUid}/clusterConfig": { "put": { "security": [ { @@ -37624,52 +36727,71 @@ "v1" ], "summary": "Updates the cluster configuration information", - "operationId": "v1CloudConfigsLibvirtUidClusterConfig", + "operationId": "v1CloudConfigsTkeUidClusterConfig", "parameters": [ { "name": "body", "in": "body", "schema": { - "description": "Libvirt cloud cluster config entity", + "description": "Tencent cloud cluster config entity", "type": "object", "properties": { "clusterConfig": { + "description": "Cluster level configuration for tencent cloud and applicable for all the machine pools", "type": "object", + "required": [ + "region" + ], "properties": { - "controlPlaneEndpoint": { + "endpointAccess": { + "description": "TKEEndpointAccess specifies how control plane endpoints are accessible", "type": "object", "properties": { - "ddnsSearchDomain": { - "description": "DDNSSearchDomain is the search domain used for resolving IP addresses when the EndpointType is DDNS. This search domain is appended to the generated Hostname to obtain the complete DNS name for the endpoint. If Host is already a DDNS FQDN, DDNSSearchDomain is not required", + "IsExtranet": { + "description": "IsExtranet Whether it is external network access (TRUE external network access FALSE internal network access, default value: FALSE)", + "type": "boolean" + }, + "private": { + "description": "Private points VPC-internal control plane access to the private endpoint", + "type": "boolean" + }, + "privateCIDR": { + "description": "Deprecated. PrivateCIDRs specifies which blocks can access the public endpoint", "type": "string" }, - "host": { - "description": "Host is FQDN(DDNS) or IP", + "public": { + "description": "Public controls whether control plane endpoints are publicly accessible", + "type": "boolean" + }, + "publicCIDRs": { + "description": "Deprecated. PublicCIDRs specifies which blocks can access the public endpoint", + "type": "array", + "items": { + "type": "string" + } + }, + "securityGroup": { + "description": "Tencent security group", "type": "string" }, - "type": { - "description": "Type indicates DDNS or VIP", + "subnetId": { + "description": "Tencent Subnet", "type": "string" } } }, - "ntpServers": { - "description": "NTPServers is a list of NTP servers to use instead of the machine image's default NTP server list", - "type": "array", - "items": { - "type": "string" - } + "region": { + "type": "string" }, - "sshKeys": { - "description": "SSHKeys specifies a list of ssh authorized keys to access the vms as a 'spectro' user", + "sshKeyIDs": { "type": "array", "items": { "type": "string" } }, - "staticIp": { - "description": "StaticIP indicates if IP allocation type is static IP. DHCP is the default allocation type", - "type": "boolean" + "vpcID": { + "description": "VPC Id to deploy cluster into should have one public and one private subnet for the the cluster creation, this field is optional, If VPC Id is not provided a fully managed VPC will be created", + "type": "string" } } } @@ -37699,7 +36821,7 @@ } ] }, - "/v1/cloudconfigs/libvirt/{configUid}/machinePools": { + "/v1/cloudconfigs/tke/{configUid}/machinePools": { "post": { "security": [ { @@ -37712,191 +36834,44 @@ "tags": [ "v1" ], - "summary": "Creates a libvirt cloud config's machine pool", - "operationId": "v1CloudConfigsLibvirtMachinePoolCreate", + "summary": "Creates an TKE cloud config's machine pool", + "operationId": "v1CloudConfigsTkeMachinePoolCreate", "parameters": [ { "name": "body", "in": "body", "schema": { "type": "object", + "required": [ + "cloudConfig" + ], "properties": { "cloudConfig": { - "required": [ - "instanceType", - "placements", - "rootDiskInGB" - ], + "type": "object", "properties": { - "instanceType": { - "description": "LibvirtInstanceType defines the instance configuration for a virtual machine", - "type": "object", - "required": [ - "numCPUs", - "memoryInMB" - ], - "properties": { - "cpuPassthroughSpec": { - "type": "object", - "properties": { - "cachePassthrough": { - "type": "boolean" - }, - "isEnabled": { - "description": "Enables the CPU Passthrough for the libvirt domain", - "type": "boolean" - } - } - }, - "cpuset": { - "description": "CPUSet defines cpuset for an instance which allows allocation specific set of cpus E.g cpuset=\"1-4,^3,6\" See https://libvirt.org/formatdomain.html#cpu-allocation", - "type": "string" - }, - "gpuConfig": { - "type": "object", - "properties": { - "addresses": { - "description": "Addresses is a map of PCI device entry name to its addresses.\nExample entry would be \"11:00.0 VGA compatible controller [0300]: NVIDIA\nCorporation Device [10de:1eb1] (rev a1)\"- \u003e 0000_11_00_0\" The address is\nBDF (Bus Device Function) identifier format seperated by underscores. The\nfirst 4 bits are almost always 0000. In the above example 11 is Bus, 00\nis Device,0 is function. The values of these addreses are expected in hexadecimal\nformat\n", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "deviceModel": { - "description": "DeviceModel is the model of GPU, for a given vendor, for eg., TU104GL [Tesla T4]", - "type": "string" - }, - "numGPUs": { - "description": "NumGPUs is the number of GPUs", - "type": "integer", - "format": "int32" - }, - "vendorName": { - "description": "VendorName is the GPU vendor, for eg., NVIDIA or AMD", - "type": "string" - } - } - }, - "memoryInMB": { - "description": "MemoryinMB is the memory in megabytes", - "type": "integer", - "format": "int32" - }, - "numCPUs": { - "description": "NumCPUs is the number of CPUs", - "type": "integer", - "format": "int32" - } - } - }, - "nonRootDisksInGB": { - "description": "NonRootDisksInGB is the list of additional disks, if required, in GB", + "azs": { "type": "array", "items": { - "type": "object", - "required": [ - "sizeInGB" - ], - "properties": { - "dataStoragePool": { - "description": "DataStoragePool is the storage pool from which additional disks are assigned", - "type": "string" - }, - "managed": { - "description": "Managed indicates if the disk is a persistent or not. By default its false indicating all disks are ephemeral.", - "type": "boolean" - }, - "sizeInGB": { - "description": "SizeInGB is the target size in GB of the disk to be added", - "type": "integer", - "format": "int32" - } - } + "type": "string" } }, - "placements": { - "description": "Placements configuration Placements If defined, will replace default values defined in VsphereClusterConfig Array means one MachinePool can span across multiple vsphere compute cluster", - "type": "array", - "uniqueItems": true, - "items": { - "description": "Libvirt placement config", - "type": "object", - "required": [ - "hostUid" - ], - "properties": { - "dataStoragePool": { - "type": "string" - }, - "gpuDevices": { - "description": "GPUDevices defines an array of gpu device for a specific edge host. This will be overridden by edge host GPU devices if configured during registration.", - "type": "array", - "items": { - "type": "object", - "properties": { - "addresses": { - "description": "Addresses is a map of PCI device entry name to its addresses.\nExample entry would be \"11:00.0 VGA compatible controller [0300]: NVIDIA\nCorporation Device [10de:1eb1] (rev a1)\"- \u003e 0000_11_00_0\" The address is\nBDF (Bus Device Function) identifier format seperated by underscores. The\nfirst 4 bits are almost always 0000. In the above example 11 is Bus, 00\nis Device,0 is function. The values of these addreses are expected in hexadecimal\nformat\n", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "model": { - "description": "Model is the model of GPU, for a given vendor, for eg., TU104GL [Tesla T4]", - "type": "string" - }, - "vendor": { - "description": "Vendor is the GPU vendor, for eg., NVIDIA or AMD", - "type": "string" - } - } - } - }, - "hostUid": { - "type": "string" - }, - "networks": { - "type": "array", - "items": { - "description": "LibvirtNetworkSpec defines the network configuration for a virtual machine", - "type": "object", - "required": [ - "networkName", - "networkType" - ], - "properties": { - "networkName": { - "description": "NetworkName of the libvirt network where this machine will be connected", - "type": "string" - }, - "networkType": { - "description": "NetworkType specifies the type of network", - "type": "string", - "enum": [ - "default", - "bridge" - ] - } - } - } - }, - "sourceStoragePool": { - "type": "string" - }, - "targetStoragePool": { - "type": "string" - } - } - } + "instanceType": { + "description": "instance type", + "type": "string" }, - "rootDiskInGB": { - "description": "RootDiskInGB is the size of a vm's root disk, in GiB", + "rootDeviceSize": { + "description": "rootDeviceSize in GBs", "type": "integer", - "format": "int32" + "format": "int64", + "maximum": 2000, + "minimum": 1 }, - "xslTemplate": { - "description": "XSLTemplate defines a base64-encoded raw xsl template which will be included in the machine definition", - "type": "string" + "subnetIds": { + "description": "AZ to subnet mapping filled by ally from hubble SubnetIDs [\"ap-guangzhou-6\"] = \"subnet-079b6061\" This field is optional If we don't provide a subnetId then by default the first subnet from the AZ will be picked up for deployment", + "type": "object", + "additionalProperties": { + "type": "string" + } } } }, @@ -37929,7 +36904,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -37973,7 +36948,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -38019,7 +36994,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -38068,7 +37043,7 @@ } ] }, - "/v1/cloudconfigs/libvirt/{configUid}/machinePools/{machinePoolName}": { + "/v1/cloudconfigs/tke/{configUid}/machinePools/{machinePoolName}": { "put": { "security": [ { @@ -38081,191 +37056,44 @@ "tags": [ "v1" ], - "summary": "Updates the specified Libvirt cloud config's machine pool", - "operationId": "v1CloudConfigsLibvirtMachinePoolUpdate", + "summary": "Updates the specified TKE cloud config's machine pool", + "operationId": "v1CloudConfigsTkeMachinePoolUpdate", "parameters": [ { "name": "body", "in": "body", "schema": { "type": "object", + "required": [ + "cloudConfig" + ], "properties": { "cloudConfig": { - "required": [ - "instanceType", - "placements", - "rootDiskInGB" - ], + "type": "object", "properties": { - "instanceType": { - "description": "LibvirtInstanceType defines the instance configuration for a virtual machine", - "type": "object", - "required": [ - "numCPUs", - "memoryInMB" - ], - "properties": { - "cpuPassthroughSpec": { - "type": "object", - "properties": { - "cachePassthrough": { - "type": "boolean" - }, - "isEnabled": { - "description": "Enables the CPU Passthrough for the libvirt domain", - "type": "boolean" - } - } - }, - "cpuset": { - "description": "CPUSet defines cpuset for an instance which allows allocation specific set of cpus E.g cpuset=\"1-4,^3,6\" See https://libvirt.org/formatdomain.html#cpu-allocation", - "type": "string" - }, - "gpuConfig": { - "type": "object", - "properties": { - "addresses": { - "description": "Addresses is a map of PCI device entry name to its addresses.\nExample entry would be \"11:00.0 VGA compatible controller [0300]: NVIDIA\nCorporation Device [10de:1eb1] (rev a1)\"- \u003e 0000_11_00_0\" The address is\nBDF (Bus Device Function) identifier format seperated by underscores. The\nfirst 4 bits are almost always 0000. In the above example 11 is Bus, 00\nis Device,0 is function. The values of these addreses are expected in hexadecimal\nformat\n", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "deviceModel": { - "description": "DeviceModel is the model of GPU, for a given vendor, for eg., TU104GL [Tesla T4]", - "type": "string" - }, - "numGPUs": { - "description": "NumGPUs is the number of GPUs", - "type": "integer", - "format": "int32" - }, - "vendorName": { - "description": "VendorName is the GPU vendor, for eg., NVIDIA or AMD", - "type": "string" - } - } - }, - "memoryInMB": { - "description": "MemoryinMB is the memory in megabytes", - "type": "integer", - "format": "int32" - }, - "numCPUs": { - "description": "NumCPUs is the number of CPUs", - "type": "integer", - "format": "int32" - } - } - }, - "nonRootDisksInGB": { - "description": "NonRootDisksInGB is the list of additional disks, if required, in GB", + "azs": { "type": "array", "items": { - "type": "object", - "required": [ - "sizeInGB" - ], - "properties": { - "dataStoragePool": { - "description": "DataStoragePool is the storage pool from which additional disks are assigned", - "type": "string" - }, - "managed": { - "description": "Managed indicates if the disk is a persistent or not. By default its false indicating all disks are ephemeral.", - "type": "boolean" - }, - "sizeInGB": { - "description": "SizeInGB is the target size in GB of the disk to be added", - "type": "integer", - "format": "int32" - } - } + "type": "string" } }, - "placements": { - "description": "Placements configuration Placements If defined, will replace default values defined in VsphereClusterConfig Array means one MachinePool can span across multiple vsphere compute cluster", - "type": "array", - "uniqueItems": true, - "items": { - "description": "Libvirt placement config", - "type": "object", - "required": [ - "hostUid" - ], - "properties": { - "dataStoragePool": { - "type": "string" - }, - "gpuDevices": { - "description": "GPUDevices defines an array of gpu device for a specific edge host. This will be overridden by edge host GPU devices if configured during registration.", - "type": "array", - "items": { - "type": "object", - "properties": { - "addresses": { - "description": "Addresses is a map of PCI device entry name to its addresses.\nExample entry would be \"11:00.0 VGA compatible controller [0300]: NVIDIA\nCorporation Device [10de:1eb1] (rev a1)\"- \u003e 0000_11_00_0\" The address is\nBDF (Bus Device Function) identifier format seperated by underscores. The\nfirst 4 bits are almost always 0000. In the above example 11 is Bus, 00\nis Device,0 is function. The values of these addreses are expected in hexadecimal\nformat\n", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "model": { - "description": "Model is the model of GPU, for a given vendor, for eg., TU104GL [Tesla T4]", - "type": "string" - }, - "vendor": { - "description": "Vendor is the GPU vendor, for eg., NVIDIA or AMD", - "type": "string" - } - } - } - }, - "hostUid": { - "type": "string" - }, - "networks": { - "type": "array", - "items": { - "description": "LibvirtNetworkSpec defines the network configuration for a virtual machine", - "type": "object", - "required": [ - "networkName", - "networkType" - ], - "properties": { - "networkName": { - "description": "NetworkName of the libvirt network where this machine will be connected", - "type": "string" - }, - "networkType": { - "description": "NetworkType specifies the type of network", - "type": "string", - "enum": [ - "default", - "bridge" - ] - } - } - } - }, - "sourceStoragePool": { - "type": "string" - }, - "targetStoragePool": { - "type": "string" - } - } - } + "instanceType": { + "description": "instance type", + "type": "string" }, - "rootDiskInGB": { - "description": "RootDiskInGB is the size of a vm's root disk, in GiB", + "rootDeviceSize": { + "description": "rootDeviceSize in GBs", "type": "integer", - "format": "int32" + "format": "int64", + "maximum": 2000, + "minimum": 1 }, - "xslTemplate": { - "description": "XSLTemplate defines a base64-encoded raw xsl template which will be included in the machine definition", - "type": "string" + "subnetIds": { + "description": "AZ to subnet mapping filled by ally from hubble SubnetIDs [\"ap-guangzhou-6\"] = \"subnet-079b6061\" This field is optional If we don't provide a subnetId then by default the first subnet from the AZ will be picked up for deployment", + "type": "object", + "additionalProperties": { + "type": "string" + } } } }, @@ -38298,7 +37126,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -38342,7 +37170,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -38388,7 +37216,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -38423,7 +37251,7 @@ "v1" ], "summary": "Deletes the specified machine pool", - "operationId": "v1CloudConfigsLibvirtMachinePoolDelete", + "operationId": "v1CloudConfigsTkeMachinePoolDelete", "parameters": [ { "type": "string", @@ -38455,7 +37283,7 @@ } ] }, - "/v1/cloudconfigs/libvirt/{configUid}/machinePools/{machinePoolName}/machines": { + "/v1/cloudconfigs/tke/{configUid}/machinePools/{machinePoolName}/machines": { "get": { "security": [ { @@ -38468,9 +37296,48 @@ "tags": [ "v1" ], - "summary": "Retrieves a list of Libvirt machines", - "operationId": "v1CloudConfigsLibvirtPoolMachinesList", + "summary": "Retrieves a list of TKE machines", + "operationId": "v1CloudConfigsTkePoolMachinesList", "parameters": [ + { + "type": "string", + "description": "Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name", + "name": "fields", + "in": "query" + }, + { + "type": "string", + "description": "Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.", + "name": "filters", + "in": "query" + }, + { + "type": "string", + "description": "Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1", + "name": "orderBy", + "in": "query" + }, + { + "type": "integer", + "format": "int64", + "default": 50, + "description": "limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "name": "limit", + "in": "query" + }, + { + "type": "integer", + "format": "int64", + "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", + "name": "offset", + "in": "query" + }, + { + "type": "string", + "description": "continue token to paginate the subsequent data items", + "name": "continue", + "in": "query" + }, { "type": "string", "description": "Scope the request to the specified project uid", @@ -38480,9 +37347,9 @@ ], "responses": { "200": { - "description": "An array of Libvirt machine items", + "description": "An array of TKE machine items", "schema": { - "description": "Libvirt machine list", + "description": "Tencent machine list", "type": "object", "required": [ "items" @@ -38492,14 +37359,13 @@ "type": "array", "uniqueItems": true, "items": { - "description": "Libvirt cloud VM definition", + "description": "Tencent cloud VM definition", + "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -38507,7 +37373,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -38524,7 +37390,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -38536,139 +37402,71 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, "spec": { - "description": "libvirt cloud VM definition spec", + "description": "Tencent cloud VM definition spec", "type": "object", + "required": [ + "nics", + "instanceType", + "imageId" + ], "properties": { - "disks": { - "type": "array", - "items": { - "type": "object", - "required": [ - "sizeInGB" - ], - "properties": { - "dataStoragePool": { - "description": "DataStoragePool is the storage pool from which additional disks are assigned", - "type": "string" - }, - "managed": { - "description": "Managed indicates if the disk is a persistent or not. By default its false indicating all disks are ephemeral.", - "type": "boolean" - }, - "sizeInGB": { - "description": "SizeInGB is the target size in GB of the disk to be added", - "type": "integer", - "format": "int32" - } - } - } - }, - "edgeHostUid": { - "type": "string" - }, - "failureDomain": { + "dnsName": { "type": "string" }, - "imageName": { + "imageId": { "type": "string" }, "instanceType": { - "description": "LibvirtInstanceType defines the instance configuration for a virtual machine", - "type": "object", - "required": [ - "numCPUs", - "memoryInMB" - ], - "properties": { - "cpuPassthroughSpec": { - "type": "object", - "properties": { - "cachePassthrough": { - "type": "boolean" - }, - "isEnabled": { - "description": "Enables the CPU Passthrough for the libvirt domain", - "type": "boolean" - } - } - }, - "cpuset": { - "description": "CPUSet defines cpuset for an instance which allows allocation specific set of cpus E.g cpuset=\"1-4,^3,6\" See https://libvirt.org/formatdomain.html#cpu-allocation", - "type": "string" - }, - "gpuConfig": { - "type": "object", - "properties": { - "addresses": { - "description": "Addresses is a map of PCI device entry name to its addresses.\nExample entry would be \"11:00.0 VGA compatible controller [0300]: NVIDIA\nCorporation Device [10de:1eb1] (rev a1)\"- \u003e 0000_11_00_0\" The address is\nBDF (Bus Device Function) identifier format seperated by underscores. The\nfirst 4 bits are almost always 0000. In the above example 11 is Bus, 00\nis Device,0 is function. The values of these addreses are expected in hexadecimal\nformat\n", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "deviceModel": { - "description": "DeviceModel is the model of GPU, for a given vendor, for eg., TU104GL [Tesla T4]", - "type": "string" - }, - "numGPUs": { - "description": "NumGPUs is the number of GPUs", - "type": "integer", - "format": "int32" - }, - "vendorName": { - "description": "VendorName is the GPU vendor, for eg., NVIDIA or AMD", - "type": "string" - } - } - }, - "memoryInMB": { - "description": "MemoryinMB is the memory in megabytes", - "type": "integer", - "format": "int32" - }, - "numCPUs": { - "description": "NumCPUs is the number of CPUs", - "type": "integer", - "format": "int32" - } - } + "type": "string" }, "nics": { "type": "array", "items": { - "description": "Libvirt network interface", + "description": "Tencent network interface", "type": "object", - "required": [ - "macAddress" - ], "properties": { "index": { "type": "integer", "format": "int8" }, - "macAddress": { - "type": "string" - }, "privateIPs": { "type": "array", "items": { "type": "string" } + }, + "publicIp": { + "type": "string" } } } }, - "targetStoragePool": { + "securityGroups": { + "type": "array", + "items": { + "type": "string" + } + }, + "subnetId": { + "type": "string" + }, + "type": { + "type": "string" + }, + "vpcId": { + "type": "string" + }, + "zoneId": { "type": "string" } } @@ -38744,6 +37542,32 @@ } } } + }, + "listmeta": { + "description": "ListMeta describes metadata for the resource listing", + "type": "object", + "properties": { + "continue": { + "description": "Next token for the pagination. Next token is equal to empty string indicates end of result set.", + "type": "string", + "x-omitempty": false + }, + "count": { + "description": "Total count of the resources which might change during pagination based on the resources addition or deletion", + "type": "integer", + "x-omitempty": false + }, + "limit": { + "description": "Number of records feteched", + "type": "integer", + "x-omitempty": false + }, + "offset": { + "description": "The next offset for the pagination. Starting index for which next request will be placed.", + "type": "integer", + "x-omitempty": false + } + } } } } @@ -38762,21 +37586,20 @@ "tags": [ "v1" ], - "summary": "Adds the Libvirt machine to cloud config's machine pool", - "operationId": "v1CloudConfigsLibvirtPoolMachinesAdd", + "summary": "Adds the machine to cloud config's machine pool", + "operationId": "v1CloudConfigsTkePoolMachinesAdd", "parameters": [ { "name": "body", "in": "body", "schema": { - "description": "Libvirt cloud VM definition", + "description": "Tencent cloud VM definition", + "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -38784,7 +37607,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -38801,7 +37624,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -38813,139 +37636,71 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, "spec": { - "description": "libvirt cloud VM definition spec", + "description": "Tencent cloud VM definition spec", "type": "object", + "required": [ + "nics", + "instanceType", + "imageId" + ], "properties": { - "disks": { - "type": "array", - "items": { - "type": "object", - "required": [ - "sizeInGB" - ], - "properties": { - "dataStoragePool": { - "description": "DataStoragePool is the storage pool from which additional disks are assigned", - "type": "string" - }, - "managed": { - "description": "Managed indicates if the disk is a persistent or not. By default its false indicating all disks are ephemeral.", - "type": "boolean" - }, - "sizeInGB": { - "description": "SizeInGB is the target size in GB of the disk to be added", - "type": "integer", - "format": "int32" - } - } - } - }, - "edgeHostUid": { - "type": "string" - }, - "failureDomain": { + "dnsName": { "type": "string" }, - "imageName": { + "imageId": { "type": "string" }, "instanceType": { - "description": "LibvirtInstanceType defines the instance configuration for a virtual machine", - "type": "object", - "required": [ - "numCPUs", - "memoryInMB" - ], - "properties": { - "cpuPassthroughSpec": { - "type": "object", - "properties": { - "cachePassthrough": { - "type": "boolean" - }, - "isEnabled": { - "description": "Enables the CPU Passthrough for the libvirt domain", - "type": "boolean" - } - } - }, - "cpuset": { - "description": "CPUSet defines cpuset for an instance which allows allocation specific set of cpus E.g cpuset=\"1-4,^3,6\" See https://libvirt.org/formatdomain.html#cpu-allocation", - "type": "string" - }, - "gpuConfig": { - "type": "object", - "properties": { - "addresses": { - "description": "Addresses is a map of PCI device entry name to its addresses.\nExample entry would be \"11:00.0 VGA compatible controller [0300]: NVIDIA\nCorporation Device [10de:1eb1] (rev a1)\"- \u003e 0000_11_00_0\" The address is\nBDF (Bus Device Function) identifier format seperated by underscores. The\nfirst 4 bits are almost always 0000. In the above example 11 is Bus, 00\nis Device,0 is function. The values of these addreses are expected in hexadecimal\nformat\n", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "deviceModel": { - "description": "DeviceModel is the model of GPU, for a given vendor, for eg., TU104GL [Tesla T4]", - "type": "string" - }, - "numGPUs": { - "description": "NumGPUs is the number of GPUs", - "type": "integer", - "format": "int32" - }, - "vendorName": { - "description": "VendorName is the GPU vendor, for eg., NVIDIA or AMD", - "type": "string" - } - } - }, - "memoryInMB": { - "description": "MemoryinMB is the memory in megabytes", - "type": "integer", - "format": "int32" - }, - "numCPUs": { - "description": "NumCPUs is the number of CPUs", - "type": "integer", - "format": "int32" - } - } + "type": "string" }, "nics": { "type": "array", "items": { - "description": "Libvirt network interface", + "description": "Tencent network interface", "type": "object", - "required": [ - "macAddress" - ], "properties": { "index": { "type": "integer", "format": "int8" }, - "macAddress": { - "type": "string" - }, "privateIPs": { "type": "array", "items": { "type": "string" } + }, + "publicIp": { + "type": "string" } } } }, - "targetStoragePool": { + "securityGroups": { + "type": "array", + "items": { + "type": "string" + } + }, + "subnetId": { + "type": "string" + }, + "type": { + "type": "string" + }, + "vpcId": { + "type": "string" + }, + "zoneId": { "type": "string" } } @@ -39069,7 +37824,7 @@ } ] }, - "/v1/cloudconfigs/libvirt/{configUid}/machinePools/{machinePoolName}/machines/{machineUid}": { + "/v1/cloudconfigs/tke/{configUid}/machinePools/{machinePoolName}/machines/{machineUid}": { "get": { "security": [ { @@ -39082,8 +37837,8 @@ "tags": [ "v1" ], - "summary": "Returns the specified Libvirt machine", - "operationId": "v1CloudConfigsLibvirtPoolMachinesUidGet", + "summary": "Returns the specified Tke machine", + "operationId": "v1CloudConfigsTkePoolMachinesUidGet", "parameters": [ { "type": "string", @@ -39096,14 +37851,13 @@ "200": { "description": "OK", "schema": { - "description": "Libvirt cloud VM definition", + "description": "Tencent cloud VM definition", + "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -39111,7 +37865,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -39128,7 +37882,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -39140,139 +37894,71 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, "spec": { - "description": "libvirt cloud VM definition spec", + "description": "Tencent cloud VM definition spec", "type": "object", + "required": [ + "nics", + "instanceType", + "imageId" + ], "properties": { - "disks": { + "dnsName": { + "type": "string" + }, + "imageId": { + "type": "string" + }, + "instanceType": { + "type": "string" + }, + "nics": { "type": "array", "items": { + "description": "Tencent network interface", "type": "object", - "required": [ - "sizeInGB" - ], - "properties": { - "dataStoragePool": { - "description": "DataStoragePool is the storage pool from which additional disks are assigned", - "type": "string" - }, - "managed": { - "description": "Managed indicates if the disk is a persistent or not. By default its false indicating all disks are ephemeral.", - "type": "boolean" - }, - "sizeInGB": { - "description": "SizeInGB is the target size in GB of the disk to be added", - "type": "integer", - "format": "int32" - } - } - } - }, - "edgeHostUid": { - "type": "string" - }, - "failureDomain": { - "type": "string" - }, - "imageName": { - "type": "string" - }, - "instanceType": { - "description": "LibvirtInstanceType defines the instance configuration for a virtual machine", - "type": "object", - "required": [ - "numCPUs", - "memoryInMB" - ], - "properties": { - "cpuPassthroughSpec": { - "type": "object", - "properties": { - "cachePassthrough": { - "type": "boolean" - }, - "isEnabled": { - "description": "Enables the CPU Passthrough for the libvirt domain", - "type": "boolean" - } - } - }, - "cpuset": { - "description": "CPUSet defines cpuset for an instance which allows allocation specific set of cpus E.g cpuset=\"1-4,^3,6\" See https://libvirt.org/formatdomain.html#cpu-allocation", - "type": "string" - }, - "gpuConfig": { - "type": "object", - "properties": { - "addresses": { - "description": "Addresses is a map of PCI device entry name to its addresses.\nExample entry would be \"11:00.0 VGA compatible controller [0300]: NVIDIA\nCorporation Device [10de:1eb1] (rev a1)\"- \u003e 0000_11_00_0\" The address is\nBDF (Bus Device Function) identifier format seperated by underscores. The\nfirst 4 bits are almost always 0000. In the above example 11 is Bus, 00\nis Device,0 is function. The values of these addreses are expected in hexadecimal\nformat\n", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "deviceModel": { - "description": "DeviceModel is the model of GPU, for a given vendor, for eg., TU104GL [Tesla T4]", - "type": "string" - }, - "numGPUs": { - "description": "NumGPUs is the number of GPUs", - "type": "integer", - "format": "int32" - }, - "vendorName": { - "description": "VendorName is the GPU vendor, for eg., NVIDIA or AMD", - "type": "string" - } - } - }, - "memoryInMB": { - "description": "MemoryinMB is the memory in megabytes", - "type": "integer", - "format": "int32" - }, - "numCPUs": { - "description": "NumCPUs is the number of CPUs", - "type": "integer", - "format": "int32" - } - } - }, - "nics": { - "type": "array", - "items": { - "description": "Libvirt network interface", - "type": "object", - "required": [ - "macAddress" - ], "properties": { "index": { "type": "integer", "format": "int8" }, - "macAddress": { - "type": "string" - }, "privateIPs": { "type": "array", "items": { "type": "string" } + }, + "publicIp": { + "type": "string" } } } }, - "targetStoragePool": { + "securityGroups": { + "type": "array", + "items": { + "type": "string" + } + }, + "subnetId": { + "type": "string" + }, + "type": { + "type": "string" + }, + "vpcId": { + "type": "string" + }, + "zoneId": { "type": "string" } } @@ -39363,21 +38049,20 @@ "tags": [ "v1" ], - "summary": "Updates the specified machine to cloud config's machine pool", - "operationId": "v1CloudConfigsLibvirtPoolMachinesUidUpdate", + "summary": "Updates the specified machine to the cloud config's machine pool", + "operationId": "v1CloudConfigsTkePoolMachinesUidUpdate", "parameters": [ { "name": "body", "in": "body", "schema": { - "description": "Libvirt cloud VM definition", + "description": "Tencent cloud VM definition", + "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -39385,7 +38070,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -39402,7 +38087,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -39414,139 +38099,71 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, "spec": { - "description": "libvirt cloud VM definition spec", + "description": "Tencent cloud VM definition spec", "type": "object", + "required": [ + "nics", + "instanceType", + "imageId" + ], "properties": { - "disks": { - "type": "array", - "items": { - "type": "object", - "required": [ - "sizeInGB" - ], - "properties": { - "dataStoragePool": { - "description": "DataStoragePool is the storage pool from which additional disks are assigned", - "type": "string" - }, - "managed": { - "description": "Managed indicates if the disk is a persistent or not. By default its false indicating all disks are ephemeral.", - "type": "boolean" - }, - "sizeInGB": { - "description": "SizeInGB is the target size in GB of the disk to be added", - "type": "integer", - "format": "int32" - } - } - } - }, - "edgeHostUid": { - "type": "string" - }, - "failureDomain": { + "dnsName": { "type": "string" }, - "imageName": { + "imageId": { "type": "string" }, "instanceType": { - "description": "LibvirtInstanceType defines the instance configuration for a virtual machine", - "type": "object", - "required": [ - "numCPUs", - "memoryInMB" - ], - "properties": { - "cpuPassthroughSpec": { - "type": "object", - "properties": { - "cachePassthrough": { - "type": "boolean" - }, - "isEnabled": { - "description": "Enables the CPU Passthrough for the libvirt domain", - "type": "boolean" - } - } - }, - "cpuset": { - "description": "CPUSet defines cpuset for an instance which allows allocation specific set of cpus E.g cpuset=\"1-4,^3,6\" See https://libvirt.org/formatdomain.html#cpu-allocation", - "type": "string" - }, - "gpuConfig": { - "type": "object", - "properties": { - "addresses": { - "description": "Addresses is a map of PCI device entry name to its addresses.\nExample entry would be \"11:00.0 VGA compatible controller [0300]: NVIDIA\nCorporation Device [10de:1eb1] (rev a1)\"- \u003e 0000_11_00_0\" The address is\nBDF (Bus Device Function) identifier format seperated by underscores. The\nfirst 4 bits are almost always 0000. In the above example 11 is Bus, 00\nis Device,0 is function. The values of these addreses are expected in hexadecimal\nformat\n", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "deviceModel": { - "description": "DeviceModel is the model of GPU, for a given vendor, for eg., TU104GL [Tesla T4]", - "type": "string" - }, - "numGPUs": { - "description": "NumGPUs is the number of GPUs", - "type": "integer", - "format": "int32" - }, - "vendorName": { - "description": "VendorName is the GPU vendor, for eg., NVIDIA or AMD", - "type": "string" - } - } - }, - "memoryInMB": { - "description": "MemoryinMB is the memory in megabytes", - "type": "integer", - "format": "int32" - }, - "numCPUs": { - "description": "NumCPUs is the number of CPUs", - "type": "integer", - "format": "int32" - } - } + "type": "string" }, "nics": { "type": "array", "items": { - "description": "Libvirt network interface", + "description": "Tencent network interface", "type": "object", - "required": [ - "macAddress" - ], "properties": { "index": { "type": "integer", "format": "int8" }, - "macAddress": { - "type": "string" - }, "privateIPs": { "type": "array", "items": { "type": "string" } + }, + "publicIp": { + "type": "string" } } } }, - "targetStoragePool": { + "securityGroups": { + "type": "array", + "items": { + "type": "string" + } + }, + "subnetId": { + "type": "string" + }, + "type": { + "type": "string" + }, + "vpcId": { + "type": "string" + }, + "zoneId": { "type": "string" } } @@ -39648,8 +38265,8 @@ "tags": [ "v1" ], - "summary": "Deletes the specified Libvirt machine", - "operationId": "v1CloudConfigsLibvirtPoolMachinesUidDelete", + "summary": "Deletes the specified Tencent machine", + "operationId": "v1CloudConfigsTkePoolMachinesUidDelete", "parameters": [ { "type": "string", @@ -39688,7 +38305,7 @@ } ] }, - "/v1/cloudconfigs/maas/{configUid}": { + "/v1/cloudconfigs/virtual/{configUid}": { "get": { "security": [ { @@ -39701,8 +38318,8 @@ "tags": [ "v1" ], - "summary": "Returns the specified Maas cloud config", - "operationId": "v1CloudConfigsMaasGet", + "summary": "Returns the specified Virtual cloud config", + "operationId": "v1CloudConfigsVirtualGet", "parameters": [ { "type": "string", @@ -39715,15 +38332,15 @@ "200": { "description": "OK", "schema": { - "description": "MaasCloudConfig is the Schema for the maascloudconfigs API", + "description": "VirtualCloudConfig is the Schema for the virtual cloudconfigs API", "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", "type": "string" }, "kind": { - "description": "Cloud type of the cloud config", + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", "type": "string" }, "metadata": { @@ -39731,7 +38348,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -39748,7 +38365,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -39760,57 +38377,82 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, "spec": { - "description": "MaasCloudConfigSpec defines the cloud configuration input by user This will translate to clusterspec/machinespec for cluster-api", + "description": "VirtualCloudConfigSpec defines the cloud configuration input by user This will translate to clusterspec for cluster-api.", "type": "object", + "required": [ + "clusterConfig", + "hostClusterUid", + "machinePoolConfig" + ], "properties": { - "cloudAccountRef": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", - "type": "string" - } - } - }, "clusterConfig": { - "description": "Cluster level configuration for MAAS cloud and applicable for all the machine pools", + "description": "Cluster level configuration for virtual cluster", "type": "object", - "required": [ - "domain" - ], "properties": { - "domain": { - "description": "Domain name of the cluster to be provisioned", - "type": "string" + "controlPlaneEndpoint": { + "description": "APIEndpoint represents a reachable Kubernetes API endpoint.", + "type": "object", + "required": [ + "host", + "port" + ], + "properties": { + "host": { + "description": "The hostname on which the API server is serving.", + "type": "string" + }, + "port": { + "description": "The port on which the API server is serving.", + "type": "integer", + "format": "int32" + } + } }, - "sshKeys": { - "description": "SSH keys specifies a list of ssh authorized keys for the 'spectro' user", - "type": "array", - "items": { - "type": "string" + "helmRelease": { + "type": "object", + "properties": { + "chart": { + "type": "object", + "properties": { + "name": { + "type": "string", + "default": "" + }, + "repo": { + "type": "string", + "default": "" + }, + "version": { + "type": "string", + "default": "" + } + } + }, + "values": { + "type": "string", + "default": "" + } } + }, + "kubernetesVersion": { + "type": "string", + "default": "" } } }, + "hostClusterUid": { + "type": "string" + }, "machinePoolConfig": { "type": "array", "items": { @@ -39842,15 +38484,35 @@ "instanceType": { "type": "object", "properties": { + "maxCPU": { + "description": "Maximum CPU cores", + "type": "integer", + "format": "int32" + }, + "maxMemInMiB": { + "description": "Maximum memory in MiB", + "type": "integer", + "format": "int32" + }, + "maxStorageGiB": { + "description": "Maximum storage in GiB", + "type": "integer", + "format": "int32" + }, "minCPU": { "description": "Minimum CPU cores", "type": "integer", "format": "int32" }, - "minMemInMB": { + "minMemInMiB": { "description": "Minimum memory in MiB", "type": "integer", "format": "int32" + }, + "minStorageGiB": { + "description": "Minimum storage in GiB", + "type": "integer", + "format": "int32" } } }, @@ -39859,7 +38521,7 @@ "type": "boolean" }, "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", + "description": "labels for this pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -39892,11 +38554,6 @@ "name": { "type": "string" }, - "nodeRepaveInterval": { - "description": "Minimum number of seconds a node should be Ready, before the next node is selected for repave. Applicable only for workerpools in infrastructure cluster", - "type": "integer", - "format": "int32" - }, "resourcePool": { "type": "string" }, @@ -39905,15 +38562,8 @@ "type": "integer", "format": "int32" }, - "tags": { - "description": "Tags in maas environment", - "type": "array", - "items": { - "type": "string" - } - }, "taints": { - "description": "master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -39959,7 +38609,7 @@ } }, "useControlPlaneAsWorker": { - "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean" } } @@ -39968,13 +38618,9 @@ } }, "status": { - "description": "MaasCloudConfigStatus defines the observed state of MaasCloudConfig The cloudimage info built by Mold is stored here image should be mapped to a specific machinepool", + "description": "Defines the status of virtual cloud config", "type": "object", "properties": { - "ansibleRoleDigest": { - "description": "For mold controller to identify if is there any changes in Pack", - "type": "string" - }, "conditions": { "type": "array", "items": { @@ -40009,39 +38655,13 @@ "type": "string" } } - } + }, + "x-kubernetes-patch-merge-key": "type", + "x-kubernetes-patch-strategy": "merge" }, "isAddonLayer": { "description": "addon layers present in spc", "type": "boolean" - }, - "nodeImage": { - "description": "Name of the image", - "type": "object", - "properties": { - "name": { - "description": "full path of the image template location it contains datacenter/folder/templatename etc eg: /mydc/vm/template/spectro/workerpool-1-centos", - "type": "string" - }, - "state": { - "type": "string" - } - } - }, - "roleDigest": { - "description": "this map will be for ansible roles present in eack pack", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "sourceImageId": { - "description": "sourceImageId, it can be from packref's annotations or from pack.json", - "type": "string" - }, - "useCapiImage": { - "description": "PackerVariableDigest string `json:\"packerDigest,omitempty\"` If no ansible roles found in Packs then Mold should tell Drive to use capi image and not create custom image, because there is nothing to add", - "type": "boolean" } } } @@ -40060,7 +38680,7 @@ } ] }, - "/v1/cloudconfigs/maas/{configUid}/clusterConfig": { + "/v1/cloudconfigs/virtual/{configUid}/clusterConfig": { "put": { "security": [ { @@ -40074,32 +38694,67 @@ "v1" ], "summary": "Updates the cluster configuration information", - "operationId": "v1CloudConfigsMaasUidClusterConfig", + "operationId": "v1CloudConfigsVirtualUidClusterConfig", "parameters": [ { "name": "body", "in": "body", "schema": { - "description": "Maas cloud cluster config entity", + "description": "Virtual cloud cluster config entity", "type": "object", "properties": { "clusterConfig": { - "description": "Cluster level configuration for MAAS cloud and applicable for all the machine pools", + "description": "Cluster level configuration for virtual cluster", "type": "object", - "required": [ - "domain" - ], "properties": { - "domain": { - "description": "Domain name of the cluster to be provisioned", - "type": "string" + "controlPlaneEndpoint": { + "description": "APIEndpoint represents a reachable Kubernetes API endpoint.", + "type": "object", + "required": [ + "host", + "port" + ], + "properties": { + "host": { + "description": "The hostname on which the API server is serving.", + "type": "string" + }, + "port": { + "description": "The port on which the API server is serving.", + "type": "integer", + "format": "int32" + } + } }, - "sshKeys": { - "description": "SSH keys specifies a list of ssh authorized keys for the 'spectro' user", - "type": "array", - "items": { - "type": "string" + "helmRelease": { + "type": "object", + "properties": { + "chart": { + "type": "object", + "properties": { + "name": { + "type": "string", + "default": "" + }, + "repo": { + "type": "string", + "default": "" + }, + "version": { + "type": "string", + "default": "" + } + } + }, + "values": { + "type": "string", + "default": "" + } } + }, + "kubernetesVersion": { + "type": "string", + "default": "" } } } @@ -40129,7 +38784,7 @@ } ] }, - "/v1/cloudconfigs/maas/{configUid}/machinePools": { + "/v1/cloudconfigs/virtual/{configUid}/machinePools": { "post": { "security": [ { @@ -40142,8 +38797,8 @@ "tags": [ "v1" ], - "summary": "Creates an Maas cloud config's machine pool", - "operationId": "v1CloudConfigsMaasMachinePoolCreate", + "summary": "Creates a virtual cloud config's machine pool", + "operationId": "v1CloudConfigsVirtualMachinePoolCreate", "parameters": [ { "name": "body", @@ -40157,166 +38812,43 @@ "cloudConfig": { "type": "object", "required": [ - "instanceType", - "resourcePool" + "instanceType" ], "properties": { - "azs": { - "type": "array", - "items": { - "type": "string" - } - }, "instanceType": { "type": "object", "properties": { + "maxCPU": { + "description": "Maximum CPU cores", + "type": "integer", + "format": "int32" + }, + "maxMemInMiB": { + "description": "Maximum memory in MiB", + "type": "integer", + "format": "int32" + }, + "maxStorageGiB": { + "description": "Maximum storage in GiB", + "type": "integer", + "format": "int32" + }, "minCPU": { "description": "Minimum CPU cores", "type": "integer", "format": "int32" }, - "minMemInMB": { + "minMemInMiB": { "description": "Minimum memory in MiB", "type": "integer", "format": "int32" + }, + "minStorageGiB": { + "description": "Minimum storage in GiB", + "type": "integer", + "format": "int32" } } - }, - "resourcePool": { - "description": "the resource pool", - "type": "string" - }, - "tags": { - "description": "Tags in maas environment", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "poolConfig": { - "description": "Machine pool configuration for the cluster", - "type": "object", - "required": [ - "name", - "size", - "labels" - ], - "properties": { - "additionalLabels": { - "description": "Additional labels to be part of the machine pool", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "additionalTags": { - "description": "AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "isControlPlane": { - "description": "Whether this pool is for control plane", - "type": "boolean", - "x-omitempty": false - }, - "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", - "type": "array", - "items": { - "type": "string" - } - }, - "machinePoolProperties": { - "description": "Machine pool specific properties", - "type": "object", - "properties": { - "archType": { - "type": "string", - "default": "amd64", - "enum": [ - "amd64", - "arm64" - ] - } - } - }, - "maxSize": { - "description": "Max size of the pool, for scaling", - "type": "integer", - "format": "int32" - }, - "minSize": { - "description": "Min size of the pool, for scaling", - "type": "integer", - "format": "int32" - }, - "name": { - "type": "string" - }, - "nodeRepaveInterval": { - "description": "Minimum number of seconds a node should be Ready, before the next node is selected for repave. Applicable only for workerpools in infrastructure cluster", - "type": "integer", - "format": "int32" - }, - "size": { - "description": "Size of the pool, number of nodes/machines", - "type": "integer", - "format": "int32" - }, - "taints": { - "description": "Master or worker taints", - "type": "array", - "uniqueItems": true, - "items": { - "description": "Taint", - "type": "object", - "properties": { - "effect": { - "type": "string", - "enum": [ - "NoSchedule", - "PreferNoSchedule", - "NoExecute" - ] - }, - "key": { - "description": "The taint key to be applied to a node", - "type": "string" - }, - "timeAdded": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "value": { - "description": "The taint value corresponding to the taint key.", - "type": "string" - } - } - } - }, - "updateStrategy": { - "description": "UpdatesStrategy will be used to translate to RollingUpdateStrategy of a MachineDeployment We'll start with default values for the translation, can expose more details later Following is details of parameters translated from the type ScaleOut =\u003e maxSurge=1, maxUnavailable=0 ScaleIn =\u003e maxSurge=0, maxUnavailable=1", - "type": "object", - "properties": { - "type": { - "description": "update strategy, either ScaleOut or ScaleIn if empty, will default to RollingUpdateScaleOut", - "type": "string", - "enum": [ - "RollingUpdateScaleOut", - "RollingUpdateScaleIn" - ] - } - } - }, - "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", - "type": "boolean", - "x-omitempty": false } } } @@ -40363,7 +38895,7 @@ } ] }, - "/v1/cloudconfigs/maas/{configUid}/machinePools/{machinePoolName}": { + "/v1/cloudconfigs/virtual/{configUid}/machinePools/{machinePoolName}": { "put": { "security": [ { @@ -40376,8 +38908,8 @@ "tags": [ "v1" ], - "summary": "Updates the specified Maas cloud config's machine pool", - "operationId": "v1CloudConfigsMaasMachinePoolUpdate", + "summary": "Updates the specified virtual cloud config's machine pool", + "operationId": "v1CloudConfigsVirtualMachinePoolUpdate", "parameters": [ { "name": "body", @@ -40391,166 +38923,43 @@ "cloudConfig": { "type": "object", "required": [ - "instanceType", - "resourcePool" + "instanceType" ], "properties": { - "azs": { - "type": "array", - "items": { - "type": "string" - } - }, "instanceType": { "type": "object", "properties": { + "maxCPU": { + "description": "Maximum CPU cores", + "type": "integer", + "format": "int32" + }, + "maxMemInMiB": { + "description": "Maximum memory in MiB", + "type": "integer", + "format": "int32" + }, + "maxStorageGiB": { + "description": "Maximum storage in GiB", + "type": "integer", + "format": "int32" + }, "minCPU": { "description": "Minimum CPU cores", "type": "integer", "format": "int32" }, - "minMemInMB": { + "minMemInMiB": { "description": "Minimum memory in MiB", "type": "integer", "format": "int32" + }, + "minStorageGiB": { + "description": "Minimum storage in GiB", + "type": "integer", + "format": "int32" } } - }, - "resourcePool": { - "description": "the resource pool", - "type": "string" - }, - "tags": { - "description": "Tags in maas environment", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "poolConfig": { - "description": "Machine pool configuration for the cluster", - "type": "object", - "required": [ - "name", - "size", - "labels" - ], - "properties": { - "additionalLabels": { - "description": "Additional labels to be part of the machine pool", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "additionalTags": { - "description": "AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "isControlPlane": { - "description": "Whether this pool is for control plane", - "type": "boolean", - "x-omitempty": false - }, - "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", - "type": "array", - "items": { - "type": "string" - } - }, - "machinePoolProperties": { - "description": "Machine pool specific properties", - "type": "object", - "properties": { - "archType": { - "type": "string", - "default": "amd64", - "enum": [ - "amd64", - "arm64" - ] - } - } - }, - "maxSize": { - "description": "Max size of the pool, for scaling", - "type": "integer", - "format": "int32" - }, - "minSize": { - "description": "Min size of the pool, for scaling", - "type": "integer", - "format": "int32" - }, - "name": { - "type": "string" - }, - "nodeRepaveInterval": { - "description": "Minimum number of seconds a node should be Ready, before the next node is selected for repave. Applicable only for workerpools in infrastructure cluster", - "type": "integer", - "format": "int32" - }, - "size": { - "description": "Size of the pool, number of nodes/machines", - "type": "integer", - "format": "int32" - }, - "taints": { - "description": "Master or worker taints", - "type": "array", - "uniqueItems": true, - "items": { - "description": "Taint", - "type": "object", - "properties": { - "effect": { - "type": "string", - "enum": [ - "NoSchedule", - "PreferNoSchedule", - "NoExecute" - ] - }, - "key": { - "description": "The taint key to be applied to a node", - "type": "string" - }, - "timeAdded": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "value": { - "description": "The taint value corresponding to the taint key.", - "type": "string" - } - } - } - }, - "updateStrategy": { - "description": "UpdatesStrategy will be used to translate to RollingUpdateStrategy of a MachineDeployment We'll start with default values for the translation, can expose more details later Following is details of parameters translated from the type ScaleOut =\u003e maxSurge=1, maxUnavailable=0 ScaleIn =\u003e maxSurge=0, maxUnavailable=1", - "type": "object", - "properties": { - "type": { - "description": "update strategy, either ScaleOut or ScaleIn if empty, will default to RollingUpdateScaleOut", - "type": "string", - "enum": [ - "RollingUpdateScaleOut", - "RollingUpdateScaleIn" - ] - } - } - }, - "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", - "type": "boolean", - "x-omitempty": false } } } @@ -40583,7 +38992,7 @@ "v1" ], "summary": "Deletes the specified machine pool", - "operationId": "v1CloudConfigsMaasMachinePoolDelete", + "operationId": "v1CloudConfigsVirtualMachinePoolDelete", "parameters": [ { "type": "string", @@ -40615,7 +39024,7 @@ } ] }, - "/v1/cloudconfigs/maas/{configUid}/machinePools/{machinePoolName}/machines": { + "/v1/cloudconfigs/virtual/{configUid}/machinePools/{machinePoolName}/machines": { "get": { "security": [ { @@ -40628,8 +39037,8 @@ "tags": [ "v1" ], - "summary": "Retrieves a list of Maas machines", - "operationId": "v1CloudConfigsMaasPoolMachinesList", + "summary": "Retrieves a list of virtual machines", + "operationId": "v1CloudConfigsVirtualPoolMachinesList", "parameters": [ { "type": "string", @@ -40679,9 +39088,9 @@ ], "responses": { "200": { - "description": "An array of Maas machine items", + "description": "An array of virtual machine items", "schema": { - "description": "List of MAAS machines", + "description": "List of virtual machines", "type": "object", "required": [ "items" @@ -40691,15 +39100,10 @@ "type": "array", "uniqueItems": true, "items": { - "description": "Maas cloud VM definition", + "description": "Virtual cloud machine definition", "type": "object", "properties": { - "apiVersion": { - "description": "Deprecated. Not used for the resource info.", - "type": "string" - }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -40707,7 +39111,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -40724,7 +39128,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -40736,46 +39140,21 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, "spec": { - "description": "Maas cloud VM definition spec", + "description": "Virtual cloud machine definition spec", "type": "object", "properties": { - "az": { - "type": "string" - }, "hostname": { "type": "string" - }, - "nics": { - "type": "array", - "items": { - "description": "Maas network interface", - "type": "object", - "properties": { - "index": { - "type": "integer", - "format": "int8" - }, - "privateIPs": { - "type": "array", - "items": { - "type": "string" - } - }, - "publicIp": { - "type": "string" - } - } - } } } }, @@ -40895,21 +39274,16 @@ "v1" ], "summary": "Adds the machine to cloud config's machine pool", - "operationId": "v1CloudConfigsMaasPoolMachinesAdd", + "operationId": "v1CloudConfigsVirtualPoolMachinesAdd", "parameters": [ { "name": "body", "in": "body", "schema": { - "description": "Maas cloud VM definition", + "description": "Virtual cloud machine definition", "type": "object", "properties": { - "apiVersion": { - "description": "Deprecated. Not used for the resource info.", - "type": "string" - }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -40917,7 +39291,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -40934,7 +39308,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -40946,46 +39320,21 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, "spec": { - "description": "Maas cloud VM definition spec", + "description": "Virtual cloud machine definition spec", "type": "object", "properties": { - "az": { - "type": "string" - }, "hostname": { "type": "string" - }, - "nics": { - "type": "array", - "items": { - "description": "Maas network interface", - "type": "object", - "properties": { - "index": { - "type": "integer", - "format": "int8" - }, - "privateIPs": { - "type": "array", - "items": { - "type": "string" - } - }, - "publicIp": { - "type": "string" - } - } - } } } }, @@ -41108,7 +39457,7 @@ } ] }, - "/v1/cloudconfigs/maas/{configUid}/machinePools/{machinePoolName}/machines/{machineUid}": { + "/v1/cloudconfigs/virtual/{configUid}/machinePools/{machinePoolName}/machines/{machineUid}": { "get": { "security": [ { @@ -41121,8 +39470,8 @@ "tags": [ "v1" ], - "summary": "Returns the specified Maas machine", - "operationId": "v1CloudConfigsMaasPoolMachinesUidGet", + "summary": "Returns the specified virtual machine", + "operationId": "v1CloudConfigsVirtualPoolMachinesUidGet", "parameters": [ { "type": "string", @@ -41135,15 +39484,10 @@ "200": { "description": "OK", "schema": { - "description": "Maas cloud VM definition", + "description": "Virtual cloud machine definition", "type": "object", "properties": { - "apiVersion": { - "description": "Deprecated. Not used for the resource info.", - "type": "string" - }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -41151,7 +39495,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -41168,7 +39512,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -41180,46 +39524,21 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, "spec": { - "description": "Maas cloud VM definition spec", + "description": "Virtual cloud machine definition spec", "type": "object", "properties": { - "az": { - "type": "string" - }, "hostname": { "type": "string" - }, - "nics": { - "type": "array", - "items": { - "description": "Maas network interface", - "type": "object", - "properties": { - "index": { - "type": "integer", - "format": "int8" - }, - "privateIPs": { - "type": "array", - "items": { - "type": "string" - } - }, - "publicIp": { - "type": "string" - } - } - } } } }, @@ -41310,21 +39629,16 @@ "v1" ], "summary": "Updates the specified machine to the cloud config's machine pool", - "operationId": "v1CloudConfigsMaasPoolMachinesUidUpdate", + "operationId": "v1CloudConfigsVirtualPoolMachinesUidUpdate", "parameters": [ { "name": "body", "in": "body", "schema": { - "description": "Maas cloud VM definition", + "description": "Virtual cloud machine definition", "type": "object", "properties": { - "apiVersion": { - "description": "Deprecated. Not used for the resource info.", - "type": "string" - }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -41332,7 +39646,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -41349,7 +39663,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -41361,46 +39675,21 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, "spec": { - "description": "Maas cloud VM definition spec", + "description": "Virtual cloud machine definition spec", "type": "object", "properties": { - "az": { - "type": "string" - }, "hostname": { "type": "string" - }, - "nics": { - "type": "array", - "items": { - "description": "Maas network interface", - "type": "object", - "properties": { - "index": { - "type": "integer", - "format": "int8" - }, - "privateIPs": { - "type": "array", - "items": { - "type": "string" - } - }, - "publicIp": { - "type": "string" - } - } - } } } }, @@ -41501,8 +39790,8 @@ "tags": [ "v1" ], - "summary": "Deletes the specified Maas machine", - "operationId": "v1CloudConfigsMaasPoolMachinesUidDelete", + "summary": "Deletes the specified virtual machine", + "operationId": "v1CloudConfigsVirtualPoolMachinesUidDelete", "parameters": [ { "type": "string", @@ -41541,7 +39830,93 @@ } ] }, - "/v1/cloudconfigs/openstack/{configUid}": { + "/v1/cloudconfigs/virtual/{configUid}/resize": { + "put": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Updates and resizes the virtual cluster", + "operationId": "v1CloudConfigsVirtualUidUpdate", + "parameters": [ + { + "name": "body", + "in": "body", + "schema": { + "type": "object", + "required": [ + "instanceType" + ], + "properties": { + "instanceType": { + "type": "object", + "properties": { + "maxCPU": { + "description": "Maximum CPU cores", + "type": "integer", + "format": "int32" + }, + "maxMemInMiB": { + "description": "Maximum memory in MiB", + "type": "integer", + "format": "int32" + }, + "maxStorageGiB": { + "description": "Maximum storage in GiB", + "type": "integer", + "format": "int32" + }, + "minCPU": { + "description": "Minimum CPU cores", + "type": "integer", + "format": "int32" + }, + "minMemInMiB": { + "description": "Minimum memory in MiB", + "type": "integer", + "format": "int32" + }, + "minStorageGiB": { + "description": "Minimum storage in GiB", + "type": "integer", + "format": "int32" + } + } + } + } + } + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + } + }, + "parameters": [ + { + "type": "string", + "description": "Specify virtual cloud config uid", + "name": "configUid", + "in": "path", + "required": true + } + ] + }, + "/v1/cloudconfigs/vsphere/{configUid}": { "get": { "security": [ { @@ -41554,8 +39929,8 @@ "tags": [ "v1" ], - "summary": "Returns the specified OpenStack cloud config", - "operationId": "v1CloudConfigsOpenStackGet", + "summary": "Returns the specified vSphere cloud config", + "operationId": "v1CloudConfigsVsphereGet", "parameters": [ { "type": "string", @@ -41568,15 +39943,15 @@ "200": { "description": "OK", "schema": { - "description": "OpenStackCloudConfig is the Schema for the OpenStackcloudconfigs API", + "description": "VsphereCloudConfig is the Schema for the vspherecloudconfigs API", "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", "type": "string" }, "kind": { - "description": "Cloud type of the cloud config", + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", "type": "string" }, "metadata": { @@ -41584,7 +39959,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -41601,7 +39976,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -41613,18 +39988,22 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, "spec": { - "description": "OpenStackCloudConfigSpec defines the cloud configuration input by user This will translate to clusterspec/machinespec for cluster-api", + "description": "VsphereCloudConfigSpec defines the desired state of VsphereCloudConfig", "type": "object", + "required": [ + "clusterConfig", + "machinePoolConfig" + ], "properties": { "cloudAccountRef": { "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", @@ -41635,83 +40014,236 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } }, "clusterConfig": { - "description": "Cluster level configuration for OpenStack cloud and applicable for all the machine pools", "type": "object", + "required": [ + "placement" + ], "properties": { - "bastionDisabled": { - "description": "Create bastion node option we have earlier supported creation of bastion by default", - "type": "boolean" + "controlPlaneEndpoint": { + "type": "object", + "properties": { + "ddnsSearchDomain": { + "description": "DDNSSearchDomain is the search domain used for resolving IP addresses when the EndpointType is DDNS. This search domain is appended to the generated Hostname to obtain the complete DNS name for the endpoint. If Host is already a DDNS FQDN, DDNSSearchDomain is not required", + "type": "string" + }, + "host": { + "description": "IP or FQDN(External/DDNS)", + "type": "string" + }, + "type": { + "description": "VIP or External", + "type": "string", + "enum": [ + "VIP", + "External", + "DDNS" + ] + } + } }, - "dnsNameservers": { - "description": "DNSNameservers is the list of nameservers for OpenStack Subnet being created. Set this value when you need create a new network/subnet while the access through DNS is required.", + "ntpServers": { + "description": "NTPServers is a list of NTP servers to use instead of the machine image's default NTP server list.", "type": "array", "items": { "type": "string" } }, - "domain": { + "placement": { + "description": "Both ClusterConfig and MachinePoolConfig will have PlacementConfig MachinePoolconfig.Placements will overwrite values defined in ClusterConfig Currently the convention is: Datacenter / Folder / ImageTemplateFolder / Network should be defined at ClusterConfig Cluster / ResourcePool / Datastore / Network is defined at MachinePool ClusterConfig Network should only indicate use DHCP or not MachinePool Network should contain the actual network and IPPool", "type": "object", "properties": { - "id": { + "cluster": { + "description": "Cluster is the computecluster in vsphere", "type": "string" }, - "name": { + "datacenter": { + "description": "Datacenter is the name or inventory path of the datacenter where this machine's VM is created/located.", "type": "string" - } - } - }, - "network": { - "type": "object", - "properties": { - "id": { + }, + "datastore": { + "description": "Datastore is the datastore in which VMs are created/located.", "type": "string" }, - "name": { + "folder": { + "description": "Folder is the folder in which VMs are created/located.", "type": "string" - } - } - }, - "nodeCidr": { - "description": "For dynamic provision NodeCIDR is the OpenStack Subnet to be created. Cluster actuator will create a network, a subnet with NodeCIDR, and a router connected to this subnet. If you leave this empty, no network will be created.", - "type": "string" - }, - "project": { - "type": "object", - "properties": { - "id": { + }, + "imageTemplateFolder": { + "description": "ImageTemplateFolder is the folder in which VMs templates are created/located. if empty will use default value spectro-templates", "type": "string" }, - "name": { + "network": { + "type": "object", + "required": [ + "networkName" + ], + "properties": { + "ipPool": { + "description": "IPPool defines static IPs available. Gateway, Prefix, Nameserver, if defined, will be default values for all Pools", + "type": "object", + "properties": { + "gateway": { + "description": "Gateway is the gateway ip address", + "type": "string" + }, + "nameserver": { + "description": "Nameserver define search domains and nameserver addresses", + "type": "object", + "properties": { + "addresses": { + "type": "array", + "items": { + "type": "string" + } + }, + "search": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "pools": { + "description": "Pools contains the list of IP addresses pools", + "type": "array", + "items": { + "description": "Pool defines IP ranges or with CIDR for available IPs Gateway, Prefix and Nameserver if provided, will overwrite values in IPPool", + "type": "object", + "properties": { + "end": { + "description": "End is the last IP address that can be rendered. It is used as a validation that the rendered IP is in bound.", + "type": "string" + }, + "gateway": { + "description": "Gateway is the gateway ip address", + "type": "string" + }, + "nameserver": { + "description": "Nameserver define search domains and nameserver addresses", + "type": "object", + "properties": { + "addresses": { + "type": "array", + "items": { + "type": "string" + } + }, + "search": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "prefix": { + "description": "Prefix is the mask of the network as integer (max 128)", + "type": "integer", + "format": "int32" + }, + "start": { + "description": "Start is the first ip address that can be rendered", + "type": "string" + }, + "subnet": { + "description": "Subnet is used to validate that the rendered IP is in bounds. eg: 192.168.0.0/24 If Start value is not given, start value is derived from the subnet ip incremented by 1 (start value is `192.168.0.1` for subnet `192.168.0.0/24`)", + "type": "string" + } + } + } + }, + "prefix": { + "description": "Prefix is the mask of the network as integer (max 128)", + "type": "integer", + "format": "int32" + }, + "uid": { + "description": "UID is the UID of this IPPool, used by Hubble", + "type": "string" + } + } + }, + "networkName": { + "description": "NetworkName is the name of the network in which VMs are created/located.", + "type": "string" + }, + "parentPoolRef": { + "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", + "type": "object", + "properties": { + "kind": { + "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "uid": { + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", + "type": "string" + } + } + }, + "staticIp": { + "description": "support dhcp or static IP, if false, use DHCP", + "type": "boolean" + } + } + }, + "resourcePool": { + "description": "ResourcePool is the resource pool within the above computecluster Cluster", + "type": "string" + }, + "storagePolicyName": { + "description": "StoragePolicyName of the storage policy to use with this Virtual Machine", + "type": "string" + }, + "uid": { + "description": "UID for this placement", "type": "string" } } }, - "region": { + "sshKeys": { + "description": "SSHKeys specifies a list of ssh authorized keys for the 'spectro' user", + "type": "array", + "items": { + "type": "string" + } + }, + "staticIp": { + "description": "whether this cluster should use dhcp or static IP, if false, use DHCP if this is set, then all machinepools should have staticIP with provided IPPool adding this as an additional standalone flag without relating to placement.Nework main reason is to enable more validation for placement.Network.StaticIP which should come together with valid Network.IPPool and Network.Name", + "type": "boolean" + } + } + }, + "edgeHostRef": { + "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", + "type": "object", + "properties": { + "kind": { + "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", "type": "string" }, - "sshKeyName": { + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, - "subnet": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - } - } + "uid": { + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", + "type": "string" } } }, @@ -41720,7 +40252,8 @@ "items": { "type": "object", "required": [ - "flavorConfig" + "isControlPlane", + "instanceType" ], "properties": { "additionalLabels": { @@ -41737,57 +40270,38 @@ "type": "string" } }, - "azs": { - "description": "for master pool, this will be the failure domains for kcp", - "type": "array", - "items": { - "type": "string" - } - }, - "diskGiB": { - "description": "DiskGiB is used to configure rootVolume, the volume metadata to boot from", - "type": "integer", - "format": "int32" - }, - "flavor": { - "description": "Openstack flavor name, only return argument", - "type": "string" - }, - "flavorConfig": { + "instanceType": { + "type": "object", "required": [ - "name" + "numCPUs", + "memoryMiB", + "diskGiB" ], "properties": { "diskGiB": { - "description": "DiskGiB is the size of a virtual machine's disk, in GiB.", + "description": "DiskGiB is the size of a virtual machine's disk, in GiB. Defaults to the analogue property value in the template from which this machine is cloned.", "type": "integer", "format": "int32" }, "memoryMiB": { - "description": "MemoryMiB is the size of a virtual machine's memory, in MiB.", + "description": "MemoryMiB is the size of a virtual machine's memory, in MiB. Defaults to the analogue property value in the template from which this machine is cloned.", "type": "integer", "format": "int64" }, - "name": { - "description": "Openstack flavor name", - "type": "string" - }, "numCPUs": { - "description": "NumCPUs is the number of virtual processors in a virtual machine.", + "description": "NumCPUs is the number of virtual processors in a virtual machine. Defaults to the analogue property value in the template from which this machine is cloned.", "type": "integer", "format": "int32" } } }, - "image": { - "type": "string" - }, "isControlPlane": { "description": "whether this pool is for control plane", - "type": "boolean" + "type": "boolean", + "x-omitempty": false }, "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", + "description": "labels for this pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -41825,43 +40339,194 @@ "type": "integer", "format": "int32" }, - "size": { - "description": "size of the pool, number of machines", - "type": "integer", - "format": "int32" - }, - "subnet": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - } - } - }, - "taints": { - "description": "master or worker taints", + "placements": { + "description": "Placements configuration Placements If defined, will replace default values defined in VsphereClusterConfig Array means one MachinePool can span across multiple vsphere compute cluster", "type": "array", - "uniqueItems": true, "items": { - "description": "Taint", + "description": "Both ClusterConfig and MachinePoolConfig will have PlacementConfig MachinePoolconfig.Placements will overwrite values defined in ClusterConfig Currently the convention is: Datacenter / Folder / ImageTemplateFolder / Network should be defined at ClusterConfig Cluster / ResourcePool / Datastore / Network is defined at MachinePool ClusterConfig Network should only indicate use DHCP or not MachinePool Network should contain the actual network and IPPool", "type": "object", "properties": { - "effect": { - "type": "string", - "enum": [ - "NoSchedule", - "PreferNoSchedule", - "NoExecute" - ] + "cluster": { + "description": "Cluster is the computecluster in vsphere", + "type": "string" }, - "key": { - "description": "The taint key to be applied to a node", + "datacenter": { + "description": "Datacenter is the name or inventory path of the datacenter where this machine's VM is created/located.", "type": "string" }, - "timeAdded": { + "datastore": { + "description": "Datastore is the datastore in which VMs are created/located.", + "type": "string" + }, + "folder": { + "description": "Folder is the folder in which VMs are created/located.", + "type": "string" + }, + "imageTemplateFolder": { + "description": "ImageTemplateFolder is the folder in which VMs templates are created/located. if empty will use default value spectro-templates", + "type": "string" + }, + "network": { + "type": "object", + "required": [ + "networkName" + ], + "properties": { + "ipPool": { + "description": "IPPool defines static IPs available. Gateway, Prefix, Nameserver, if defined, will be default values for all Pools", + "type": "object", + "properties": { + "gateway": { + "description": "Gateway is the gateway ip address", + "type": "string" + }, + "nameserver": { + "description": "Nameserver define search domains and nameserver addresses", + "type": "object", + "properties": { + "addresses": { + "type": "array", + "items": { + "type": "string" + } + }, + "search": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "pools": { + "description": "Pools contains the list of IP addresses pools", + "type": "array", + "items": { + "description": "Pool defines IP ranges or with CIDR for available IPs Gateway, Prefix and Nameserver if provided, will overwrite values in IPPool", + "type": "object", + "properties": { + "end": { + "description": "End is the last IP address that can be rendered. It is used as a validation that the rendered IP is in bound.", + "type": "string" + }, + "gateway": { + "description": "Gateway is the gateway ip address", + "type": "string" + }, + "nameserver": { + "description": "Nameserver define search domains and nameserver addresses", + "type": "object", + "properties": { + "addresses": { + "type": "array", + "items": { + "type": "string" + } + }, + "search": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "prefix": { + "description": "Prefix is the mask of the network as integer (max 128)", + "type": "integer", + "format": "int32" + }, + "start": { + "description": "Start is the first ip address that can be rendered", + "type": "string" + }, + "subnet": { + "description": "Subnet is used to validate that the rendered IP is in bounds. eg: 192.168.0.0/24 If Start value is not given, start value is derived from the subnet ip incremented by 1 (start value is `192.168.0.1` for subnet `192.168.0.0/24`)", + "type": "string" + } + } + } + }, + "prefix": { + "description": "Prefix is the mask of the network as integer (max 128)", + "type": "integer", + "format": "int32" + }, + "uid": { + "description": "UID is the UID of this IPPool, used by Hubble", + "type": "string" + } + } + }, + "networkName": { + "description": "NetworkName is the name of the network in which VMs are created/located.", + "type": "string" + }, + "parentPoolRef": { + "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", + "type": "object", + "properties": { + "kind": { + "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "uid": { + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", + "type": "string" + } + } + }, + "staticIp": { + "description": "support dhcp or static IP, if false, use DHCP", + "type": "boolean" + } + } + }, + "resourcePool": { + "description": "ResourcePool is the resource pool within the above computecluster Cluster", + "type": "string" + }, + "storagePolicyName": { + "description": "StoragePolicyName of the storage policy to use with this Virtual Machine", + "type": "string" + }, + "uid": { + "description": "UID for this placement", + "type": "string" + } + } + } + }, + "size": { + "description": "size of the pool, number of machines", + "type": "integer", + "format": "int32" + }, + "taints": { + "description": "control plane or worker taints", + "type": "array", + "uniqueItems": true, + "items": { + "description": "Taint", + "type": "object", + "properties": { + "effect": { + "type": "string", + "enum": [ + "NoSchedule", + "PreferNoSchedule", + "NoExecute" + ] + }, + "key": { + "description": "The taint key to be applied to a node", + "type": "string" + }, + "timeAdded": { "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", "type": "string", "format": "date-time" @@ -41888,8 +40553,9 @@ } }, "useControlPlaneAsWorker": { - "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", - "type": "boolean" + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", + "type": "boolean", + "x-omitempty": false } } } @@ -41897,9 +40563,12 @@ } }, "status": { - "description": "OpenStackCloudConfigStatus defines the observed state of OpenStackCloudConfig The cloudimage info built by Mold is stored here image should be mapped to a specific machinepool", + "description": "VsphereCloudConfigStatus defines the observed state of VsphereCloudConfig", "type": "object", "properties": { + "ansibleDigest": { + "type": "string" + }, "conditions": { "type": "array", "items": { @@ -41936,14 +40605,46 @@ } } }, - "nodeImage": { + "isAddonLayer": { + "description": "addon layers present in spc", + "type": "boolean" + }, + "lastOVACreated": { + "type": "string" + }, + "lastVMExported": { "type": "string" }, + "nodeImage": { + "description": "A generated Image should always be a template which resides inside vsphere Will not generate a OVA file out of the image OVA can be used as a base input of the os pack, that's internal to the pack", + "type": "object", + "properties": { + "fullPath": { + "description": "full path of the image template location it contains datacenter/folder/templatename etc eg: /mydc/vm/template/spectro/workerpool-1-centos", + "type": "string" + }, + "state": { + "type": "string" + } + } + }, + "roleDigest": { + "description": "this map will be for ansible roles present in eack pack", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, "sourceImageId": { "description": "sourceImageId, it can be from packref's annotations or from pack.json", "type": "string" }, + "uploadOvaS3": { + "description": "UploadOVAS3 will hold last image name which uploaded to S3", + "type": "string" + }, "useCapiImage": { + "description": "If no ansible roles found in Packs then Mold should tell Drive to use capi image and not create custom image, because there is nothing to add", "type": "boolean" } } @@ -41963,7 +40664,7 @@ } ] }, - "/v1/cloudconfigs/openstack/{configUid}/clusterConfig": { + "/v1/cloudconfigs/vsphere/{configUid}/clusterConfig": { "put": { "security": [ { @@ -41977,83 +40678,118 @@ "v1" ], "summary": "Updates the cluster configuration information", - "operationId": "v1CloudConfigsOpenStackUidClusterConfig", + "operationId": "v1CloudConfigsVsphereUidClusterConfig", "parameters": [ { "name": "body", "in": "body", "schema": { - "description": "Openstack cloud cluster config entity", + "description": "vSphere cloud cluster config entity", "type": "object", "properties": { "clusterConfig": { - "description": "Cluster level configuration for OpenStack cloud and applicable for all the machine pools", "type": "object", + "required": [ + "placement" + ], "properties": { - "bastionDisabled": { - "description": "Create bastion node option we have earlier supported creation of bastion by default", - "type": "boolean" + "controlPlaneEndpoint": { + "type": "object", + "properties": { + "ddnsSearchDomain": { + "description": "DDNSSearchDomain is the search domain used for resolving IP addresses when the EndpointType is DDNS. This search domain is appended to the generated Hostname to obtain the complete DNS name for the endpoint. If Host is already a DDNS FQDN, DDNSSearchDomain is not required", + "type": "string" + }, + "host": { + "description": "IP or FQDN(External/DDNS)", + "type": "string" + }, + "type": { + "description": "VIP or External", + "type": "string", + "enum": [ + "VIP", + "External", + "DDNS" + ] + } + } }, - "dnsNameservers": { - "description": "DNSNameservers is the list of nameservers for OpenStack Subnet being created. Set this value when you need create a new network/subnet while the access through DNS is required.", + "ntpServers": { + "description": "NTPServers is a list of NTP servers to use instead of the machine image's default NTP server list.", "type": "array", "items": { "type": "string" } }, - "domain": { + "placement": { + "description": "Both ClusterConfig and MachinePoolConfig will have PlacementConfig MachinePoolconfig.Placements will overwrite values defined in ClusterConfig Currently the convention is: Datacenter / Folder / ImageTemplateFolder / Network should be defined at ClusterConfig Cluster / ResourcePool / Datastore / Network is defined at MachinePool ClusterConfig Network should only indicate use DHCP or not MachinePool Network should contain the actual network and IPPool", "type": "object", "properties": { - "id": { + "cluster": { + "description": "Cluster is the computecluster in vsphere", "type": "string" }, - "name": { + "datacenter": { + "description": "Datacenter is the name or inventory path of the datacenter where this machine's VM is created/located.", "type": "string" - } - } - }, - "network": { - "type": "object", - "properties": { - "id": { + }, + "datastore": { + "description": "Datastore is the datastore in which VMs are created/located.", "type": "string" }, - "name": { + "folder": { + "description": "Folder is the folder in which VMs are created/located.", "type": "string" - } - } - }, - "nodeCidr": { - "description": "For dynamic provision NodeCIDR is the OpenStack Subnet to be created. Cluster actuator will create a network, a subnet with NodeCIDR, and a router connected to this subnet. If you leave this empty, no network will be created.", - "type": "string" - }, - "project": { - "type": "object", - "properties": { - "id": { + }, + "imageTemplateFolder": { + "description": "ImageTemplateFolder is the folder in which VMs templates are created/located. if empty will use default value spectro-templates", "type": "string" }, - "name": { + "network": { + "type": "object", + "required": [ + "networkName" + ], + "properties": { + "networkName": { + "description": "NetworkName is the name of the network in which VMs are created/located.", + "type": "string" + }, + "parentPoolUid": { + "description": "ParentPoolRef Uid to the ParentPool which allocates IPs for this IPPool", + "type": "string" + }, + "staticIp": { + "description": "support dhcp or static IP, if false, use DHCP", + "type": "boolean" + } + } + }, + "resourcePool": { + "description": "ResourcePool is the resource pool within the above computecluster Cluster", "type": "string" - } - } - }, - "region": { - "type": "string" - }, - "sshKeyName": { - "type": "string" - }, - "subnet": { - "type": "object", - "properties": { - "id": { + }, + "storagePolicyName": { + "description": "StoragePolicyName of the storage policy to use with this Virtual Machine", "type": "string" }, - "name": { + "uid": { + "description": "UID for this placement", "type": "string" } } + }, + "sshKeys": { + "description": "SSHKeys specifies a list of ssh authorized keys for the 'spectro' user", + "type": "array", + "items": { + "type": "string" + } + }, + "staticIp": { + "description": "whether this cluster should use dhcp or static IP, if false, use DHCP if this is set, then all machinepools should have staticIP with provided IPPool adding this as an additional standalone flag without relating to placement.Nework main reason is to enable more validation for placement.Network.StaticIP which should come together with valid Network.IPPool and Network.Name", + "type": "boolean" } } } @@ -42083,7 +40819,7 @@ } ] }, - "/v1/cloudconfigs/openstack/{configUid}/machinePools": { + "/v1/cloudconfigs/vsphere/{configUid}/machinePools": { "post": { "security": [ { @@ -42096,8 +40832,8 @@ "tags": [ "v1" ], - "summary": "Creates a OpenStack cloud config's machine pool", - "operationId": "v1CloudConfigsOpenStackMachinePoolCreate", + "summary": "Creates a vSphere cloud config's machine pool", + "operationId": "v1CloudConfigsVsphereMachinePoolCreate", "parameters": [ { "name": "body", @@ -42109,57 +40845,91 @@ ], "properties": { "cloudConfig": { - "type": "object", - "required": [ - "flavorConfig" - ], "properties": { - "azs": { - "description": "for master pool, this will be the failure domains for kcp", - "type": "array", - "items": { - "type": "string" - } - }, - "diskGiB": { - "description": "Root disk size", - "type": "integer", - "format": "int32" - }, - "flavorConfig": { + "instanceType": { + "type": "object", "required": [ - "name" + "numCPUs", + "memoryMiB", + "diskGiB" ], "properties": { "diskGiB": { - "description": "DiskGiB is the size of a virtual machine's disk, in GiB.", + "description": "DiskGiB is the size of a virtual machine's disk, in GiB. Defaults to the analogue property value in the template from which this machine is cloned.", "type": "integer", "format": "int32" }, "memoryMiB": { - "description": "MemoryMiB is the size of a virtual machine's memory, in MiB.", + "description": "MemoryMiB is the size of a virtual machine's memory, in MiB. Defaults to the analogue property value in the template from which this machine is cloned.", "type": "integer", "format": "int64" }, - "name": { - "description": "Openstack flavor name", - "type": "string" - }, "numCPUs": { - "description": "NumCPUs is the number of virtual processors in a virtual machine.", + "description": "NumCPUs is the number of virtual processors in a virtual machine. Defaults to the analogue property value in the template from which this machine is cloned.", "type": "integer", "format": "int32" } } }, - "subnet": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" + "placements": { + "description": "Placements configuration Placements If defined, will replace default values defined in VsphereClusterConfig Array means one MachinePool can span across multiple vsphere compute cluster", + "type": "array", + "items": { + "description": "Both ClusterConfig and MachinePoolConfig will have PlacementConfig MachinePoolconfig.Placements will overwrite values defined in ClusterConfig Currently the convention is: Datacenter / Folder / ImageTemplateFolder / Network should be defined at ClusterConfig Cluster / ResourcePool / Datastore / Network is defined at MachinePool ClusterConfig Network should only indicate use DHCP or not MachinePool Network should contain the actual network and IPPool", + "type": "object", + "properties": { + "cluster": { + "description": "Cluster is the computecluster in vsphere", + "type": "string" + }, + "datacenter": { + "description": "Datacenter is the name or inventory path of the datacenter where this machine's VM is created/located.", + "type": "string" + }, + "datastore": { + "description": "Datastore is the datastore in which VMs are created/located.", + "type": "string" + }, + "folder": { + "description": "Folder is the folder in which VMs are created/located.", + "type": "string" + }, + "imageTemplateFolder": { + "description": "ImageTemplateFolder is the folder in which VMs templates are created/located. if empty will use default value spectro-templates", + "type": "string" + }, + "network": { + "type": "object", + "required": [ + "networkName" + ], + "properties": { + "networkName": { + "description": "NetworkName is the name of the network in which VMs are created/located.", + "type": "string" + }, + "parentPoolUid": { + "description": "ParentPoolRef Uid to the ParentPool which allocates IPs for this IPPool", + "type": "string" + }, + "staticIp": { + "description": "support dhcp or static IP, if false, use DHCP", + "type": "boolean" + } + } + }, + "resourcePool": { + "description": "ResourcePool is the resource pool within the above computecluster Cluster", + "type": "string" + }, + "storagePolicyName": { + "description": "StoragePolicyName of the storage policy to use with this Virtual Machine", + "type": "string" + }, + "uid": { + "description": "UID for this placement", + "type": "string" + } } } } @@ -42194,7 +40964,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -42238,7 +41008,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -42284,7 +41054,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -42333,7 +41103,7 @@ } ] }, - "/v1/cloudconfigs/openstack/{configUid}/machinePools/{machinePoolName}": { + "/v1/cloudconfigs/vsphere/{configUid}/machinePools/{machinePoolName}": { "put": { "security": [ { @@ -42346,8 +41116,8 @@ "tags": [ "v1" ], - "summary": "Updates the specified OpenStack cloud config's machine pool", - "operationId": "v1CloudConfigsOpenStackMachinePoolUpdate", + "summary": "Updates the specified vSphere cloud config's machine pool", + "operationId": "v1CloudConfigsVsphereMachinePoolUpdate", "parameters": [ { "name": "body", @@ -42359,57 +41129,91 @@ ], "properties": { "cloudConfig": { - "type": "object", - "required": [ - "flavorConfig" - ], "properties": { - "azs": { - "description": "for master pool, this will be the failure domains for kcp", - "type": "array", - "items": { - "type": "string" - } - }, - "diskGiB": { - "description": "Root disk size", - "type": "integer", - "format": "int32" - }, - "flavorConfig": { + "instanceType": { + "type": "object", "required": [ - "name" + "numCPUs", + "memoryMiB", + "diskGiB" ], "properties": { "diskGiB": { - "description": "DiskGiB is the size of a virtual machine's disk, in GiB.", + "description": "DiskGiB is the size of a virtual machine's disk, in GiB. Defaults to the analogue property value in the template from which this machine is cloned.", "type": "integer", "format": "int32" }, "memoryMiB": { - "description": "MemoryMiB is the size of a virtual machine's memory, in MiB.", + "description": "MemoryMiB is the size of a virtual machine's memory, in MiB. Defaults to the analogue property value in the template from which this machine is cloned.", "type": "integer", "format": "int64" }, - "name": { - "description": "Openstack flavor name", - "type": "string" - }, "numCPUs": { - "description": "NumCPUs is the number of virtual processors in a virtual machine.", + "description": "NumCPUs is the number of virtual processors in a virtual machine. Defaults to the analogue property value in the template from which this machine is cloned.", "type": "integer", "format": "int32" } } }, - "subnet": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" + "placements": { + "description": "Placements configuration Placements If defined, will replace default values defined in VsphereClusterConfig Array means one MachinePool can span across multiple vsphere compute cluster", + "type": "array", + "items": { + "description": "Both ClusterConfig and MachinePoolConfig will have PlacementConfig MachinePoolconfig.Placements will overwrite values defined in ClusterConfig Currently the convention is: Datacenter / Folder / ImageTemplateFolder / Network should be defined at ClusterConfig Cluster / ResourcePool / Datastore / Network is defined at MachinePool ClusterConfig Network should only indicate use DHCP or not MachinePool Network should contain the actual network and IPPool", + "type": "object", + "properties": { + "cluster": { + "description": "Cluster is the computecluster in vsphere", + "type": "string" + }, + "datacenter": { + "description": "Datacenter is the name or inventory path of the datacenter where this machine's VM is created/located.", + "type": "string" + }, + "datastore": { + "description": "Datastore is the datastore in which VMs are created/located.", + "type": "string" + }, + "folder": { + "description": "Folder is the folder in which VMs are created/located.", + "type": "string" + }, + "imageTemplateFolder": { + "description": "ImageTemplateFolder is the folder in which VMs templates are created/located. if empty will use default value spectro-templates", + "type": "string" + }, + "network": { + "type": "object", + "required": [ + "networkName" + ], + "properties": { + "networkName": { + "description": "NetworkName is the name of the network in which VMs are created/located.", + "type": "string" + }, + "parentPoolUid": { + "description": "ParentPoolRef Uid to the ParentPool which allocates IPs for this IPPool", + "type": "string" + }, + "staticIp": { + "description": "support dhcp or static IP, if false, use DHCP", + "type": "boolean" + } + } + }, + "resourcePool": { + "description": "ResourcePool is the resource pool within the above computecluster Cluster", + "type": "string" + }, + "storagePolicyName": { + "description": "StoragePolicyName of the storage policy to use with this Virtual Machine", + "type": "string" + }, + "uid": { + "description": "UID for this placement", + "type": "string" + } } } } @@ -42444,7 +41248,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -42488,7 +41292,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -42534,7 +41338,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -42569,7 +41373,7 @@ "v1" ], "summary": "Deletes the specified machine pool", - "operationId": "v1CloudConfigsOpenStackMachinePoolDelete", + "operationId": "v1CloudConfigsVsphereMachinePoolDelete", "parameters": [ { "type": "string", @@ -42601,7 +41405,7 @@ } ] }, - "/v1/cloudconfigs/openstack/{configUid}/machinePools/{machinePoolName}/machines": { + "/v1/cloudconfigs/vsphere/{configUid}/machinePools/{machinePoolName}/machines": { "get": { "security": [ { @@ -42614,9 +41418,48 @@ "tags": [ "v1" ], - "summary": "Retrieves a list of OpenStack machines", - "operationId": "v1CloudConfigsOpenStackPoolMachinesList", + "summary": "Retrieves a list of vSphere machines", + "operationId": "v1CloudConfigsVspherePoolMachinesList", "parameters": [ + { + "type": "string", + "description": "Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name", + "name": "fields", + "in": "query" + }, + { + "type": "string", + "description": "Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.", + "name": "filters", + "in": "query" + }, + { + "type": "string", + "description": "Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1", + "name": "orderBy", + "in": "query" + }, + { + "type": "integer", + "format": "int64", + "default": 50, + "description": "limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "name": "limit", + "in": "query" + }, + { + "type": "integer", + "format": "int64", + "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", + "name": "offset", + "in": "query" + }, + { + "type": "string", + "description": "continue token to paginate the subsequent data items", + "name": "continue", + "in": "query" + }, { "type": "string", "description": "Scope the request to the specified project uid", @@ -42626,9 +41469,9 @@ ], "responses": { "200": { - "description": "An array of OpenStack machine items", + "description": "An array of vSphere machine items", "schema": { - "description": "OpenStack machine list", + "description": "vSphere machine list", "type": "object", "required": [ "items" @@ -42638,15 +41481,13 @@ "type": "array", "uniqueItems": true, "items": { - "description": "OpenStack cloud VM definition", + "description": "vSphere cloud VM definition", "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -42654,7 +41495,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -42671,7 +41512,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -42683,47 +41524,60 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, "spec": { - "description": "OpenStack cloud VM definition spec", + "description": "vSphere cloud VM definition spec", "type": "object", "required": [ - "instanceType", - "nics" + "vcenterServer", + "nics", + "placement" ], "properties": { - "az": { - "type": "string" - }, - "image": { - "type": "string" + "images": { + "type": "array", + "items": { + "description": "A generated Image should always be a template which resides inside vsphere Will not generate a OVA file out of the image OVA can be used as a base input of the os pack, that's internal to the pack", + "type": "object", + "properties": { + "fullPath": { + "description": "full path of the image template location it contains datacenter/folder/templatename etc eg: /mydc/vm/template/spectro/workerpool-1-centos", + "type": "string" + }, + "state": { + "type": "string" + } + } + } }, "instanceType": { "type": "object", + "required": [ + "numCPUs", + "memoryMiB", + "diskGiB" + ], "properties": { "diskGiB": { - "description": "DiskGiB is the size of a virtual machine's disk, in GiB", + "description": "DiskGiB is the size of a virtual machine's disk, in GiB. Defaults to the analogue property value in the template from which this machine is cloned.", "type": "integer", "format": "int32" }, "memoryMiB": { - "description": "MemoryMiB is the size of a virtual machine's memory, in MiB", + "description": "MemoryMiB is the size of a virtual machine's memory, in MiB. Defaults to the analogue property value in the template from which this machine is cloned.", "type": "integer", "format": "int64" }, - "name": { - "type": "string" - }, "numCPUs": { - "description": "NumCPUs is the number of virtual processors in a virtual machine", + "description": "NumCPUs is the number of virtual processors in a virtual machine. Defaults to the analogue property value in the template from which this machine is cloned.", "type": "integer", "format": "int32" } @@ -42732,7 +41586,7 @@ "nics": { "type": "array", "items": { - "description": "OpenStack network interface", + "description": "vSphere network interface", "type": "object", "required": [ "networkName" @@ -42742,6 +41596,9 @@ "type": "integer", "format": "int8" }, + "macAddress": { + "type": "string" + }, "networkName": { "type": "string" }, @@ -42754,16 +41611,173 @@ } } }, - "projectId": { - "type": "string" - }, - "securityGroups": { + "ntpServers": { + "description": "NTPServers is a list of NTP servers to use instead of the machine image's default NTP server list.", "type": "array", "items": { "type": "string" } }, - "sshKeyName": { + "placement": { + "description": "Both ClusterConfig and MachinePoolConfig will have PlacementConfig MachinePoolconfig.Placements will overwrite values defined in ClusterConfig Currently the convention is: Datacenter / Folder / ImageTemplateFolder / Network should be defined at ClusterConfig Cluster / ResourcePool / Datastore / Network is defined at MachinePool ClusterConfig Network should only indicate use DHCP or not MachinePool Network should contain the actual network and IPPool", + "type": "object", + "properties": { + "cluster": { + "description": "Cluster is the computecluster in vsphere", + "type": "string" + }, + "datacenter": { + "description": "Datacenter is the name or inventory path of the datacenter where this machine's VM is created/located.", + "type": "string" + }, + "datastore": { + "description": "Datastore is the datastore in which VMs are created/located.", + "type": "string" + }, + "folder": { + "description": "Folder is the folder in which VMs are created/located.", + "type": "string" + }, + "imageTemplateFolder": { + "description": "ImageTemplateFolder is the folder in which VMs templates are created/located. if empty will use default value spectro-templates", + "type": "string" + }, + "network": { + "type": "object", + "required": [ + "networkName" + ], + "properties": { + "ipPool": { + "description": "IPPool defines static IPs available. Gateway, Prefix, Nameserver, if defined, will be default values for all Pools", + "type": "object", + "properties": { + "gateway": { + "description": "Gateway is the gateway ip address", + "type": "string" + }, + "nameserver": { + "description": "Nameserver define search domains and nameserver addresses", + "type": "object", + "properties": { + "addresses": { + "type": "array", + "items": { + "type": "string" + } + }, + "search": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "pools": { + "description": "Pools contains the list of IP addresses pools", + "type": "array", + "items": { + "description": "Pool defines IP ranges or with CIDR for available IPs Gateway, Prefix and Nameserver if provided, will overwrite values in IPPool", + "type": "object", + "properties": { + "end": { + "description": "End is the last IP address that can be rendered. It is used as a validation that the rendered IP is in bound.", + "type": "string" + }, + "gateway": { + "description": "Gateway is the gateway ip address", + "type": "string" + }, + "nameserver": { + "description": "Nameserver define search domains and nameserver addresses", + "type": "object", + "properties": { + "addresses": { + "type": "array", + "items": { + "type": "string" + } + }, + "search": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "prefix": { + "description": "Prefix is the mask of the network as integer (max 128)", + "type": "integer", + "format": "int32" + }, + "start": { + "description": "Start is the first ip address that can be rendered", + "type": "string" + }, + "subnet": { + "description": "Subnet is used to validate that the rendered IP is in bounds. eg: 192.168.0.0/24 If Start value is not given, start value is derived from the subnet ip incremented by 1 (start value is `192.168.0.1` for subnet `192.168.0.0/24`)", + "type": "string" + } + } + } + }, + "prefix": { + "description": "Prefix is the mask of the network as integer (max 128)", + "type": "integer", + "format": "int32" + }, + "uid": { + "description": "UID is the UID of this IPPool, used by Hubble", + "type": "string" + } + } + }, + "networkName": { + "description": "NetworkName is the name of the network in which VMs are created/located.", + "type": "string" + }, + "parentPoolRef": { + "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", + "type": "object", + "properties": { + "kind": { + "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "uid": { + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", + "type": "string" + } + } + }, + "staticIp": { + "description": "support dhcp or static IP, if false, use DHCP", + "type": "boolean" + } + } + }, + "resourcePool": { + "description": "ResourcePool is the resource pool within the above computecluster Cluster", + "type": "string" + }, + "storagePolicyName": { + "description": "StoragePolicyName of the storage policy to use with this Virtual Machine", + "type": "string" + }, + "uid": { + "description": "UID for this placement", + "type": "string" + } + } + }, + "vcenterServer": { + "description": "VcenterServer is the address of the vSphere endpoint", "type": "string" } } @@ -42839,6 +41853,32 @@ } } } + }, + "listmeta": { + "description": "ListMeta describes metadata for the resource listing", + "type": "object", + "properties": { + "continue": { + "description": "Next token for the pagination. Next token is equal to empty string indicates end of result set.", + "type": "string", + "x-omitempty": false + }, + "count": { + "description": "Total count of the resources which might change during pagination based on the resources addition or deletion", + "type": "integer", + "x-omitempty": false + }, + "limit": { + "description": "Number of records feteched", + "type": "integer", + "x-omitempty": false + }, + "offset": { + "description": "The next offset for the pagination. Starting index for which next request will be placed.", + "type": "integer", + "x-omitempty": false + } + } } } } @@ -42857,22 +41897,20 @@ "tags": [ "v1" ], - "summary": "Adds the OpenStack machine to cloud config's machine pool", - "operationId": "v1CloudConfigsOpenStackPoolMachinesAdd", + "summary": "Adds the vSphere machine to cloud config's machine pool", + "operationId": "v1CloudConfigsVspherePoolMachinesAdd", "parameters": [ { "name": "body", "in": "body", "schema": { - "description": "OpenStack cloud VM definition", + "description": "vSphere cloud VM definition", "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -42880,7 +41918,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -42897,7 +41935,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -42909,47 +41947,60 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, "spec": { - "description": "OpenStack cloud VM definition spec", + "description": "vSphere cloud VM definition spec", "type": "object", "required": [ - "instanceType", - "nics" + "vcenterServer", + "nics", + "placement" ], "properties": { - "az": { - "type": "string" - }, - "image": { - "type": "string" + "images": { + "type": "array", + "items": { + "description": "A generated Image should always be a template which resides inside vsphere Will not generate a OVA file out of the image OVA can be used as a base input of the os pack, that's internal to the pack", + "type": "object", + "properties": { + "fullPath": { + "description": "full path of the image template location it contains datacenter/folder/templatename etc eg: /mydc/vm/template/spectro/workerpool-1-centos", + "type": "string" + }, + "state": { + "type": "string" + } + } + } }, "instanceType": { "type": "object", + "required": [ + "numCPUs", + "memoryMiB", + "diskGiB" + ], "properties": { "diskGiB": { - "description": "DiskGiB is the size of a virtual machine's disk, in GiB", + "description": "DiskGiB is the size of a virtual machine's disk, in GiB. Defaults to the analogue property value in the template from which this machine is cloned.", "type": "integer", "format": "int32" }, "memoryMiB": { - "description": "MemoryMiB is the size of a virtual machine's memory, in MiB", + "description": "MemoryMiB is the size of a virtual machine's memory, in MiB. Defaults to the analogue property value in the template from which this machine is cloned.", "type": "integer", "format": "int64" }, - "name": { - "type": "string" - }, "numCPUs": { - "description": "NumCPUs is the number of virtual processors in a virtual machine", + "description": "NumCPUs is the number of virtual processors in a virtual machine. Defaults to the analogue property value in the template from which this machine is cloned.", "type": "integer", "format": "int32" } @@ -42958,7 +42009,7 @@ "nics": { "type": "array", "items": { - "description": "OpenStack network interface", + "description": "vSphere network interface", "type": "object", "required": [ "networkName" @@ -42968,6 +42019,9 @@ "type": "integer", "format": "int8" }, + "macAddress": { + "type": "string" + }, "networkName": { "type": "string" }, @@ -42980,129 +42034,286 @@ } } }, - "projectId": { - "type": "string" - }, - "securityGroups": { + "ntpServers": { + "description": "NTPServers is a list of NTP servers to use instead of the machine image's default NTP server list.", "type": "array", "items": { "type": "string" } }, - "sshKeyName": { - "type": "string" - } - } - }, - "status": { - "description": "cloud machine status", - "type": "object", - "properties": { - "health": { - "description": "Machine health state", + "placement": { + "description": "Both ClusterConfig and MachinePoolConfig will have PlacementConfig MachinePoolconfig.Placements will overwrite values defined in ClusterConfig Currently the convention is: Datacenter / Folder / ImageTemplateFolder / Network should be defined at ClusterConfig Cluster / ResourcePool / Datastore / Network is defined at MachinePool ClusterConfig Network should only indicate use DHCP or not MachinePool Network should contain the actual network and IPPool", "type": "object", "properties": { - "conditions": { - "type": "array", - "items": { - "description": "Machine health condition", - "type": "object", - "properties": { - "message": { - "type": "string" - }, - "reason": { - "type": "string" - }, - "status": { - "type": "string" - }, - "type": { - "type": "string" - } - } - } - }, - "lastHeartBeatTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" + "cluster": { + "description": "Cluster is the computecluster in vsphere", + "type": "string" }, - "state": { + "datacenter": { + "description": "Datacenter is the name or inventory path of the datacenter where this machine's VM is created/located.", "type": "string" - } - } - }, - "instanceState": { - "type": "string", - "enum": [ - "Pending", - "Provisioning", - "Provisioned", - "Running", - "Deleting", - "Deleted", - "Failed", - "Unknown" - ] - }, - "maintenanceStatus": { - "description": "Machine maintenance status", - "type": "object", - "properties": { - "action": { + }, + "datastore": { + "description": "Datastore is the datastore in which VMs are created/located.", "type": "string" }, - "message": { + "folder": { + "description": "Folder is the folder in which VMs are created/located.", "type": "string" }, - "state": { + "imageTemplateFolder": { + "description": "ImageTemplateFolder is the folder in which VMs templates are created/located. if empty will use default value spectro-templates", "type": "string" - } - } - } - } - } - } - } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "201": { - "description": "Created successfully", - "schema": { - "type": "object", - "required": [ - "uid" - ], - "properties": { - "uid": { - "type": "string" - } - } - }, - "headers": { - "AuditUid": { - "type": "string", - "description": "Audit uid for the request" - } - } - } - } - }, - "parameters": [ - { - "type": "string", - "description": "Cluster's cloud config uid", - "name": "configUid", - "in": "path", - "required": true + }, + "network": { + "type": "object", + "required": [ + "networkName" + ], + "properties": { + "ipPool": { + "description": "IPPool defines static IPs available. Gateway, Prefix, Nameserver, if defined, will be default values for all Pools", + "type": "object", + "properties": { + "gateway": { + "description": "Gateway is the gateway ip address", + "type": "string" + }, + "nameserver": { + "description": "Nameserver define search domains and nameserver addresses", + "type": "object", + "properties": { + "addresses": { + "type": "array", + "items": { + "type": "string" + } + }, + "search": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "pools": { + "description": "Pools contains the list of IP addresses pools", + "type": "array", + "items": { + "description": "Pool defines IP ranges or with CIDR for available IPs Gateway, Prefix and Nameserver if provided, will overwrite values in IPPool", + "type": "object", + "properties": { + "end": { + "description": "End is the last IP address that can be rendered. It is used as a validation that the rendered IP is in bound.", + "type": "string" + }, + "gateway": { + "description": "Gateway is the gateway ip address", + "type": "string" + }, + "nameserver": { + "description": "Nameserver define search domains and nameserver addresses", + "type": "object", + "properties": { + "addresses": { + "type": "array", + "items": { + "type": "string" + } + }, + "search": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "prefix": { + "description": "Prefix is the mask of the network as integer (max 128)", + "type": "integer", + "format": "int32" + }, + "start": { + "description": "Start is the first ip address that can be rendered", + "type": "string" + }, + "subnet": { + "description": "Subnet is used to validate that the rendered IP is in bounds. eg: 192.168.0.0/24 If Start value is not given, start value is derived from the subnet ip incremented by 1 (start value is `192.168.0.1` for subnet `192.168.0.0/24`)", + "type": "string" + } + } + } + }, + "prefix": { + "description": "Prefix is the mask of the network as integer (max 128)", + "type": "integer", + "format": "int32" + }, + "uid": { + "description": "UID is the UID of this IPPool, used by Hubble", + "type": "string" + } + } + }, + "networkName": { + "description": "NetworkName is the name of the network in which VMs are created/located.", + "type": "string" + }, + "parentPoolRef": { + "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", + "type": "object", + "properties": { + "kind": { + "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "uid": { + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", + "type": "string" + } + } + }, + "staticIp": { + "description": "support dhcp or static IP, if false, use DHCP", + "type": "boolean" + } + } + }, + "resourcePool": { + "description": "ResourcePool is the resource pool within the above computecluster Cluster", + "type": "string" + }, + "storagePolicyName": { + "description": "StoragePolicyName of the storage policy to use with this Virtual Machine", + "type": "string" + }, + "uid": { + "description": "UID for this placement", + "type": "string" + } + } + }, + "vcenterServer": { + "description": "VcenterServer is the address of the vSphere endpoint", + "type": "string" + } + } + }, + "status": { + "description": "cloud machine status", + "type": "object", + "properties": { + "health": { + "description": "Machine health state", + "type": "object", + "properties": { + "conditions": { + "type": "array", + "items": { + "description": "Machine health condition", + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "reason": { + "type": "string" + }, + "status": { + "type": "string" + }, + "type": { + "type": "string" + } + } + } + }, + "lastHeartBeatTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "state": { + "type": "string" + } + } + }, + "instanceState": { + "type": "string", + "enum": [ + "Pending", + "Provisioning", + "Provisioned", + "Running", + "Deleting", + "Deleted", + "Failed", + "Unknown" + ] + }, + "maintenanceStatus": { + "description": "Machine maintenance status", + "type": "object", + "properties": { + "action": { + "type": "string" + }, + "message": { + "type": "string" + }, + "state": { + "type": "string" + } + } + } + } + } + } + } + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "schema": { + "type": "object", + "required": [ + "uid" + ], + "properties": { + "uid": { + "type": "string" + } + } + }, + "headers": { + "AuditUid": { + "type": "string", + "description": "Audit uid for the request" + } + } + } + } + }, + "parameters": [ + { + "type": "string", + "description": "Cluster's cloud config uid", + "name": "configUid", + "in": "path", + "required": true }, { "type": "string", @@ -43113,7 +42324,7 @@ } ] }, - "/v1/cloudconfigs/openstack/{configUid}/machinePools/{machinePoolName}/machines/{machineUid}": { + "/v1/cloudconfigs/vsphere/{configUid}/machinePools/{machinePoolName}/machines/{machineUid}": { "get": { "security": [ { @@ -43126,8 +42337,8 @@ "tags": [ "v1" ], - "summary": "Returns the specified OpenStack machine", - "operationId": "v1CloudConfigsOpenStackPoolMachinesUidGet", + "summary": "Returns the specified vSphere machine", + "operationId": "v1CloudConfigsVspherePoolMachinesUidGet", "parameters": [ { "type": "string", @@ -43140,15 +42351,13 @@ "200": { "description": "OK", "schema": { - "description": "OpenStack cloud VM definition", + "description": "vSphere cloud VM definition", "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -43156,7 +42365,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -43173,7 +42382,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -43185,47 +42394,60 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, "spec": { - "description": "OpenStack cloud VM definition spec", + "description": "vSphere cloud VM definition spec", "type": "object", "required": [ - "instanceType", - "nics" + "vcenterServer", + "nics", + "placement" ], "properties": { - "az": { - "type": "string" - }, - "image": { - "type": "string" + "images": { + "type": "array", + "items": { + "description": "A generated Image should always be a template which resides inside vsphere Will not generate a OVA file out of the image OVA can be used as a base input of the os pack, that's internal to the pack", + "type": "object", + "properties": { + "fullPath": { + "description": "full path of the image template location it contains datacenter/folder/templatename etc eg: /mydc/vm/template/spectro/workerpool-1-centos", + "type": "string" + }, + "state": { + "type": "string" + } + } + } }, "instanceType": { "type": "object", + "required": [ + "numCPUs", + "memoryMiB", + "diskGiB" + ], "properties": { "diskGiB": { - "description": "DiskGiB is the size of a virtual machine's disk, in GiB", + "description": "DiskGiB is the size of a virtual machine's disk, in GiB. Defaults to the analogue property value in the template from which this machine is cloned.", "type": "integer", "format": "int32" }, "memoryMiB": { - "description": "MemoryMiB is the size of a virtual machine's memory, in MiB", + "description": "MemoryMiB is the size of a virtual machine's memory, in MiB. Defaults to the analogue property value in the template from which this machine is cloned.", "type": "integer", "format": "int64" }, - "name": { - "type": "string" - }, "numCPUs": { - "description": "NumCPUs is the number of virtual processors in a virtual machine", + "description": "NumCPUs is the number of virtual processors in a virtual machine. Defaults to the analogue property value in the template from which this machine is cloned.", "type": "integer", "format": "int32" } @@ -43234,7 +42456,7 @@ "nics": { "type": "array", "items": { - "description": "OpenStack network interface", + "description": "vSphere network interface", "type": "object", "required": [ "networkName" @@ -43244,6 +42466,9 @@ "type": "integer", "format": "int8" }, + "macAddress": { + "type": "string" + }, "networkName": { "type": "string" }, @@ -43256,16 +42481,173 @@ } } }, - "projectId": { - "type": "string" - }, - "securityGroups": { + "ntpServers": { + "description": "NTPServers is a list of NTP servers to use instead of the machine image's default NTP server list.", "type": "array", "items": { "type": "string" } }, - "sshKeyName": { + "placement": { + "description": "Both ClusterConfig and MachinePoolConfig will have PlacementConfig MachinePoolconfig.Placements will overwrite values defined in ClusterConfig Currently the convention is: Datacenter / Folder / ImageTemplateFolder / Network should be defined at ClusterConfig Cluster / ResourcePool / Datastore / Network is defined at MachinePool ClusterConfig Network should only indicate use DHCP or not MachinePool Network should contain the actual network and IPPool", + "type": "object", + "properties": { + "cluster": { + "description": "Cluster is the computecluster in vsphere", + "type": "string" + }, + "datacenter": { + "description": "Datacenter is the name or inventory path of the datacenter where this machine's VM is created/located.", + "type": "string" + }, + "datastore": { + "description": "Datastore is the datastore in which VMs are created/located.", + "type": "string" + }, + "folder": { + "description": "Folder is the folder in which VMs are created/located.", + "type": "string" + }, + "imageTemplateFolder": { + "description": "ImageTemplateFolder is the folder in which VMs templates are created/located. if empty will use default value spectro-templates", + "type": "string" + }, + "network": { + "type": "object", + "required": [ + "networkName" + ], + "properties": { + "ipPool": { + "description": "IPPool defines static IPs available. Gateway, Prefix, Nameserver, if defined, will be default values for all Pools", + "type": "object", + "properties": { + "gateway": { + "description": "Gateway is the gateway ip address", + "type": "string" + }, + "nameserver": { + "description": "Nameserver define search domains and nameserver addresses", + "type": "object", + "properties": { + "addresses": { + "type": "array", + "items": { + "type": "string" + } + }, + "search": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "pools": { + "description": "Pools contains the list of IP addresses pools", + "type": "array", + "items": { + "description": "Pool defines IP ranges or with CIDR for available IPs Gateway, Prefix and Nameserver if provided, will overwrite values in IPPool", + "type": "object", + "properties": { + "end": { + "description": "End is the last IP address that can be rendered. It is used as a validation that the rendered IP is in bound.", + "type": "string" + }, + "gateway": { + "description": "Gateway is the gateway ip address", + "type": "string" + }, + "nameserver": { + "description": "Nameserver define search domains and nameserver addresses", + "type": "object", + "properties": { + "addresses": { + "type": "array", + "items": { + "type": "string" + } + }, + "search": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "prefix": { + "description": "Prefix is the mask of the network as integer (max 128)", + "type": "integer", + "format": "int32" + }, + "start": { + "description": "Start is the first ip address that can be rendered", + "type": "string" + }, + "subnet": { + "description": "Subnet is used to validate that the rendered IP is in bounds. eg: 192.168.0.0/24 If Start value is not given, start value is derived from the subnet ip incremented by 1 (start value is `192.168.0.1` for subnet `192.168.0.0/24`)", + "type": "string" + } + } + } + }, + "prefix": { + "description": "Prefix is the mask of the network as integer (max 128)", + "type": "integer", + "format": "int32" + }, + "uid": { + "description": "UID is the UID of this IPPool, used by Hubble", + "type": "string" + } + } + }, + "networkName": { + "description": "NetworkName is the name of the network in which VMs are created/located.", + "type": "string" + }, + "parentPoolRef": { + "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", + "type": "object", + "properties": { + "kind": { + "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "uid": { + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", + "type": "string" + } + } + }, + "staticIp": { + "description": "support dhcp or static IP, if false, use DHCP", + "type": "boolean" + } + } + }, + "resourcePool": { + "description": "ResourcePool is the resource pool within the above computecluster Cluster", + "type": "string" + }, + "storagePolicyName": { + "description": "StoragePolicyName of the storage policy to use with this Virtual Machine", + "type": "string" + }, + "uid": { + "description": "UID for this placement", + "type": "string" + } + } + }, + "vcenterServer": { + "description": "VcenterServer is the address of the vSphere endpoint", "type": "string" } } @@ -43357,21 +42739,19 @@ "v1" ], "summary": "Updates the specified machine to cloud config's machine pool", - "operationId": "v1CloudConfigsOpenStackPoolMachinesUidUpdate", + "operationId": "v1CloudConfigsVspherePoolMachinesUidUpdate", "parameters": [ { "name": "body", "in": "body", "schema": { - "description": "OpenStack cloud VM definition", + "description": "vSphere cloud VM definition", "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -43379,7 +42759,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -43396,7 +42776,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -43408,47 +42788,60 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, "spec": { - "description": "OpenStack cloud VM definition spec", + "description": "vSphere cloud VM definition spec", "type": "object", "required": [ - "instanceType", - "nics" + "vcenterServer", + "nics", + "placement" ], "properties": { - "az": { - "type": "string" - }, - "image": { - "type": "string" + "images": { + "type": "array", + "items": { + "description": "A generated Image should always be a template which resides inside vsphere Will not generate a OVA file out of the image OVA can be used as a base input of the os pack, that's internal to the pack", + "type": "object", + "properties": { + "fullPath": { + "description": "full path of the image template location it contains datacenter/folder/templatename etc eg: /mydc/vm/template/spectro/workerpool-1-centos", + "type": "string" + }, + "state": { + "type": "string" + } + } + } }, "instanceType": { "type": "object", + "required": [ + "numCPUs", + "memoryMiB", + "diskGiB" + ], "properties": { "diskGiB": { - "description": "DiskGiB is the size of a virtual machine's disk, in GiB", + "description": "DiskGiB is the size of a virtual machine's disk, in GiB. Defaults to the analogue property value in the template from which this machine is cloned.", "type": "integer", "format": "int32" }, "memoryMiB": { - "description": "MemoryMiB is the size of a virtual machine's memory, in MiB", + "description": "MemoryMiB is the size of a virtual machine's memory, in MiB. Defaults to the analogue property value in the template from which this machine is cloned.", "type": "integer", "format": "int64" }, - "name": { - "type": "string" - }, "numCPUs": { - "description": "NumCPUs is the number of virtual processors in a virtual machine", + "description": "NumCPUs is the number of virtual processors in a virtual machine. Defaults to the analogue property value in the template from which this machine is cloned.", "type": "integer", "format": "int32" } @@ -43457,7 +42850,7 @@ "nics": { "type": "array", "items": { - "description": "OpenStack network interface", + "description": "vSphere network interface", "type": "object", "required": [ "networkName" @@ -43467,6 +42860,9 @@ "type": "integer", "format": "int8" }, + "macAddress": { + "type": "string" + }, "networkName": { "type": "string" }, @@ -43479,16 +42875,173 @@ } } }, - "projectId": { - "type": "string" - }, - "securityGroups": { + "ntpServers": { + "description": "NTPServers is a list of NTP servers to use instead of the machine image's default NTP server list.", "type": "array", "items": { "type": "string" } }, - "sshKeyName": { + "placement": { + "description": "Both ClusterConfig and MachinePoolConfig will have PlacementConfig MachinePoolconfig.Placements will overwrite values defined in ClusterConfig Currently the convention is: Datacenter / Folder / ImageTemplateFolder / Network should be defined at ClusterConfig Cluster / ResourcePool / Datastore / Network is defined at MachinePool ClusterConfig Network should only indicate use DHCP or not MachinePool Network should contain the actual network and IPPool", + "type": "object", + "properties": { + "cluster": { + "description": "Cluster is the computecluster in vsphere", + "type": "string" + }, + "datacenter": { + "description": "Datacenter is the name or inventory path of the datacenter where this machine's VM is created/located.", + "type": "string" + }, + "datastore": { + "description": "Datastore is the datastore in which VMs are created/located.", + "type": "string" + }, + "folder": { + "description": "Folder is the folder in which VMs are created/located.", + "type": "string" + }, + "imageTemplateFolder": { + "description": "ImageTemplateFolder is the folder in which VMs templates are created/located. if empty will use default value spectro-templates", + "type": "string" + }, + "network": { + "type": "object", + "required": [ + "networkName" + ], + "properties": { + "ipPool": { + "description": "IPPool defines static IPs available. Gateway, Prefix, Nameserver, if defined, will be default values for all Pools", + "type": "object", + "properties": { + "gateway": { + "description": "Gateway is the gateway ip address", + "type": "string" + }, + "nameserver": { + "description": "Nameserver define search domains and nameserver addresses", + "type": "object", + "properties": { + "addresses": { + "type": "array", + "items": { + "type": "string" + } + }, + "search": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "pools": { + "description": "Pools contains the list of IP addresses pools", + "type": "array", + "items": { + "description": "Pool defines IP ranges or with CIDR for available IPs Gateway, Prefix and Nameserver if provided, will overwrite values in IPPool", + "type": "object", + "properties": { + "end": { + "description": "End is the last IP address that can be rendered. It is used as a validation that the rendered IP is in bound.", + "type": "string" + }, + "gateway": { + "description": "Gateway is the gateway ip address", + "type": "string" + }, + "nameserver": { + "description": "Nameserver define search domains and nameserver addresses", + "type": "object", + "properties": { + "addresses": { + "type": "array", + "items": { + "type": "string" + } + }, + "search": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "prefix": { + "description": "Prefix is the mask of the network as integer (max 128)", + "type": "integer", + "format": "int32" + }, + "start": { + "description": "Start is the first ip address that can be rendered", + "type": "string" + }, + "subnet": { + "description": "Subnet is used to validate that the rendered IP is in bounds. eg: 192.168.0.0/24 If Start value is not given, start value is derived from the subnet ip incremented by 1 (start value is `192.168.0.1` for subnet `192.168.0.0/24`)", + "type": "string" + } + } + } + }, + "prefix": { + "description": "Prefix is the mask of the network as integer (max 128)", + "type": "integer", + "format": "int32" + }, + "uid": { + "description": "UID is the UID of this IPPool, used by Hubble", + "type": "string" + } + } + }, + "networkName": { + "description": "NetworkName is the name of the network in which VMs are created/located.", + "type": "string" + }, + "parentPoolRef": { + "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", + "type": "object", + "properties": { + "kind": { + "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "uid": { + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", + "type": "string" + } + } + }, + "staticIp": { + "description": "support dhcp or static IP, if false, use DHCP", + "type": "boolean" + } + } + }, + "resourcePool": { + "description": "ResourcePool is the resource pool within the above computecluster Cluster", + "type": "string" + }, + "storagePolicyName": { + "description": "StoragePolicyName of the storage policy to use with this Virtual Machine", + "type": "string" + }, + "uid": { + "description": "UID for this placement", + "type": "string" + } + } + }, + "vcenterServer": { + "description": "VcenterServer is the address of the vSphere endpoint", "type": "string" } } @@ -43590,8 +43143,8 @@ "tags": [ "v1" ], - "summary": "Deletes the specified OpenStack machine", - "operationId": "v1CloudConfigsOpenStackPoolMachinesUidDelete", + "summary": "Deletes the specified vSphere machine", + "operationId": "v1CloudConfigsVspherePoolMachinesUidDelete", "parameters": [ { "type": "string", @@ -43630,8 +43183,8 @@ } ] }, - "/v1/cloudconfigs/tke/{configUid}": { - "get": { + "/v1/cloudconfigs/{cloudType}/{configUid}/machinePools/{machinePoolName}/machines/{machineUid}/maintenance": { + "put": { "security": [ { "ApiKey": [] @@ -43643,9 +43196,26 @@ "tags": [ "v1" ], - "summary": "Returns the specified TKE cloud config", - "operationId": "v1CloudConfigsTkeGet", + "summary": "Updates the specified machine maintenance", + "operationId": "v1CloudConfigsMachinePoolsMachineUidMaintenanceUpdate", "parameters": [ + { + "name": "body", + "in": "body", + "schema": { + "type": "object", + "properties": { + "action": { + "description": "Machine maintenance mode action", + "type": "string", + "enum": [ + "cordon", + "uncordon" + ] + } + } + } + }, { "type": "string", "description": "Scope the request to the specified project uid", @@ -43654,310 +43224,8 @@ } ], "responses": { - "200": { - "description": "OK", - "schema": { - "description": "TencentCloudConfig is the Schema for the tencentcloudconfigs API", - "type": "object", - "properties": { - "metadata": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", - "type": "object", - "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "name": { - "description": "Name of the resource.", - "type": "string" - }, - "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", - "type": "string" - } - } - }, - "spec": { - "description": "TencentCloudConfigSpec defines the cloud configuration input by user This will translate to clusterspec/machinespec for cluster-api", - "type": "object", - "properties": { - "cloudAccountRef": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", - "type": "string" - } - } - }, - "clusterConfig": { - "description": "Cluster level configuration for tencent cloud and applicable for all the machine pools", - "type": "object", - "required": [ - "region" - ], - "properties": { - "endpointAccess": { - "description": "TKEEndpointAccess specifies how control plane endpoints are accessible", - "type": "object", - "properties": { - "IsExtranet": { - "description": "IsExtranet Whether it is external network access (TRUE external network access FALSE internal network access, default value: FALSE)", - "type": "boolean" - }, - "private": { - "description": "Private points VPC-internal control plane access to the private endpoint", - "type": "boolean" - }, - "privateCIDR": { - "description": "Deprecated. PrivateCIDRs specifies which blocks can access the public endpoint", - "type": "string" - }, - "public": { - "description": "Public controls whether control plane endpoints are publicly accessible", - "type": "boolean" - }, - "publicCIDRs": { - "description": "Deprecated. PublicCIDRs specifies which blocks can access the public endpoint", - "type": "array", - "items": { - "type": "string" - } - }, - "securityGroup": { - "description": "Tencent security group", - "type": "string" - }, - "subnetId": { - "description": "Tencent Subnet", - "type": "string" - } - } - }, - "region": { - "type": "string" - }, - "sshKeyIDs": { - "type": "array", - "items": { - "type": "string" - } - }, - "vpcID": { - "description": "VPC Id to deploy cluster into should have one public and one private subnet for the the cluster creation, this field is optional, If VPC Id is not provided a fully managed VPC will be created", - "type": "string" - } - } - }, - "machinePoolConfig": { - "type": "array", - "items": { - "type": "object", - "properties": { - "additionalLabels": { - "description": "AdditionalLabels", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "additionalTags": { - "description": "AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "azs": { - "description": "AZs is only used for dynamic placement", - "type": "array", - "items": { - "type": "string" - } - }, - "instanceConfig": { - "properties": { - "category": { - "type": "string" - }, - "cpuSet": { - "type": "integer", - "format": "int64" - }, - "diskGiB": { - "type": "integer", - "format": "int64" - }, - "memoryMiB": { - "description": "MemoryMiB is the size of a virtual machine's memory, in MiB", - "type": "integer", - "format": "int64" - }, - "name": { - "type": "string" - }, - "numCPUs": { - "description": "NumCPUs is the number of virtual processors in a virtual machine", - "type": "integer", - "format": "int32" - } - } - }, - "instanceType": { - "description": "instance type", - "type": "string" - }, - "isControlPlane": { - "description": "whether this pool is for control plane", - "type": "boolean" - }, - "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", - "type": "array", - "items": { - "type": "string" - } - }, - "machinePoolProperties": { - "description": "Machine pool specific properties", - "type": "object", - "properties": { - "archType": { - "type": "string", - "default": "amd64", - "enum": [ - "amd64", - "arm64" - ] - } - } - }, - "maxSize": { - "description": "max size of the pool, for scaling", - "type": "integer", - "format": "int32" - }, - "minSize": { - "description": "min size of the pool, for scaling", - "type": "integer", - "format": "int32" - }, - "name": { - "type": "string" - }, - "nodeRepaveInterval": { - "description": "Minimum number of seconds a node should be Ready, before the next node is selected for repave. Applicable only for workerpools in infrastructure cluster", - "type": "integer", - "format": "int32" - }, - "rootDeviceSize": { - "description": "rootDeviceSize in GBs", - "type": "integer", - "format": "int64" - }, - "size": { - "description": "size of the pool, number of machines", - "type": "integer", - "format": "int32" - }, - "subnetIds": { - "description": "AZ to subnet mapping filled by ally from hubble SubnetIDs [\"ap-guangzhou-6\"] = \"subnet-079b6061\" This field is optional If we don't provide a subnetId then by default the first subnet from the AZ will be picked up for deployment", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "taints": { - "description": "master or worker taints", - "type": "array", - "items": { - "description": "Taint", - "type": "object", - "properties": { - "effect": { - "type": "string", - "enum": [ - "NoSchedule", - "PreferNoSchedule", - "NoExecute" - ] - }, - "key": { - "description": "The taint key to be applied to a node", - "type": "string" - }, - "timeAdded": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "value": { - "description": "The taint value corresponding to the taint key.", - "type": "string" - } - } - } - }, - "updateStrategy": { - "description": "UpdatesStrategy will be used to translate to RollingUpdateStrategy of a MachineDeployment We'll start with default values for the translation, can expose more details later Following is details of parameters translated from the type ScaleOut =\u003e maxSurge=1, maxUnavailable=0 ScaleIn =\u003e maxSurge=0, maxUnavailable=1", - "type": "object", - "properties": { - "type": { - "description": "update strategy, either ScaleOut or ScaleIn if empty, will default to RollingUpdateScaleOut", - "type": "string", - "enum": [ - "RollingUpdateScaleOut", - "RollingUpdateScaleIn" - ] - } - } - }, - "useControlPlaneAsWorker": { - "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", - "type": "boolean" - } - } - } - } - } - } - } - } + "204": { + "description": "The resource was updated successfully" } } }, @@ -43968,90 +43236,61 @@ "name": "configUid", "in": "path", "required": true - } - ] - }, - "/v1/cloudconfigs/tke/{configUid}/clusterConfig": { - "put": { - "security": [ - { - "ApiKey": [] - }, - { + }, + { + "type": "string", + "description": "Machine pool name", + "name": "machinePoolName", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "Machine uid", + "name": "machineUid", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "Cloud type", + "name": "cloudType", + "in": "path", + "required": true + } + ] + }, + "/v1/cloudconfigs/{cloudType}/{configUid}/machinePools/{machinePoolName}/machines/{machineUid}/maintenance/status": { + "put": { + "security": [ + { + "ApiKey": [] + }, + { "Authorization": [] } ], "tags": [ "v1" ], - "summary": "Updates the cluster configuration information", - "operationId": "v1CloudConfigsTkeUidClusterConfig", + "summary": "Updates the specified machine maintenance", + "operationId": "v1CloudConfigsMachinePoolsMachineUidMaintenanceStatusUpdate", "parameters": [ { "name": "body", "in": "body", "schema": { - "description": "Tencent cloud cluster config entity", + "description": "Machine maintenance status", "type": "object", "properties": { - "clusterConfig": { - "description": "Cluster level configuration for tencent cloud and applicable for all the machine pools", - "type": "object", - "required": [ - "region" - ], - "properties": { - "endpointAccess": { - "description": "TKEEndpointAccess specifies how control plane endpoints are accessible", - "type": "object", - "properties": { - "IsExtranet": { - "description": "IsExtranet Whether it is external network access (TRUE external network access FALSE internal network access, default value: FALSE)", - "type": "boolean" - }, - "private": { - "description": "Private points VPC-internal control plane access to the private endpoint", - "type": "boolean" - }, - "privateCIDR": { - "description": "Deprecated. PrivateCIDRs specifies which blocks can access the public endpoint", - "type": "string" - }, - "public": { - "description": "Public controls whether control plane endpoints are publicly accessible", - "type": "boolean" - }, - "publicCIDRs": { - "description": "Deprecated. PublicCIDRs specifies which blocks can access the public endpoint", - "type": "array", - "items": { - "type": "string" - } - }, - "securityGroup": { - "description": "Tencent security group", - "type": "string" - }, - "subnetId": { - "description": "Tencent Subnet", - "type": "string" - } - } - }, - "region": { - "type": "string" - }, - "sshKeyIDs": { - "type": "array", - "items": { - "type": "string" - } - }, - "vpcID": { - "description": "VPC Id to deploy cluster into should have one public and one private subnet for the the cluster creation, this field is optional, If VPC Id is not provided a fully managed VPC will be created", - "type": "string" - } - } + "action": { + "type": "string" + }, + "message": { + "type": "string" + }, + "state": { + "type": "string" } } } @@ -44076,10 +43315,151 @@ "name": "configUid", "in": "path", "required": true + }, + { + "type": "string", + "description": "Machine pool name", + "name": "machinePoolName", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "Machine uid", + "name": "machineUid", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "Cloud type", + "name": "cloudType", + "in": "path", + "required": true } ] }, - "/v1/cloudconfigs/tke/{configUid}/machinePools": { + "/v1/cloudconfigs/{configUid}/machinePools/machineUids": { + "get": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Returns the specified cloud config's machine pools and machine uid", + "operationId": "v1CloudConfigsMachinePoolsMachineUidsGet", + "parameters": [ + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "properties": { + "machinePools": { + "type": "object", + "additionalProperties": { + "properties": { + "machineUids": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + } + } + } + }, + "parameters": [ + { + "type": "string", + "description": "Cluster's cloud config uid", + "name": "configUid", + "in": "path", + "required": true + } + ] + }, + "/v1/clouds/aws/account/sts": { + "get": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Retrieves AWS external id and account id", + "operationId": "V1AwsAccountStsGet", + "parameters": [ + { + "enum": [ + "aws", + "aws-us-gov" + ], + "type": "string", + "default": "aws", + "description": "AWS accounts are scoped to a single partition. Allowed values [aws, aws-us-gov], Default values", + "name": "partition", + "in": "query" + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "description": "AWS cloud account sts", + "type": "object", + "properties": { + "accountId": { + "description": "A 12-digit number, such as 123456789012, that uniquely identifies an AWS account", + "type": "string" + }, + "externalId": { + "description": "It can be passed to the AssumeRole API of the STS. It can be used in the condition element in a role's trust policy, allowing the role to be assumed only when a certain value is present in the external ID", + "type": "string" + }, + "partition": { + "description": "AWS accounts are scoped to a single partition. Allowed values [aws, aws-us-gov], Default values", + "type": "string", + "default": "aws", + "enum": [ + "aws", + "aws-us-gov" + ] + } + } + } + } + } + } + }, + "/v1/clouds/aws/account/validate": { "post": { "security": [ { @@ -44092,171 +43472,178 @@ "tags": [ "v1" ], - "summary": "Creates an TKE cloud config's machine pool", - "operationId": "v1CloudConfigsTkeMachinePoolCreate", + "summary": "Validate the specified AWS account credentials", + "operationId": "V1AwsAccountValidate", "parameters": [ { - "name": "body", + "description": "Request payload to validate AWS cloud account", + "name": "awsCloudAccount", "in": "body", + "required": true, "schema": { + "description": "AWS cloud account which includes access key and secret key in case of 'secret' credentials type. It includes policyARNS, ARN and externalId in case of sts. Partition is a group of AWS Region and Service objects", "type": "object", - "required": [ - "cloudConfig" - ], "properties": { - "cloudConfig": { + "accessKey": { + "description": "AWS account access key", + "type": "string" + }, + "credentialType": { + "description": "Allowed Values [secret, sts]. STS type will be used for role assumption for sts type, accessKey/secretKey contains the source account, Arn is the target account.", + "type": "string", + "default": "secret", + "enum": [ + "secret", + "sts" + ] + }, + "partition": { + "description": "AWS accounts are scoped to a single partition. Allowed values [aws, aws-us-gov], Default values", + "type": "string", + "default": "aws", + "enum": [ + "aws", + "aws-us-gov" + ] + }, + "policyARNs": { + "description": "List of policy ARNs required in case of credentialType sts.", + "type": "array", + "items": { + "type": "string" + } + }, + "secretKey": { + "description": "AWS account secret key", + "type": "string" + }, + "sts": { + "description": "Aws sts credentials", "type": "object", "properties": { - "azs": { - "type": "array", - "items": { - "type": "string" - } - }, - "instanceType": { - "description": "instance type", + "arn": { + "description": "Arn for the aws sts credentials in cloud account", "type": "string" }, - "rootDeviceSize": { - "description": "rootDeviceSize in GBs", - "type": "integer", - "format": "int64", - "maximum": 2000, - "minimum": 1 - }, - "subnetIds": { - "description": "AZ to subnet mapping filled by ally from hubble SubnetIDs [\"ap-guangzhou-6\"] = \"subnet-079b6061\" This field is optional If we don't provide a subnetId then by default the first subnet from the AZ will be picked up for deployment", - "type": "object", - "additionalProperties": { - "type": "string" - } + "externalId": { + "description": "ExternalId for the aws sts credentials in cloud account", + "type": "string" } } - }, - "poolConfig": { - "description": "Machine pool configuration for the cluster", + } + } + } + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "type": "string", + "description": "Audit uid for the request" + } + } + } + } + } + }, + "/v1/clouds/aws/cloudwatch/validate": { + "post": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "description": "Validates aws cloud watch credentials", + "tags": [ + "v1" + ], + "summary": "validates aws cloud watch credentials", + "operationId": "V1CloudsAwsCloudWatchValidate", + "parameters": [ + { + "description": "Request payload for cloud watch config", + "name": "cloudWatchConfig", + "in": "body", + "required": true, + "schema": { + "description": "Cloud watch config entity", + "type": "object", + "properties": { + "credentials": { + "description": "AWS cloud account which includes access key and secret key in case of 'secret' credentials type. It includes policyARNS, ARN and externalId in case of sts. Partition is a group of AWS Region and Service objects", "type": "object", - "required": [ - "name", - "size", - "labels" - ], "properties": { - "additionalLabels": { - "description": "Additional labels to be part of the machine pool", - "type": "object", - "additionalProperties": { - "type": "string" - } + "accessKey": { + "description": "AWS account access key", + "type": "string" }, - "additionalTags": { - "description": "AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole", - "type": "object", - "additionalProperties": { - "type": "string" - } + "credentialType": { + "description": "Allowed Values [secret, sts]. STS type will be used for role assumption for sts type, accessKey/secretKey contains the source account, Arn is the target account.", + "type": "string", + "default": "secret", + "enum": [ + "secret", + "sts" + ] }, - "isControlPlane": { - "description": "Whether this pool is for control plane", - "type": "boolean", - "x-omitempty": false + "partition": { + "description": "AWS accounts are scoped to a single partition. Allowed values [aws, aws-us-gov], Default values", + "type": "string", + "default": "aws", + "enum": [ + "aws", + "aws-us-gov" + ] }, - "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "policyARNs": { + "description": "List of policy ARNs required in case of credentialType sts.", "type": "array", "items": { "type": "string" } }, - "machinePoolProperties": { - "description": "Machine pool specific properties", - "type": "object", - "properties": { - "archType": { - "type": "string", - "default": "amd64", - "enum": [ - "amd64", - "arm64" - ] - } - } - }, - "maxSize": { - "description": "Max size of the pool, for scaling", - "type": "integer", - "format": "int32" - }, - "minSize": { - "description": "Min size of the pool, for scaling", - "type": "integer", - "format": "int32" - }, - "name": { + "secretKey": { + "description": "AWS account secret key", "type": "string" }, - "nodeRepaveInterval": { - "description": "Minimum number of seconds a node should be Ready, before the next node is selected for repave. Applicable only for workerpools in infrastructure cluster", - "type": "integer", - "format": "int32" - }, - "size": { - "description": "Size of the pool, number of nodes/machines", - "type": "integer", - "format": "int32" - }, - "taints": { - "description": "Master or worker taints", - "type": "array", - "uniqueItems": true, - "items": { - "description": "Taint", - "type": "object", - "properties": { - "effect": { - "type": "string", - "enum": [ - "NoSchedule", - "PreferNoSchedule", - "NoExecute" - ] - }, - "key": { - "description": "The taint key to be applied to a node", - "type": "string" - }, - "timeAdded": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "value": { - "description": "The taint value corresponding to the taint key.", - "type": "string" - } - } - } - }, - "updateStrategy": { - "description": "UpdatesStrategy will be used to translate to RollingUpdateStrategy of a MachineDeployment We'll start with default values for the translation, can expose more details later Following is details of parameters translated from the type ScaleOut =\u003e maxSurge=1, maxUnavailable=0 ScaleIn =\u003e maxSurge=0, maxUnavailable=1", + "sts": { + "description": "Aws sts credentials", "type": "object", "properties": { - "type": { - "description": "update strategy, either ScaleOut or ScaleIn if empty, will default to RollingUpdateScaleOut", - "type": "string", - "enum": [ - "RollingUpdateScaleOut", - "RollingUpdateScaleIn" - ] + "arn": { + "description": "Arn for the aws sts credentials in cloud account", + "type": "string" + }, + "externalId": { + "description": "ExternalId for the aws sts credentials in cloud account", + "type": "string" } } - }, - "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", - "type": "boolean", - "x-omitempty": false } } + }, + "group": { + "description": "Name of the group", + "type": "string" + }, + "region": { + "description": "Name of the region", + "type": "string" + }, + "stream": { + "description": "Name of the stream", + "type": "string" } } } @@ -44269,19 +43656,8 @@ } ], "responses": { - "201": { - "description": "Created successfully", - "schema": { - "type": "object", - "required": [ - "uid" - ], - "properties": { - "uid": { - "type": "string" - } - } - }, + "204": { + "description": "Ok response without content", "headers": { "AuditUid": { "type": "string", @@ -44290,19 +43666,10 @@ } } } - }, - "parameters": [ - { - "type": "string", - "description": "Cluster's cloud config uid", - "name": "configUid", - "in": "path", - "required": true - } - ] + } }, - "/v1/cloudconfigs/tke/{configUid}/machinePools/{machinePoolName}": { - "put": { + "/v1/clouds/aws/cost": { + "post": { "security": [ { "ApiKey": [] @@ -44314,189 +43681,157 @@ "tags": [ "v1" ], - "summary": "Updates the specified TKE cloud config's machine pool", - "operationId": "v1CloudConfigsTkeMachinePoolUpdate", + "summary": "Retrieves AWS cloud account usage cost from cost explorer.", + "operationId": "v1AwsCloudCost", "parameters": [ { + "description": "Request payload for AWS cloud cost", "name": "body", "in": "body", + "required": true, "schema": { + "description": "Aws cloud account usage cost payload spec", "type": "object", "required": [ - "cloudConfig" + "credentials" ], "properties": { - "cloudConfig": { + "accountId": { + "description": "AccountId of AWS cloud cost", + "type": "string" + }, + "credentials": { + "description": "AWS cloud account which includes access key and secret key in case of 'secret' credentials type. It includes policyARNS, ARN and externalId in case of sts. Partition is a group of AWS Region and Service objects", "type": "object", "properties": { - "azs": { + "accessKey": { + "description": "AWS account access key", + "type": "string" + }, + "credentialType": { + "description": "Allowed Values [secret, sts]. STS type will be used for role assumption for sts type, accessKey/secretKey contains the source account, Arn is the target account.", + "type": "string", + "default": "secret", + "enum": [ + "secret", + "sts" + ] + }, + "partition": { + "description": "AWS accounts are scoped to a single partition. Allowed values [aws, aws-us-gov], Default values", + "type": "string", + "default": "aws", + "enum": [ + "aws", + "aws-us-gov" + ] + }, + "policyARNs": { + "description": "List of policy ARNs required in case of credentialType sts.", "type": "array", "items": { "type": "string" } }, - "instanceType": { - "description": "instance type", + "secretKey": { + "description": "AWS account secret key", "type": "string" }, - "rootDeviceSize": { - "description": "rootDeviceSize in GBs", - "type": "integer", - "format": "int64", - "maximum": 2000, - "minimum": 1 - }, - "subnetIds": { - "description": "AZ to subnet mapping filled by ally from hubble SubnetIDs [\"ap-guangzhou-6\"] = \"subnet-079b6061\" This field is optional If we don't provide a subnetId then by default the first subnet from the AZ will be picked up for deployment", + "sts": { + "description": "Aws sts credentials", "type": "object", - "additionalProperties": { - "type": "string" + "properties": { + "arn": { + "description": "Arn for the aws sts credentials in cloud account", + "type": "string" + }, + "externalId": { + "description": "ExternalId for the aws sts credentials in cloud account", + "type": "string" + } } } } }, - "poolConfig": { - "description": "Machine pool configuration for the cluster", + "filter": { + "description": "Aws cloud account usage cost payload filter. startTime and endTime should be within 12 months range from now.", "type": "object", "required": [ - "name", - "size", - "labels" + "startTime" ], "properties": { - "additionalLabels": { - "description": "Additional labels to be part of the machine pool", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "additionalTags": { - "description": "AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "isControlPlane": { - "description": "Whether this pool is for control plane", - "type": "boolean", - "x-omitempty": false - }, - "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", - "type": "array", - "items": { - "type": "string" - } - }, - "machinePoolProperties": { - "description": "Machine pool specific properties", - "type": "object", - "properties": { - "archType": { - "type": "string", - "default": "amd64", - "enum": [ - "amd64", - "arm64" - ] - } - } - }, - "maxSize": { - "description": "Max size of the pool, for scaling", - "type": "integer", - "format": "int32" - }, - "minSize": { - "description": "Min size of the pool, for scaling", - "type": "integer", - "format": "int32" + "endTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" }, - "name": { + "iamUserId": { + "description": "IAM UserId of AWS account", "type": "string" }, - "nodeRepaveInterval": { - "description": "Minimum number of seconds a node should be Ready, before the next node is selected for repave. Applicable only for workerpools in infrastructure cluster", - "type": "integer", - "format": "int32" - }, - "size": { - "description": "Size of the pool, number of nodes/machines", - "type": "integer", - "format": "int32" - }, - "taints": { - "description": "Master or worker taints", + "startTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + } + } + } + } + } + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "description": "AWS cloud account usage cost summary response data", + "type": "object", + "properties": { + "cost": { + "description": "AWS cloud account usage cost summary of monthlyCosts and totalCost", + "type": "object", + "properties": { + "monthlyCosts": { + "description": "Monthly cost of AWS cost", "type": "array", - "uniqueItems": true, "items": { - "description": "Taint", "type": "object", "properties": { - "effect": { - "type": "string", - "enum": [ - "NoSchedule", - "PreferNoSchedule", - "NoExecute" - ] - }, - "key": { - "description": "The taint key to be applied to a node", - "type": "string" - }, - "timeAdded": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" + "amount": { + "description": "Amount for aws cloud cost", + "type": "number", + "format": "float64", + "x-omitempty": false }, - "value": { - "description": "The taint value corresponding to the taint key.", - "type": "string" + "timestamp": { + "description": "Time duration for aws cloud cost", + "type": "integer" } } } }, - "updateStrategy": { - "description": "UpdatesStrategy will be used to translate to RollingUpdateStrategy of a MachineDeployment We'll start with default values for the translation, can expose more details later Following is details of parameters translated from the type ScaleOut =\u003e maxSurge=1, maxUnavailable=0 ScaleIn =\u003e maxSurge=0, maxUnavailable=1", - "type": "object", - "properties": { - "type": { - "description": "update strategy, either ScaleOut or ScaleIn if empty, will default to RollingUpdateScaleOut", - "type": "string", - "enum": [ - "RollingUpdateScaleOut", - "RollingUpdateScaleIn" - ] - } - } - }, - "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", - "type": "boolean", + "total": { + "description": "Total cost of AWS cost", + "type": "number", + "format": "float64", "x-omitempty": false } } } } } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "204": { - "description": "The resource was updated successfully" } } - }, - "delete": { + } + }, + "/v1/clouds/aws/imageIds/{imageId}/volumeSize": { + "get": { "security": [ { "ApiKey": [] @@ -44505,12 +43840,34 @@ "Authorization": [] } ], + "description": "Get AWS Volume Size", "tags": [ "v1" ], - "summary": "Deletes the specified machine pool", - "operationId": "v1CloudConfigsTkeMachinePoolDelete", + "summary": "Get AWS Volume Size", + "operationId": "V1AwsVolumeSizeGet", "parameters": [ + { + "type": "string", + "description": "Specific AWS Region", + "name": "region", + "in": "query", + "required": true + }, + { + "type": "string", + "description": "Uid for the specific AWS cloud account", + "name": "cloudAccountUid", + "in": "query", + "required": true + }, + { + "type": "string", + "description": "AWS image id", + "name": "imageId", + "in": "path", + "required": true + }, { "type": "string", "description": "Scope the request to the specified project uid", @@ -44519,30 +43876,24 @@ } ], "responses": { - "204": { - "description": "The resource was deleted successfully" + "200": { + "description": "(empty)", + "schema": { + "description": "AWS Volume Size entity", + "type": "object", + "properties": { + "sizeGB": { + "description": "AWS volume size", + "type": "integer" + } + } + } } } - }, - "parameters": [ - { - "type": "string", - "description": "Cluster's cloud config uid", - "name": "configUid", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Machine pool name", - "name": "machinePoolName", - "in": "path", - "required": true - } - ] + } }, - "/v1/cloudconfigs/tke/{configUid}/machinePools/{machinePoolName}/machines": { - "get": { + "/v1/clouds/aws/policies": { + "post": { "security": [ { "ApiKey": [] @@ -44554,46 +43905,72 @@ "tags": [ "v1" ], - "summary": "Retrieves a list of TKE machines", - "operationId": "v1CloudConfigsTkePoolMachinesList", + "summary": "Retrieves a list of AWS policies for the specified account", + "operationId": "V1AwsIamPolicies", "parameters": [ { - "type": "string", - "description": "Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name", - "name": "fields", - "in": "query" - }, - { - "type": "string", - "description": "Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.", - "name": "filters", - "in": "query" - }, - { - "type": "string", - "description": "Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1", - "name": "orderBy", - "in": "query" - }, - { - "type": "integer", - "format": "int64", - "default": 50, - "description": "limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", - "name": "limit", - "in": "query" - }, - { - "type": "integer", - "format": "int64", - "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", - "name": "offset", - "in": "query" + "description": "Request payload for AWS Cloud Account", + "name": "account", + "in": "body", + "required": true, + "schema": { + "description": "AWS cloud account which includes access key and secret key in case of 'secret' credentials type. It includes policyARNS, ARN and externalId in case of sts. Partition is a group of AWS Region and Service objects", + "type": "object", + "properties": { + "accessKey": { + "description": "AWS account access key", + "type": "string" + }, + "credentialType": { + "description": "Allowed Values [secret, sts]. STS type will be used for role assumption for sts type, accessKey/secretKey contains the source account, Arn is the target account.", + "type": "string", + "default": "secret", + "enum": [ + "secret", + "sts" + ] + }, + "partition": { + "description": "AWS accounts are scoped to a single partition. Allowed values [aws, aws-us-gov], Default values", + "type": "string", + "default": "aws", + "enum": [ + "aws", + "aws-us-gov" + ] + }, + "policyARNs": { + "description": "List of policy ARNs required in case of credentialType sts.", + "type": "array", + "items": { + "type": "string" + } + }, + "secretKey": { + "description": "AWS account secret key", + "type": "string" + }, + "sts": { + "description": "Aws sts credentials", + "type": "object", + "properties": { + "arn": { + "description": "Arn for the aws sts credentials in cloud account", + "type": "string" + }, + "externalId": { + "description": "ExternalId for the aws sts credentials in cloud account", + "type": "string" + } + } + } + } + } }, { "type": "string", - "description": "continue token to paginate the subsequent data items", - "name": "continue", + "description": "Uid for the specific AWS cloud account", + "name": "cloudAccountUid", "in": "query" }, { @@ -44605,235 +43982,38 @@ ], "responses": { "200": { - "description": "An array of TKE machine items", + "description": "(empty)", "schema": { - "description": "Tencent machine list", "type": "object", "required": [ - "items" + "policies" ], "properties": { - "items": { + "policies": { "type": "array", - "uniqueItems": true, "items": { - "description": "Tencent cloud VM definition", + "description": "Aws policy", "type": "object", "properties": { - "apiVersion": { - "description": "Deprecated. Not used for the resource info.", + "arn": { "type": "string" }, - "kind": { - "description": "Deprecated. Cloud type of the machine.", + "policyId": { "type": "string" }, - "metadata": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", - "type": "object", - "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "name": { - "description": "Name of the resource.", - "type": "string" - }, - "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", - "type": "string" - } - } - }, - "spec": { - "description": "Tencent cloud VM definition spec", - "type": "object", - "required": [ - "nics", - "instanceType", - "imageId" - ], - "properties": { - "dnsName": { - "type": "string" - }, - "imageId": { - "type": "string" - }, - "instanceType": { - "type": "string" - }, - "nics": { - "type": "array", - "items": { - "description": "Tencent network interface", - "type": "object", - "properties": { - "index": { - "type": "integer", - "format": "int8" - }, - "privateIPs": { - "type": "array", - "items": { - "type": "string" - } - }, - "publicIp": { - "type": "string" - } - } - } - }, - "securityGroups": { - "type": "array", - "items": { - "type": "string" - } - }, - "subnetId": { - "type": "string" - }, - "type": { - "type": "string" - }, - "vpcId": { - "type": "string" - }, - "zoneId": { - "type": "string" - } - } - }, - "status": { - "description": "cloud machine status", - "type": "object", - "properties": { - "health": { - "description": "Machine health state", - "type": "object", - "properties": { - "conditions": { - "type": "array", - "items": { - "description": "Machine health condition", - "type": "object", - "properties": { - "message": { - "type": "string" - }, - "reason": { - "type": "string" - }, - "status": { - "type": "string" - }, - "type": { - "type": "string" - } - } - } - }, - "lastHeartBeatTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "state": { - "type": "string" - } - } - }, - "instanceState": { - "type": "string", - "enum": [ - "Pending", - "Provisioning", - "Provisioned", - "Running", - "Deleting", - "Deleted", - "Failed", - "Unknown" - ] - }, - "maintenanceStatus": { - "description": "Machine maintenance status", - "type": "object", - "properties": { - "action": { - "type": "string" - }, - "message": { - "type": "string" - }, - "state": { - "type": "string" - } - } - } - } + "policyName": { + "type": "string" } } } - }, - "listmeta": { - "description": "ListMeta describes metadata for the resource listing", - "type": "object", - "properties": { - "continue": { - "description": "Next token for the pagination. Next token is equal to empty string indicates end of result set.", - "type": "string", - "x-omitempty": false - }, - "count": { - "description": "Total count of the resources which might change during pagination based on the resources addition or deletion", - "type": "integer", - "x-omitempty": false - }, - "limit": { - "description": "Number of records feteched", - "type": "integer", - "x-omitempty": false - }, - "offset": { - "description": "The next offset for the pagination. Starting index for which next request will be placed.", - "type": "integer", - "x-omitempty": false - } - } } } } } } - }, + } + }, + "/v1/clouds/aws/policyArns/validate": { "post": { "security": [ { @@ -44846,199 +44026,90 @@ "tags": [ "v1" ], - "summary": "Adds the machine to cloud config's machine pool", - "operationId": "v1CloudConfigsTkePoolMachinesAdd", + "summary": "Validate the aws policy arns validate", + "operationId": "V1AwsPolicyArnsValidate", "parameters": [ { - "name": "body", + "description": "Request payload to validate AWS policy ARN", + "name": "spec", "in": "body", + "required": true, "schema": { - "description": "Tencent cloud VM definition", + "description": "Aws policy ARNs spec", "type": "object", + "required": [ + "policyArns", + "account" + ], "properties": { - "apiVersion": { - "description": "Deprecated. Not used for the resource info.", - "type": "string" - }, - "kind": { - "description": "Deprecated. Cloud type of the machine.", - "type": "string" - }, - "metadata": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", + "account": { + "description": "AWS cloud account which includes access key and secret key in case of 'secret' credentials type. It includes policyARNS, ARN and externalId in case of sts. Partition is a group of AWS Region and Service objects", "type": "object", "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" + "accessKey": { + "description": "AWS account access key", + "type": "string" }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "credentialType": { + "description": "Allowed Values [secret, sts]. STS type will be used for role assumption for sts type, accessKey/secretKey contains the source account, Arn is the target account.", "type": "string", - "format": "date-time" - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { - "type": "string" - } + "default": "secret", + "enum": [ + "secret", + "sts" + ] }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "partition": { + "description": "AWS accounts are scoped to a single partition. Allowed values [aws, aws-us-gov], Default values", "type": "string", - "format": "date-time" - }, - "name": { - "description": "Name of the resource.", - "type": "string" - }, - "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", - "type": "string" - } - } - }, - "spec": { - "description": "Tencent cloud VM definition spec", - "type": "object", - "required": [ - "nics", - "instanceType", - "imageId" - ], - "properties": { - "dnsName": { - "type": "string" - }, - "imageId": { - "type": "string" - }, - "instanceType": { - "type": "string" - }, - "nics": { - "type": "array", - "items": { - "description": "Tencent network interface", - "type": "object", - "properties": { - "index": { - "type": "integer", - "format": "int8" - }, - "privateIPs": { - "type": "array", - "items": { - "type": "string" - } - }, - "publicIp": { - "type": "string" - } - } - } + "default": "aws", + "enum": [ + "aws", + "aws-us-gov" + ] }, - "securityGroups": { + "policyARNs": { + "description": "List of policy ARNs required in case of credentialType sts.", "type": "array", "items": { "type": "string" } }, - "subnetId": { - "type": "string" - }, - "type": { - "type": "string" - }, - "vpcId": { - "type": "string" - }, - "zoneId": { + "secretKey": { + "description": "AWS account secret key", "type": "string" - } - } - }, - "status": { - "description": "cloud machine status", - "type": "object", - "properties": { - "health": { - "description": "Machine health state", - "type": "object", - "properties": { - "conditions": { - "type": "array", - "items": { - "description": "Machine health condition", - "type": "object", - "properties": { - "message": { - "type": "string" - }, - "reason": { - "type": "string" - }, - "status": { - "type": "string" - }, - "type": { - "type": "string" - } - } - } - }, - "lastHeartBeatTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "state": { - "type": "string" - } - } - }, - "instanceState": { - "type": "string", - "enum": [ - "Pending", - "Provisioning", - "Provisioned", - "Running", - "Deleting", - "Deleted", - "Failed", - "Unknown" - ] }, - "maintenanceStatus": { - "description": "Machine maintenance status", + "sts": { + "description": "Aws sts credentials", "type": "object", "properties": { - "action": { - "type": "string" - }, - "message": { + "arn": { + "description": "Arn for the aws sts credentials in cloud account", "type": "string" }, - "state": { + "externalId": { + "description": "ExternalId for the aws sts credentials in cloud account", "type": "string" } } } } + }, + "policyArns": { + "type": "array", + "items": { + "type": "string" + } } } } }, + { + "type": "string", + "description": "Uid for the specific AWS cloud account", + "name": "cloudAccountUid", + "in": "query" + }, { "type": "string", "description": "Scope the request to the specified project uid", @@ -45047,19 +44118,62 @@ } ], "responses": { - "201": { - "description": "Created successfully", + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "type": "string", + "description": "Audit uid for the request" + } + } + } + } + } + }, + "/v1/clouds/aws/properties/validate": { + "post": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Validate AWS properties", + "operationId": "V1AwsPropertiesValidate", + "parameters": [ + { + "description": "Request payload for AWS properties validate spec", + "name": "properties", + "in": "body", + "required": true, "schema": { + "description": "AWS properties validate spec", "type": "object", - "required": [ - "uid" - ], "properties": { - "uid": { + "region": { + "type": "string" + }, + "sshKeyName": { "type": "string" } } - }, + } + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "204": { + "description": "Ok response without content", "headers": { "AuditUid": { "type": "string", @@ -45068,25 +44182,9 @@ } } } - }, - "parameters": [ - { - "type": "string", - "description": "Cluster's cloud config uid", - "name": "configUid", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Machine pool name", - "name": "machinePoolName", - "in": "path", - "required": true - } - ] + } }, - "/v1/cloudconfigs/tke/{configUid}/machinePools/{machinePoolName}/machines/{machineUid}": { + "/v1/clouds/aws/regions": { "get": { "security": [ { @@ -45099,9 +44197,16 @@ "tags": [ "v1" ], - "summary": "Returns the specified Tke machine", - "operationId": "v1CloudConfigsTkePoolMachinesUidGet", + "summary": "Retrieves a list of AWS regions for the specified account", + "operationId": "V1AwsRegions", "parameters": [ + { + "type": "string", + "description": "Uid for the specific AWS cloud account", + "name": "cloudAccountUid", + "in": "query", + "required": true + }, { "type": "string", "description": "Scope the request to the specified project uid", @@ -45111,187 +44216,105 @@ ], "responses": { "200": { - "description": "OK", + "description": "(empty)", "schema": { - "description": "Tencent cloud VM definition", "type": "object", + "required": [ + "regions" + ], "properties": { - "apiVersion": { - "description": "Deprecated. Not used for the resource info.", - "type": "string" - }, - "kind": { - "description": "Deprecated. Cloud type of the machine.", - "type": "string" - }, - "metadata": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", - "type": "object", - "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { + "regions": { + "description": "List of AWS regions", + "type": "array", + "items": { + "description": "AWS region which represents separate geographic area.", + "type": "object", + "properties": { + "endpoint": { + "description": "AWS offer a regional endpoint that can used to make requests", "type": "string" - } - }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { + }, + "name": { + "description": "Name of the AWS region", "type": "string" - } - }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "name": { - "description": "Name of the resource.", - "type": "string" - }, - "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", - "type": "string" - } - } - }, - "spec": { - "description": "Tencent cloud VM definition spec", - "type": "object", - "required": [ - "nics", - "instanceType", - "imageId" - ], - "properties": { - "dnsName": { - "type": "string" - }, - "imageId": { - "type": "string" - }, - "instanceType": { - "type": "string" - }, - "nics": { - "type": "array", - "items": { - "description": "Tencent network interface", - "type": "object", - "properties": { - "index": { - "type": "integer", - "format": "int8" - }, - "privateIPs": { - "type": "array", - "items": { - "type": "string" - } - }, - "publicIp": { - "type": "string" - } - } - } - }, - "securityGroups": { - "type": "array", - "items": { + }, + "optInStatus": { + "description": "Enable your account to operate in the particular regions", "type": "string" } - }, - "subnetId": { - "type": "string" - }, - "type": { - "type": "string" - }, - "vpcId": { - "type": "string" - }, - "zoneId": { - "type": "string" } } - }, - "status": { - "description": "cloud machine status", - "type": "object", - "properties": { - "health": { - "description": "Machine health state", - "type": "object", - "properties": { - "conditions": { - "type": "array", - "items": { - "description": "Machine health condition", - "type": "object", - "properties": { - "message": { - "type": "string" - }, - "reason": { - "type": "string" - }, - "status": { - "type": "string" - }, - "type": { - "type": "string" - } - } - } - }, - "lastHeartBeatTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "state": { - "type": "string" - } - } - }, - "instanceState": { - "type": "string", - "enum": [ - "Pending", - "Provisioning", - "Provisioned", - "Running", - "Deleting", - "Deleted", - "Failed", - "Unknown" - ] - }, - "maintenanceStatus": { - "description": "Machine maintenance status", - "type": "object", - "properties": { - "action": { - "type": "string" - }, - "message": { - "type": "string" - }, - "state": { - "type": "string" - } + } + } + } + } + } + } + }, + "/v1/clouds/aws/regions/{region}/availabilityzones": { + "get": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Retrieves a list of AWS availability zones for the specified region", + "operationId": "V1AwsZones", + "parameters": [ + { + "type": "string", + "description": "Region for which zones are requested", + "name": "region", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "Uid for the specific AWS cloud account", + "name": "cloudAccountUid", + "in": "query", + "required": true + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "type": "object", + "required": [ + "zones" + ], + "properties": { + "zones": { + "description": "List of AWS Zones", + "type": "array", + "items": { + "description": "Distinct locations within an AWS Region that are engineered to be isolated from failures in other Zones", + "type": "object", + "properties": { + "name": { + "description": "AWS availability zone name", + "type": "string" + }, + "state": { + "description": "AWS availability zone state", + "type": "string" + }, + "zoneId": { + "description": "AWS availability zone id", + "type": "string" } } } @@ -45300,8 +44323,10 @@ } } } - }, - "put": { + } + }, + "/v1/clouds/aws/regions/{region}/copydefaultimages": { + "post": { "security": [ { "ApiKey": [] @@ -45313,190 +44338,75 @@ "tags": [ "v1" ], - "summary": "Updates the specified machine to the cloud config's machine pool", - "operationId": "v1CloudConfigsTkePoolMachinesUidUpdate", + "summary": "Copies the specified image from one region to another region", + "operationId": "V1AwsCopyImageFromDefaultRegion", "parameters": [ { - "name": "body", + "type": "string", + "description": "Region to copy AWS image from", + "name": "region", + "in": "path", + "required": true + }, + { + "description": "Request payload to copy the AWS image", + "name": "spectroClusterAwsImageTag", "in": "body", "schema": { - "description": "Tencent cloud VM definition", + "description": "AWS image name and credentials", "type": "object", "properties": { - "apiVersion": { - "description": "Deprecated. Not used for the resource info.", - "type": "string" - }, - "kind": { - "description": "Deprecated. Cloud type of the machine.", + "amiName": { + "description": "AWS image ami name", "type": "string" }, - "metadata": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", + "awsAccount": { + "description": "AWS cloud account which includes access key and secret key in case of 'secret' credentials type. It includes policyARNS, ARN and externalId in case of sts. Partition is a group of AWS Region and Service objects", "type": "object", "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" + "accessKey": { + "description": "AWS account access key", + "type": "string" }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "credentialType": { + "description": "Allowed Values [secret, sts]. STS type will be used for role assumption for sts type, accessKey/secretKey contains the source account, Arn is the target account.", "type": "string", - "format": "date-time" - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { - "type": "string" - } + "default": "secret", + "enum": [ + "secret", + "sts" + ] }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "partition": { + "description": "AWS accounts are scoped to a single partition. Allowed values [aws, aws-us-gov], Default values", "type": "string", - "format": "date-time" - }, - "name": { - "description": "Name of the resource.", - "type": "string" - }, - "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", - "type": "string" - } - } - }, - "spec": { - "description": "Tencent cloud VM definition spec", - "type": "object", - "required": [ - "nics", - "instanceType", - "imageId" - ], - "properties": { - "dnsName": { - "type": "string" - }, - "imageId": { - "type": "string" - }, - "instanceType": { - "type": "string" - }, - "nics": { - "type": "array", - "items": { - "description": "Tencent network interface", - "type": "object", - "properties": { - "index": { - "type": "integer", - "format": "int8" - }, - "privateIPs": { - "type": "array", - "items": { - "type": "string" - } - }, - "publicIp": { - "type": "string" - } - } - } + "default": "aws", + "enum": [ + "aws", + "aws-us-gov" + ] }, - "securityGroups": { + "policyARNs": { + "description": "List of policy ARNs required in case of credentialType sts.", "type": "array", "items": { "type": "string" } }, - "subnetId": { - "type": "string" - }, - "type": { - "type": "string" - }, - "vpcId": { - "type": "string" - }, - "zoneId": { + "secretKey": { + "description": "AWS account secret key", "type": "string" - } - } - }, - "status": { - "description": "cloud machine status", - "type": "object", - "properties": { - "health": { - "description": "Machine health state", - "type": "object", - "properties": { - "conditions": { - "type": "array", - "items": { - "description": "Machine health condition", - "type": "object", - "properties": { - "message": { - "type": "string" - }, - "reason": { - "type": "string" - }, - "status": { - "type": "string" - }, - "type": { - "type": "string" - } - } - } - }, - "lastHeartBeatTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "state": { - "type": "string" - } - } - }, - "instanceState": { - "type": "string", - "enum": [ - "Pending", - "Provisioning", - "Provisioned", - "Running", - "Deleting", - "Deleted", - "Failed", - "Unknown" - ] }, - "maintenanceStatus": { - "description": "Machine maintenance status", + "sts": { + "description": "Aws sts credentials", "type": "object", "properties": { - "action": { - "type": "string" - }, - "message": { + "arn": { + "description": "Arn for the aws sts credentials in cloud account", "type": "string" }, - "state": { + "externalId": { + "description": "ExternalId for the aws sts credentials in cloud account", "type": "string" } } @@ -45514,12 +44424,24 @@ } ], "responses": { - "204": { - "description": "The resource was updated successfully" + "200": { + "description": "(empty)", + "schema": { + "description": "Async operation id", + "type": "object", + "properties": { + "operationId": { + "description": "OperationId for a particular sync operation id", + "type": "string" + } + } + } } } - }, - "delete": { + } + }, + "/v1/clouds/aws/regions/{region}/eksClusters/name/validate": { + "get": { "security": [ { "ApiKey": [] @@ -45528,12 +44450,34 @@ "Authorization": [] } ], + "description": "Returns no contents if aws cluster name is valid else error.", "tags": [ "v1" ], - "summary": "Deletes the specified Tencent machine", - "operationId": "v1CloudConfigsTkePoolMachinesUidDelete", + "summary": "Check if Aws cluster name is valid", + "operationId": "V1AwsClusterNameValidate", "parameters": [ + { + "type": "string", + "description": "Uid for the specific AWS cloud account", + "name": "cloudAccountUid", + "in": "query", + "required": true + }, + { + "type": "string", + "description": "cluster name to be validated", + "name": "name", + "in": "query", + "required": true + }, + { + "type": "string", + "description": "Region for which cluster name is validated", + "name": "region", + "in": "path", + "required": true + }, { "type": "string", "description": "Scope the request to the specified project uid", @@ -45543,36 +44487,19 @@ ], "responses": { "204": { - "description": "The resource was deleted successfully" + "description": "Ok response without content", + "headers": { + "AuditUid": { + "type": "string", + "description": "Audit uid for the request" + } + } } } - }, - "parameters": [ - { - "type": "string", - "description": "Cluster's cloud config uid", - "name": "configUid", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Machine pool name", - "name": "machinePoolName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Machine uid", - "name": "machineUid", - "in": "path", - "required": true - } - ] + } }, - "/v1/cloudconfigs/virtual/{configUid}": { - "get": { + "/v1/clouds/aws/regions/{region}/images": { + "post": { "security": [ { "ApiKey": [] @@ -45584,350 +44511,268 @@ "tags": [ "v1" ], - "summary": "Returns the specified Virtual cloud config", - "operationId": "v1CloudConfigsVirtualGet", + "summary": "Returns AWS image for the specified AMI name", + "operationId": "V1AwsFindImage", "parameters": [ { "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "OK", + "description": "Region to find AWS image", + "name": "region", + "in": "path", + "required": true + }, + { + "description": "Request payload to find the AWS image", + "name": "awsImageRequest", + "in": "body", "schema": { - "description": "VirtualCloudConfig is the Schema for the virtual cloudconfigs API", + "description": "AWS image name and credentials", "type": "object", "properties": { - "apiVersion": { - "description": "Deprecated. Not used for the resource info. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - "type": "string" - }, - "kind": { - "description": "Cloud type of the cloud config", + "amiName": { + "description": "AWS image ami name", "type": "string" }, - "metadata": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", + "awsAccount": { + "description": "AWS cloud account which includes access key and secret key in case of 'secret' credentials type. It includes policyARNS, ARN and externalId in case of sts. Partition is a group of AWS Region and Service objects", "type": "object", "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } + "accessKey": { + "description": "AWS account access key", + "type": "string" }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "credentialType": { + "description": "Allowed Values [secret, sts]. STS type will be used for role assumption for sts type, accessKey/secretKey contains the source account, Arn is the target account.", "type": "string", - "format": "date-time" + "default": "secret", + "enum": [ + "secret", + "sts" + ] }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "partition": { + "description": "AWS accounts are scoped to a single partition. Allowed values [aws, aws-us-gov], Default values", "type": "string", - "format": "date-time" - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { + "default": "aws", + "enum": [ + "aws", + "aws-us-gov" + ] + }, + "policyARNs": { + "description": "List of policy ARNs required in case of credentialType sts.", + "type": "array", + "items": { "type": "string" } }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "name": { - "description": "Name of the resource.", + "secretKey": { + "description": "AWS account secret key", "type": "string" }, - "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", - "type": "string" - } - } - }, - "spec": { - "description": "VirtualCloudConfigSpec defines the cloud configuration input by user This will translate to clusterspec for cluster-api.", - "type": "object", - "required": [ - "clusterConfig", - "hostClusterUid", - "machinePoolConfig" - ], - "properties": { - "clusterConfig": { - "description": "Cluster level configuration for virtual cluster", + "sts": { + "description": "Aws sts credentials", "type": "object", "properties": { - "controlPlaneEndpoint": { - "description": "APIEndpoint represents a reachable Kubernetes API endpoint.", - "type": "object", - "required": [ - "host", - "port" - ], - "properties": { - "host": { - "description": "The hostname on which the API server is serving.", - "type": "string" - }, - "port": { - "description": "The port on which the API server is serving.", - "type": "integer", - "format": "int32" - } - } - }, - "helmRelease": { - "type": "object", - "properties": { - "chart": { - "type": "object", - "properties": { - "name": { - "type": "string", - "default": "" - }, - "repo": { - "type": "string", - "default": "" - }, - "version": { - "type": "string", - "default": "" - } - } - }, - "values": { - "type": "string", - "default": "" - } - } + "arn": { + "description": "Arn for the aws sts credentials in cloud account", + "type": "string" }, - "kubernetesVersion": { - "type": "string", - "default": "" + "externalId": { + "description": "ExternalId for the aws sts credentials in cloud account", + "type": "string" } } - }, - "hostClusterUid": { - "type": "string" - }, - "machinePoolConfig": { - "type": "array", - "items": { + } + } + } + } + } + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "description": "AWS image name and ami", + "type": "object", + "properties": { + "id": { + "description": "AWS image id", + "type": "string" + }, + "name": { + "description": "AWS image name", + "type": "string" + }, + "owner": { + "description": "AWS image owner id", + "type": "string" + } + } + } + } + } + } + }, + "/v1/clouds/aws/regions/{region}/instancetypes": { + "get": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Retrieves a list of AWS instance types", + "operationId": "V1AwsInstanceTypes", + "parameters": [ + { + "type": "string", + "description": "Region for which AWS instances are requested", + "name": "region", + "in": "path", + "required": true + }, + { + "type": "number", + "format": "double", + "description": "Filter for instances having cpu greater than or equal", + "name": "cpuGtEq", + "in": "query" + }, + { + "type": "number", + "format": "double", + "description": "Filter for instances having memory greater than or equal", + "name": "memoryGtEq", + "in": "query" + }, + { + "type": "number", + "format": "double", + "description": "Filter for instances having gpu greater than or equal", + "name": "gpuGtEq", + "in": "query" + }, + { + "type": "string", + "description": "Uid for the specific AWS cloud account", + "name": "cloudAccountUid", + "in": "query" + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "description": "List of AWS instance types", + "type": "object", + "properties": { + "instanceTypes": { + "type": "array", + "items": { + "description": "Cloud Instance type details", + "type": "object", + "properties": { + "category": { + "description": "Category of instance type", + "type": "string", + "x-go-name": "Category" + }, + "cost": { + "description": "Instance cost entity", "type": "object", - "required": [ - "instanceType" - ], "properties": { - "additionalLabels": { - "description": "additionalLabels", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "additionalTags": { - "description": "AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "azs": { - "type": "array", - "items": { - "type": "string" - } - }, - "instanceType": { - "type": "object", - "properties": { - "maxCPU": { - "description": "Maximum CPU cores", - "type": "integer", - "format": "int32" - }, - "maxMemInMiB": { - "description": "Maximum memory in MiB", - "type": "integer", - "format": "int32" - }, - "maxStorageGiB": { - "description": "Maximum storage in GiB", - "type": "integer", - "format": "int32" - }, - "minCPU": { - "description": "Minimum CPU cores", - "type": "integer", - "format": "int32" - }, - "minMemInMiB": { - "description": "Minimum memory in MiB", - "type": "integer", - "format": "int32" - }, - "minStorageGiB": { - "description": "Minimum storage in GiB", - "type": "integer", - "format": "int32" - } - } - }, - "isControlPlane": { - "description": "whether this pool is for control plane", - "type": "boolean" - }, - "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", - "type": "array", - "items": { - "type": "string" - } - }, - "machinePoolProperties": { - "description": "Machine pool specific properties", - "type": "object", - "properties": { - "archType": { - "type": "string", - "default": "amd64", - "enum": [ - "amd64", - "arm64" - ] - } - } - }, - "maxSize": { - "description": "max size of the pool, for scaling", - "type": "integer", - "format": "int32" - }, - "minSize": { - "description": "min size of the pool, for scaling", - "type": "integer", - "format": "int32" - }, - "name": { - "type": "string" - }, - "resourcePool": { - "type": "string" - }, - "size": { - "description": "size of the pool, number of machines", - "type": "integer", - "format": "int32" - }, - "taints": { - "description": "master or worker taints", + "price": { + "description": "Array of cloud instance price", "type": "array", - "uniqueItems": true, "items": { - "description": "Taint", + "description": "Cloud instance price", "type": "object", "properties": { - "effect": { + "onDemand": { + "description": "OnDemand price of instance", + "type": "number", + "format": "double" + }, + "os": { + "description": "Os associated with instance price. Allowed values - [linux, windows]", "type": "string", "enum": [ - "NoSchedule", - "PreferNoSchedule", - "NoExecute" + "linux", + "windows" ] }, - "key": { - "description": "The taint key to be applied to a node", - "type": "string" - }, - "timeAdded": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "value": { - "description": "The taint value corresponding to the taint key.", - "type": "string" + "spot": { + "description": "Spot price of instance", + "type": "number", + "format": "double" } } } - }, - "updateStrategy": { - "description": "UpdatesStrategy will be used to translate to RollingUpdateStrategy of a MachineDeployment We'll start with default values for the translation, can expose more details later Following is details of parameters translated from the type ScaleOut =\u003e maxSurge=1, maxUnavailable=0 ScaleIn =\u003e maxSurge=0, maxUnavailable=1", - "type": "object", - "properties": { - "type": { - "description": "update strategy, either ScaleOut or ScaleIn if empty, will default to RollingUpdateScaleOut", - "type": "string", - "enum": [ - "RollingUpdateScaleOut", - "RollingUpdateScaleIn" - ] - } - } - }, - "useControlPlaneAsWorker": { - "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", - "type": "boolean" } } - } - } - } - }, - "status": { - "description": "Defines the status of virtual cloud config", - "type": "object", - "properties": { - "conditions": { - "type": "array", - "items": { - "type": "object", - "required": [ - "type", - "status" - ], - "properties": { - "lastProbeTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "lastTransitionTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "message": { - "description": "Human-readable message indicating details about last transition.", - "type": "string" - }, - "reason": { - "description": "Unique, one-word, CamelCase reason for the condition's last transition.", - "type": "string" - }, - "status": { - "type": "string" - }, - "type": { - "type": "string" - } + }, + "cpu": { + "description": "Cpu of instance type", + "type": "number", + "format": "double", + "x-go-name": "Cpu" + }, + "gpu": { + "description": "Gpu of instance type", + "type": "number", + "format": "double", + "x-go-name": "Gpu" + }, + "memory": { + "description": "Memory of instance type", + "type": "number", + "format": "double", + "x-go-name": "Memory" + }, + "nonSupportedZones": { + "description": "Non supported zones of the instance in a particular region", + "type": "array", + "items": { + "type": "string" } }, - "x-kubernetes-patch-merge-key": "type", - "x-kubernetes-patch-strategy": "merge" - }, - "isAddonLayer": { - "description": "addon layers present in spc", - "type": "boolean" + "price": { + "description": "Price of instance type", + "type": "number", + "format": "double", + "x-go-name": "Price" + }, + "supportedArchitectures": { + "description": "Supported architecture of the instance", + "type": "array", + "items": { + "type": "string" + } + }, + "type": { + "description": "Type of instance type", + "type": "string", + "x-go-name": "Type" + } } } } @@ -45935,19 +44780,10 @@ } } } - }, - "parameters": [ - { - "type": "string", - "description": "Cluster's cloud config uid", - "name": "configUid", - "in": "path", - "required": true - } - ] + } }, - "/v1/cloudconfigs/virtual/{configUid}/clusterConfig": { - "put": { + "/v1/clouds/aws/regions/{region}/keypairs": { + "get": { "security": [ { "ApiKey": [] @@ -45959,73 +44795,22 @@ "tags": [ "v1" ], - "summary": "Updates the cluster configuration information", - "operationId": "v1CloudConfigsVirtualUidClusterConfig", + "summary": "Retrieves a list of AWS keypairs", + "operationId": "V1AwsKeyPairs", "parameters": [ { - "name": "body", - "in": "body", - "schema": { - "description": "Virtual cloud cluster config entity", - "type": "object", - "properties": { - "clusterConfig": { - "description": "Cluster level configuration for virtual cluster", - "type": "object", - "properties": { - "controlPlaneEndpoint": { - "description": "APIEndpoint represents a reachable Kubernetes API endpoint.", - "type": "object", - "required": [ - "host", - "port" - ], - "properties": { - "host": { - "description": "The hostname on which the API server is serving.", - "type": "string" - }, - "port": { - "description": "The port on which the API server is serving.", - "type": "integer", - "format": "int32" - } - } - }, - "helmRelease": { - "type": "object", - "properties": { - "chart": { - "type": "object", - "properties": { - "name": { - "type": "string", - "default": "" - }, - "repo": { - "type": "string", - "default": "" - }, - "version": { - "type": "string", - "default": "" - } - } - }, - "values": { - "type": "string", - "default": "" - } - } - }, - "kubernetesVersion": { - "type": "string", - "default": "" - } - } - } - } - } + "type": "string", + "description": "Region for which AWS key pairs are requested", + "name": "region", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "Uid for the specific AWS cloud account", + "name": "cloudAccountUid", + "in": "query", + "required": true }, { "type": "string", @@ -46035,22 +44820,26 @@ } ], "responses": { - "204": { - "description": "The resource was updated successfully" + "200": { + "description": "(empty)", + "schema": { + "description": "List of AWS keypairs", + "type": "object", + "properties": { + "keyNames": { + "description": "Array of Aws Keypair names", + "type": "array", + "items": { + "type": "string" + } + } + } + } } } - }, - "parameters": [ - { - "type": "string", - "description": "Cluster's cloud config uid", - "name": "configUid", - "in": "path", - "required": true - } - ] + } }, - "/v1/cloudconfigs/virtual/{configUid}/machinePools": { + "/v1/clouds/aws/regions/{region}/keypairs/{keypair}/validate": { "post": { "security": [ { @@ -46063,63 +44852,29 @@ "tags": [ "v1" ], - "summary": "Creates a virtual cloud config's machine pool", - "operationId": "v1CloudConfigsVirtualMachinePoolCreate", + "summary": "Validate the specified AWS keypair", + "operationId": "V1AwsKeyPairValidate", "parameters": [ { - "name": "body", - "in": "body", - "schema": { - "type": "object", - "required": [ - "cloudConfig" - ], - "properties": { - "cloudConfig": { - "type": "object", - "required": [ - "instanceType" - ], - "properties": { - "instanceType": { - "type": "object", - "properties": { - "maxCPU": { - "description": "Maximum CPU cores", - "type": "integer", - "format": "int32" - }, - "maxMemInMiB": { - "description": "Maximum memory in MiB", - "type": "integer", - "format": "int32" - }, - "maxStorageGiB": { - "description": "Maximum storage in GiB", - "type": "integer", - "format": "int32" - }, - "minCPU": { - "description": "Minimum CPU cores", - "type": "integer", - "format": "int32" - }, - "minMemInMiB": { - "description": "Minimum memory in MiB", - "type": "integer", - "format": "int32" - }, - "minStorageGiB": { - "description": "Minimum storage in GiB", - "type": "integer", - "format": "int32" - } - } - } - } - } - } - } + "type": "string", + "description": "Region for which AWS key pairs is validated", + "name": "region", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "Uid for the specific AWS cloud account", + "name": "cloudAccountUid", + "in": "query", + "required": true + }, + { + "type": "string", + "description": "AWS Key pair which is to be validated", + "name": "keypair", + "in": "path", + "required": true }, { "type": "string", @@ -46129,19 +44884,8 @@ } ], "responses": { - "201": { - "description": "Created successfully", - "schema": { - "type": "object", - "required": [ - "uid" - ], - "properties": { - "uid": { - "type": "string" - } - } - }, + "204": { + "description": "Ok response without content", "headers": { "AuditUid": { "type": "string", @@ -46150,19 +44894,10 @@ } } } - }, - "parameters": [ - { - "type": "string", - "description": "Cluster's cloud config uid", - "name": "configUid", - "in": "path", - "required": true - } - ] + } }, - "/v1/cloudconfigs/virtual/{configUid}/machinePools/{machinePoolName}": { - "put": { + "/v1/clouds/aws/regions/{region}/kms/{keyId}": { + "get": { "security": [ { "ApiKey": [] @@ -46174,63 +44909,29 @@ "tags": [ "v1" ], - "summary": "Updates the specified virtual cloud config's machine pool", - "operationId": "v1CloudConfigsVirtualMachinePoolUpdate", + "summary": "Get AWS KMS key by Id", + "operationId": "V1AwsKmsKeyGet", "parameters": [ { - "name": "body", - "in": "body", - "schema": { - "type": "object", - "required": [ - "cloudConfig" - ], - "properties": { - "cloudConfig": { - "type": "object", - "required": [ - "instanceType" - ], - "properties": { - "instanceType": { - "type": "object", - "properties": { - "maxCPU": { - "description": "Maximum CPU cores", - "type": "integer", - "format": "int32" - }, - "maxMemInMiB": { - "description": "Maximum memory in MiB", - "type": "integer", - "format": "int32" - }, - "maxStorageGiB": { - "description": "Maximum storage in GiB", - "type": "integer", - "format": "int32" - }, - "minCPU": { - "description": "Minimum CPU cores", - "type": "integer", - "format": "int32" - }, - "minMemInMiB": { - "description": "Minimum memory in MiB", - "type": "integer", - "format": "int32" - }, - "minStorageGiB": { - "description": "Minimum storage in GiB", - "type": "integer", - "format": "int32" - } - } - } - } - } - } - } + "type": "string", + "description": "Region for which AWS KMS key belongs", + "name": "region", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "The globally unique identifier for the KMS key", + "name": "keyId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "Uid for the specific AWS cloud account", + "name": "cloudAccountUid", + "in": "query", + "required": true }, { "type": "string", @@ -46240,12 +44941,32 @@ } ], "responses": { - "204": { - "description": "The resource was updated successfully" + "200": { + "description": "(empty)", + "schema": { + "description": "List of AWS Keys", + "type": "object", + "properties": { + "awsAccountId": { + "description": "The twelve-digit account ID of the Amazon Web Services account that owns the KMS key", + "type": "string" + }, + "enabled": { + "description": "Specifies whether the KMS key is enabled.", + "type": "boolean" + }, + "keyId": { + "description": "The globally unique identifier for the KMS key", + "type": "string" + } + } + } } } - }, - "delete": { + } + }, + "/v1/clouds/aws/regions/{region}/kmskeys": { + "get": { "security": [ { "ApiKey": [] @@ -46257,9 +44978,23 @@ "tags": [ "v1" ], - "summary": "Deletes the specified machine pool", - "operationId": "v1CloudConfigsVirtualMachinePoolDelete", + "summary": "Retrieves a list of AWS KMS keys for the specified account", + "operationId": "V1AwsKmsKeys", "parameters": [ + { + "type": "string", + "description": "Region for which AWS KMS key are requested", + "name": "region", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "Uid for the specific AWS cloud account", + "name": "cloudAccountUid", + "in": "query", + "required": true + }, { "type": "string", "description": "Scope the request to the specified project uid", @@ -46268,29 +45003,47 @@ } ], "responses": { - "204": { - "description": "The resource was deleted successfully" + "200": { + "description": "(empty)", + "schema": { + "description": "List of AWS Keys", + "type": "object", + "required": [ + "kmsKeys" + ], + "properties": { + "kmsKeys": { + "type": "array", + "items": { + "description": "AWS KMS Key - gives you centralized control over the cryptographic keys used to protect your data.", + "type": "object", + "required": [ + "keyId", + "keyArn" + ], + "properties": { + "keyAlias": { + "description": "AWS KMS alias", + "type": "string" + }, + "keyArn": { + "description": "AWS KMS arn", + "type": "string" + }, + "keyId": { + "description": "AWS KMS keyid", + "type": "string" + } + } + } + } + } + } } } - }, - "parameters": [ - { - "type": "string", - "description": "Cluster's cloud config uid", - "name": "configUid", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Machine pool name", - "name": "machinePoolName", - "in": "path", - "required": true - } - ] + } }, - "/v1/cloudconfigs/virtual/{configUid}/machinePools/{machinePoolName}/machines": { + "/v1/clouds/aws/regions/{region}/kmskeys/validate": { "get": { "security": [ { @@ -46303,47 +45056,72 @@ "tags": [ "v1" ], - "summary": "Retrieves a list of virtual machines", - "operationId": "v1CloudConfigsVirtualPoolMachinesList", + "summary": "Validate an Aws KMS key for the specified account", + "operationId": "V1AwsKmsKeyValidate", "parameters": [ { "type": "string", - "description": "Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name", - "name": "fields", - "in": "query" + "description": "Region for which AWS KMS key is validated", + "name": "region", + "in": "path", + "required": true }, { "type": "string", - "description": "Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.", - "name": "filters", - "in": "query" + "description": "Uid for the specific AWS cloud account", + "name": "cloudAccountUid", + "in": "query", + "required": true }, { "type": "string", - "description": "Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1", - "name": "orderBy", - "in": "query" + "description": "AWS KEY ARN for validation", + "name": "keyArn", + "in": "query", + "required": true }, { - "type": "integer", - "format": "int64", - "default": 50, - "description": "limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", - "name": "limit", - "in": "query" - }, + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "type": "string", + "description": "Audit uid for the request" + } + } + } + } + } + }, + "/v1/clouds/aws/regions/{region}/storagetypes": { + "get": { + "security": [ { - "type": "integer", - "format": "int64", - "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", - "name": "offset", - "in": "query" + "ApiKey": [] }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Retrieves a list of AWS storage types", + "operationId": "V1AwsStorageTypes", + "parameters": [ { "type": "string", - "description": "continue token to paginate the subsequent data items", - "name": "continue", - "in": "query" + "description": "Region for which AWS storage types are requested", + "name": "region", + "in": "path", + "required": true }, { "type": "string", @@ -46354,140 +45132,104 @@ ], "responses": { "200": { - "description": "An array of virtual machine items", + "description": "(empty)", "schema": { - "description": "List of virtual machines", "type": "object", - "required": [ - "items" - ], "properties": { - "items": { + "storageTypes": { + "description": "List of AWS storage types", "type": "array", - "uniqueItems": true, "items": { - "description": "Virtual cloud machine definition", + "description": "Cloud cloud Storage type details", "type": "object", "properties": { - "kind": { - "type": "string" - }, - "metadata": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", + "cost": { + "description": "Cloud storage cost", "type": "object", "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "name": { - "description": "Name of the resource.", + "discountedUsage": { + "description": "Cloud storage upper limit which is free.", "type": "string" }, - "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", - "type": "string" + "price": { + "description": "Array of cloud storage range prices", + "type": "array", + "items": { + "description": "Cloud storage price within an upper limit.", + "type": "object", + "properties": { + "limit": { + "description": "Upper limit of cloud storage usage", + "type": "string" + }, + "price": { + "description": "Price of cloud storage type", + "type": "string" + } + } + } } } }, - "spec": { - "description": "Virtual cloud machine definition spec", + "iopsCost": { + "description": "Cloud storage cost", "type": "object", "properties": { - "hostname": { + "discountedUsage": { + "description": "Cloud storage upper limit which is free.", "type": "string" - } - } - }, - "status": { - "description": "cloud machine status", - "type": "object", - "properties": { - "health": { - "description": "Machine health state", - "type": "object", - "properties": { - "conditions": { - "type": "array", - "items": { - "description": "Machine health condition", - "type": "object", - "properties": { - "message": { - "type": "string" - }, - "reason": { - "type": "string" - }, - "status": { - "type": "string" - }, - "type": { - "type": "string" - } - } + }, + "price": { + "description": "Array of cloud storage range prices", + "type": "array", + "items": { + "description": "Cloud storage price within an upper limit.", + "type": "object", + "properties": { + "limit": { + "description": "Upper limit of cloud storage usage", + "type": "string" + }, + "price": { + "description": "Price of cloud storage type", + "type": "string" } - }, - "lastHeartBeatTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "state": { - "type": "string" } } + } + } + }, + "kind": { + "description": "kind of storage type", + "type": "string" + }, + "name": { + "description": "Name of the storage type", + "type": "string" + }, + "throughputCost": { + "description": "Cloud storage cost", + "type": "object", + "properties": { + "discountedUsage": { + "description": "Cloud storage upper limit which is free.", + "type": "string" }, - "instanceState": { - "type": "string", - "enum": [ - "Pending", - "Provisioning", - "Provisioned", - "Running", - "Deleting", - "Deleted", - "Failed", - "Unknown" - ] - }, - "maintenanceStatus": { - "description": "Machine maintenance status", - "type": "object", - "properties": { - "action": { - "type": "string" - }, - "message": { - "type": "string" - }, - "state": { - "type": "string" + "price": { + "description": "Array of cloud storage range prices", + "type": "array", + "items": { + "description": "Cloud storage price within an upper limit.", + "type": "object", + "properties": { + "limit": { + "description": "Upper limit of cloud storage usage", + "type": "string" + }, + "price": { + "description": "Price of cloud storage type", + "type": "string" + } } } } @@ -46495,30 +45237,110 @@ } } } - }, - "listmeta": { - "description": "ListMeta describes metadata for the resource listing", - "type": "object", - "properties": { - "continue": { - "description": "Next token for the pagination. Next token is equal to empty string indicates end of result set.", - "type": "string", - "x-omitempty": false - }, - "count": { - "description": "Total count of the resources which might change during pagination based on the resources addition or deletion", - "type": "integer", - "x-omitempty": false - }, - "limit": { - "description": "Number of records feteched", - "type": "integer", - "x-omitempty": false - }, - "offset": { - "description": "The next offset for the pagination. Starting index for which next request will be placed.", - "type": "integer", - "x-omitempty": false + } + } + } + } + } + } + }, + "/v1/clouds/aws/regions/{region}/vpcs": { + "get": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Retrieves a list of VPCs for the specified account", + "operationId": "V1AwsVpcs", + "parameters": [ + { + "type": "string", + "description": "Region for which VPCs are requested", + "name": "region", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "Uid for the specific AWS cloud account", + "name": "cloudAccountUid", + "in": "query", + "required": true + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "description": "List of AWS VPCs", + "type": "object", + "required": [ + "vpcs" + ], + "properties": { + "vpcs": { + "type": "array", + "items": { + "description": "A virtual network dedicated to a AWS account", + "type": "object", + "required": [ + "vpcId" + ], + "properties": { + "cidrBlock": { + "type": "string" + }, + "name": { + "description": "Name of the virtual network", + "type": "string" + }, + "subnets": { + "description": "List of subnets associated to a AWS VPC", + "type": "array", + "items": { + "description": "A subnet is a range of IP addresses in a AWS VPC", + "properties": { + "az": { + "description": "Every subnet can only be associated with only one Availability Zone", + "type": "string" + }, + "isPrivate": { + "description": "Is this subnet private", + "type": "boolean" + }, + "mapPublicIpOnLaunch": { + "description": "Indicates whether instances launched in this subnet receive a public IPv4 address.", + "type": "boolean", + "x-omitempty": false + }, + "name": { + "description": "Name of the subnet", + "type": "string" + }, + "subnetId": { + "description": "Id of the subnet", + "type": "string" + } + } + } + }, + "vpcId": { + "description": "Id of the virtual network", + "type": "string" + } } } } @@ -46526,7 +45348,9 @@ } } } - }, + } + }, + "/v1/clouds/aws/s3/validate": { "post": { "security": [ { @@ -46539,139 +45363,87 @@ "tags": [ "v1" ], - "summary": "Adds the machine to cloud config's machine pool", - "operationId": "v1CloudConfigsVirtualPoolMachinesAdd", + "summary": "Validate the AWS S3 bucket", + "operationId": "V1AwsS3Validate", "parameters": [ { - "name": "body", + "description": "AWS S3 bucket credentials", + "name": "awsS3Credential", "in": "body", + "required": true, "schema": { - "description": "Virtual cloud machine definition", + "description": "AWS S3 Bucket credentials", "type": "object", + "required": [ + "credentials", + "bucket", + "region" + ], "properties": { - "kind": { + "bucket": { + "description": "Name of AWS S3 bucket", "type": "string" }, - "metadata": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", + "credentials": { + "description": "AWS cloud account which includes access key and secret key in case of 'secret' credentials type. It includes policyARNS, ARN and externalId in case of sts. Partition is a group of AWS Region and Service objects", "type": "object", "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } + "accessKey": { + "description": "AWS account access key", + "type": "string" }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "credentialType": { + "description": "Allowed Values [secret, sts]. STS type will be used for role assumption for sts type, accessKey/secretKey contains the source account, Arn is the target account.", "type": "string", - "format": "date-time" + "default": "secret", + "enum": [ + "secret", + "sts" + ] }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "partition": { + "description": "AWS accounts are scoped to a single partition. Allowed values [aws, aws-us-gov], Default values", "type": "string", - "format": "date-time" + "default": "aws", + "enum": [ + "aws", + "aws-us-gov" + ] }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { + "policyARNs": { + "description": "List of policy ARNs required in case of credentialType sts.", + "type": "array", + "items": { "type": "string" } }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "name": { - "description": "Name of the resource.", - "type": "string" - }, - "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", - "type": "string" - } - } - }, - "spec": { - "description": "Virtual cloud machine definition spec", - "type": "object", - "properties": { - "hostname": { + "secretKey": { + "description": "AWS account secret key", "type": "string" - } - } - }, - "status": { - "description": "cloud machine status", - "type": "object", - "properties": { - "health": { - "description": "Machine health state", - "type": "object", - "properties": { - "conditions": { - "type": "array", - "items": { - "description": "Machine health condition", - "type": "object", - "properties": { - "message": { - "type": "string" - }, - "reason": { - "type": "string" - }, - "status": { - "type": "string" - }, - "type": { - "type": "string" - } - } - } - }, - "lastHeartBeatTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "state": { - "type": "string" - } - } - }, - "instanceState": { - "type": "string", - "enum": [ - "Pending", - "Provisioning", - "Provisioned", - "Running", - "Deleting", - "Deleted", - "Failed", - "Unknown" - ] }, - "maintenanceStatus": { - "description": "Machine maintenance status", + "sts": { + "description": "Aws sts credentials", "type": "object", "properties": { - "action": { - "type": "string" - }, - "message": { + "arn": { + "description": "Arn for the aws sts credentials in cloud account", "type": "string" }, - "state": { + "externalId": { + "description": "ExternalId for the aws sts credentials in cloud account", "type": "string" } } } } + }, + "folder": { + "description": "Name of the folder in the specified AWS S3 bucket.", + "type": "string" + }, + "region": { + "description": "Name of the available AWS region.", + "type": "string" } } } @@ -46684,19 +45456,8 @@ } ], "responses": { - "201": { - "description": "Created successfully", - "schema": { - "type": "object", - "required": [ - "uid" - ], - "properties": { - "uid": { - "type": "string" - } - } - }, + "204": { + "description": "Ok response without content", "headers": { "AuditUid": { "type": "string", @@ -46705,25 +45466,9 @@ } } } - }, - "parameters": [ - { - "type": "string", - "description": "Cluster's cloud config uid", - "name": "configUid", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Machine pool name", - "name": "machinePoolName", - "in": "path", - "required": true - } - ] + } }, - "/v1/cloudconfigs/virtual/{configUid}/machinePools/{machinePoolName}/machines/{machineUid}": { + "/v1/clouds/aws/securitygroups": { "get": { "security": [ { @@ -46736,9 +45481,29 @@ "tags": [ "v1" ], - "summary": "Returns the specified virtual machine", - "operationId": "v1CloudConfigsVirtualPoolMachinesUidGet", + "summary": "Retrieves a list of AWS security groups for the specified account", + "operationId": "V1AwsSecurityGroups", "parameters": [ + { + "type": "string", + "description": "Uid for the specific AWS cloud account", + "name": "cloudAccountUid", + "in": "query" + }, + { + "type": "string", + "description": "Region for which security groups are requested", + "name": "region", + "in": "query", + "required": true + }, + { + "type": "string", + "description": "Vpc Id for which security groups are requested", + "name": "vpcId", + "in": "query", + "required": true + }, { "type": "string", "description": "Scope the request to the specified project uid", @@ -46748,131 +45513,96 @@ ], "responses": { "200": { - "description": "OK", + "description": "(empty)", "schema": { - "description": "Virtual cloud machine definition", "type": "object", + "required": [ + "groups" + ], "properties": { - "kind": { - "type": "string" - }, - "metadata": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", - "type": "object", - "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { + "groups": { + "type": "array", + "items": { + "description": "Aws security group", + "type": "object", + "properties": { + "groupId": { "type": "string" - } - }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { + }, + "groupName": { + "type": "string" + }, + "ownerId": { "type": "string" } - }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "name": { - "description": "Name of the resource.", - "type": "string" - }, - "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", - "type": "string" - } - } - }, - "spec": { - "description": "Virtual cloud machine definition spec", - "type": "object", - "properties": { - "hostname": { - "type": "string" } } - }, - "status": { - "description": "cloud machine status", - "type": "object", - "properties": { - "health": { - "description": "Machine health state", - "type": "object", - "properties": { - "conditions": { - "type": "array", - "items": { - "description": "Machine health condition", - "type": "object", - "properties": { - "message": { - "type": "string" - }, - "reason": { - "type": "string" - }, - "status": { - "type": "string" - }, - "type": { - "type": "string" - } - } - } - }, - "lastHeartBeatTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "state": { - "type": "string" - } - } - }, - "instanceState": { - "type": "string", - "enum": [ - "Pending", - "Provisioning", - "Provisioned", - "Running", - "Deleting", - "Deleted", - "Failed", - "Unknown" - ] - }, - "maintenanceStatus": { - "description": "Machine maintenance status", - "type": "object", - "properties": { - "action": { - "type": "string" - }, - "message": { - "type": "string" - }, - "state": { - "type": "string" - } + } + } + } + } + } + } + }, + "/v1/clouds/aws/volumeTypes": { + "get": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "description": "List all AWS Volume Types", + "tags": [ + "v1" + ], + "summary": "Get all AWS Volume Types", + "operationId": "V1AwsVolumeTypesGet", + "parameters": [ + { + "type": "string", + "description": "Specific AWS Region", + "name": "region", + "in": "query", + "required": true + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "description": "AWS Volume Types", + "type": "object", + "properties": { + "volumeTypes": { + "type": "array", + "items": { + "description": "AWS Volume Type entity", + "type": "object", + "properties": { + "id": { + "description": "AWS volume type id", + "type": "string" + }, + "maxIops": { + "description": "Iops through put of volume type", + "type": "string" + }, + "maxThroughPut": { + "description": "Max through put of volume type", + "type": "string" + }, + "name": { + "description": "AWS Volume Type Name", + "type": "string" } } } @@ -46881,8 +45611,10 @@ } } } - }, - "put": { + } + }, + "/v1/clouds/azure/account/validate": { + "post": { "security": [ { "ApiKey": [] @@ -46891,142 +45623,63 @@ "Authorization": [] } ], + "description": "Returns no contents if account is valid else error.", "tags": [ "v1" ], - "summary": "Updates the specified machine to the cloud config's machine pool", - "operationId": "v1CloudConfigsVirtualPoolMachinesUidUpdate", + "summary": "Check if Azure account is valid", + "operationId": "V1AzureAccountValidate", "parameters": [ { - "name": "body", + "description": "Request payload for Azure cloud account", + "name": "azureCloudAccount", "in": "body", + "required": true, "schema": { - "description": "Virtual cloud machine definition", "type": "object", + "required": [ + "tenantId", + "clientId", + "clientSecret" + ], "properties": { - "kind": { + "azureEnvironment": { + "description": "Contains configuration for Azure cloud", + "type": "string", + "default": "AzurePublicCloud", + "enum": [ + "AzureChinaCloud", + "AzurePublicCloud", + "AzureUSGovernment", + "AzureUSGovernmentCloud" + ] + }, + "clientId": { + "description": "Client ID(Directory ID) is a unique identifier generated by Azure AD that is tied to an application", "type": "string" }, - "metadata": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", - "type": "object", - "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "name": { - "description": "Name of the resource.", - "type": "string" - }, - "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", - "type": "string" - } - } + "clientSecret": { + "description": "ClientSecret is the secret associated with Client", + "type": "string" }, - "spec": { - "description": "Virtual cloud machine definition spec", + "settings": { + "description": "Cloud account settings", "type": "object", "properties": { - "hostname": { - "type": "string" + "disablePropertiesRequest": { + "description": "Will disable certain properties request to cloud and the input is collected directly from the user", + "type": "boolean", + "x-omitempty": false } } }, - "status": { - "description": "cloud machine status", - "type": "object", - "properties": { - "health": { - "description": "Machine health state", - "type": "object", - "properties": { - "conditions": { - "type": "array", - "items": { - "description": "Machine health condition", - "type": "object", - "properties": { - "message": { - "type": "string" - }, - "reason": { - "type": "string" - }, - "status": { - "type": "string" - }, - "type": { - "type": "string" - } - } - } - }, - "lastHeartBeatTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "state": { - "type": "string" - } - } - }, - "instanceState": { - "type": "string", - "enum": [ - "Pending", - "Provisioning", - "Provisioned", - "Running", - "Deleting", - "Deleted", - "Failed", - "Unknown" - ] - }, - "maintenanceStatus": { - "description": "Machine maintenance status", - "type": "object", - "properties": { - "action": { - "type": "string" - }, - "message": { - "type": "string" - }, - "state": { - "type": "string" - } - } - } - } + "tenantId": { + "description": "Tenant ID is the ID for the Azure AD tenant that the user belongs to.", + "type": "string" + }, + "tenantName": { + "description": "Tenant ID is the ID for the Azure AD tenant that the user belongs to.", + "type": "string" } } } @@ -47040,11 +45693,19 @@ ], "responses": { "204": { - "description": "The resource was updated successfully" + "description": "Ok response without content", + "headers": { + "AuditUid": { + "type": "string", + "description": "Audit uid for the request" + } + } } } - }, - "delete": { + } + }, + "/v1/clouds/azure/groups": { + "get": { "security": [ { "ApiKey": [] @@ -47056,9 +45717,15 @@ "tags": [ "v1" ], - "summary": "Deletes the specified virtual machine", - "operationId": "v1CloudConfigsVirtualPoolMachinesUidDelete", + "summary": "Retrieves a list of Azure groups", + "operationId": "V1AzureGroups", "parameters": [ + { + "type": "string", + "description": "Uid for the specific Azure cloud account", + "name": "cloudAccountUid", + "in": "query" + }, { "type": "string", "description": "Scope the request to the specified project uid", @@ -47067,37 +45734,40 @@ } ], "responses": { - "204": { - "description": "The resource was deleted successfully" + "200": { + "description": "(empty)", + "schema": { + "description": "List of Azure groups", + "type": "object", + "required": [ + "groups" + ], + "properties": { + "groups": { + "type": "array", + "items": { + "description": "Azure group entity", + "type": "object", + "properties": { + "id": { + "description": "Azure group id", + "type": "string" + }, + "name": { + "description": "Azure group name", + "type": "string" + } + } + } + } + } + } } } - }, - "parameters": [ - { - "type": "string", - "description": "Cluster's cloud config uid", - "name": "configUid", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Machine pool name", - "name": "machinePoolName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Machine uid", - "name": "machineUid", - "in": "path", - "required": true - } - ] + } }, - "/v1/cloudconfigs/virtual/{configUid}/resize": { - "put": { + "/v1/clouds/azure/regions": { + "get": { "security": [ { "ApiKey": [] @@ -47109,80 +45779,76 @@ "tags": [ "v1" ], - "summary": "Updates and resizes the virtual cluster", - "operationId": "v1CloudConfigsVirtualUidUpdate", + "summary": "Retrieves a list of Azure regions", + "operationId": "V1AzureRegions", "parameters": [ { - "name": "body", - "in": "body", + "type": "string", + "description": "Uid for the specific Azure cloud account", + "name": "cloudAccountUid", + "in": "query" + }, + { + "type": "string", + "description": "SubscriptionId for which resources is requested", + "name": "subscriptionId", + "in": "query" + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "200": { + "description": "(empty)", "schema": { + "description": "List of Azure regions", "type": "object", "required": [ - "instanceType" + "regions" ], "properties": { - "instanceType": { - "type": "object", - "properties": { - "maxCPU": { - "description": "Maximum CPU cores", - "type": "integer", - "format": "int32" - }, - "maxMemInMiB": { - "description": "Maximum memory in MiB", - "type": "integer", - "format": "int32" - }, - "maxStorageGiB": { - "description": "Maximum storage in GiB", - "type": "integer", - "format": "int32" - }, - "minCPU": { - "description": "Minimum CPU cores", - "type": "integer", - "format": "int32" - }, - "minMemInMiB": { - "description": "Minimum memory in MiB", - "type": "integer", - "format": "int32" - }, - "minStorageGiB": { - "description": "Minimum storage in GiB", - "type": "integer", - "format": "int32" + "regions": { + "type": "array", + "items": { + "description": "Azure region entity", + "type": "object", + "properties": { + "displayName": { + "description": "Azure region displayname", + "type": "string" + }, + "name": { + "description": "Azure region name", + "type": "string" + }, + "zones": { + "description": "List of zones associated to a particular Azure region", + "type": "array", + "items": { + "description": "Azure availability zone", + "type": "object", + "properties": { + "name": { + "description": "Azure availability zone name", + "type": "string" + } + } + } + } } } } } } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "204": { - "description": "The resource was updated successfully" } } - }, - "parameters": [ - { - "type": "string", - "description": "Specify virtual cloud config uid", - "name": "configUid", - "in": "path", - "required": true - } - ] + } }, - "/v1/cloudconfigs/vsphere/{configUid}": { + "/v1/clouds/azure/regions/{region}/instancetypes": { "get": { "security": [ { @@ -47195,723 +45861,283 @@ "tags": [ "v1" ], - "summary": "Returns the specified vSphere cloud config", - "operationId": "v1CloudConfigsVsphereGet", + "summary": "Retrieves a list of Azure instance types", + "operationId": "V1AzureInstanceTypes", "parameters": [ { "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "description": "VsphereCloudConfig is the Schema for the vspherecloudconfigs API", - "type": "object", - "properties": { - "apiVersion": { - "description": "Deprecated. Not used for the resource info. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - "type": "string" - }, - "kind": { - "description": "Cloud type of the cloud config", - "type": "string" - }, - "metadata": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", - "type": "object", - "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "name": { - "description": "Name of the resource.", - "type": "string" - }, - "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", - "type": "string" - } - } - }, - "spec": { - "description": "VsphereCloudConfigSpec defines the desired state of VsphereCloudConfig", - "type": "object", - "required": [ - "clusterConfig", - "machinePoolConfig" - ], - "properties": { - "cloudAccountRef": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", - "type": "string" - } - } - }, - "clusterConfig": { - "type": "object", - "required": [ - "placement" - ], - "properties": { - "controlPlaneEndpoint": { - "type": "object", - "properties": { - "ddnsSearchDomain": { - "description": "DDNSSearchDomain is the search domain used for resolving IP addresses when the EndpointType is DDNS. This search domain is appended to the generated Hostname to obtain the complete DNS name for the endpoint. If Host is already a DDNS FQDN, DDNSSearchDomain is not required", - "type": "string" - }, - "host": { - "description": "IP or FQDN(External/DDNS)", - "type": "string" - }, - "type": { - "description": "VIP or External", - "type": "string", - "enum": [ - "VIP", - "External", - "DDNS" - ] - } - } - }, - "ntpServers": { - "description": "NTPServers is a list of NTP servers to use instead of the machine image's default NTP server list.", - "type": "array", - "items": { - "type": "string" - } - }, - "placement": { - "description": "Both ClusterConfig and MachinePoolConfig will have PlacementConfig MachinePoolconfig.Placements will overwrite values defined in ClusterConfig Currently the convention is: Datacenter / Folder / ImageTemplateFolder / Network should be defined at ClusterConfig Cluster / ResourcePool / Datastore / Network is defined at MachinePool ClusterConfig Network should only indicate use DHCP or not MachinePool Network should contain the actual network and IPPool", - "type": "object", - "properties": { - "cluster": { - "description": "Cluster is the computecluster in vsphere", - "type": "string" - }, - "datacenter": { - "description": "Datacenter is the name or inventory path of the datacenter where this machine's VM is created/located.", - "type": "string" - }, - "datastore": { - "description": "Datastore is the datastore in which VMs are created/located.", - "type": "string" - }, - "folder": { - "description": "Folder is the folder in which VMs are created/located.", - "type": "string" - }, - "imageTemplateFolder": { - "description": "ImageTemplateFolder is the folder in which VMs templates are created/located. if empty will use default value spectro-templates", - "type": "string" - }, - "network": { + "description": "Region for which Azure instance types are requested", + "name": "region", + "in": "path", + "required": true + }, + { + "type": "number", + "format": "double", + "description": "Filter for instances having cpu greater than or equal", + "name": "cpuGtEq", + "in": "query" + }, + { + "type": "number", + "format": "double", + "description": "Filter for instances having memory greater than or equal", + "name": "memoryGtEq", + "in": "query" + }, + { + "type": "number", + "format": "double", + "description": "Filter for instances having gpu greater than or equal", + "name": "gpuGtEq", + "in": "query" + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "description": "List of Azure instance types", + "type": "object", + "properties": { + "instanceTypes": { + "type": "array", + "items": { + "description": "Cloud Instance type details", + "type": "object", + "properties": { + "category": { + "description": "Category of instance type", + "type": "string", + "x-go-name": "Category" + }, + "cost": { + "description": "Instance cost entity", + "type": "object", + "properties": { + "price": { + "description": "Array of cloud instance price", + "type": "array", + "items": { + "description": "Cloud instance price", "type": "object", - "required": [ - "networkName" - ], "properties": { - "ipPool": { - "description": "IPPool defines static IPs available. Gateway, Prefix, Nameserver, if defined, will be default values for all Pools", - "type": "object", - "properties": { - "gateway": { - "description": "Gateway is the gateway ip address", - "type": "string" - }, - "nameserver": { - "description": "Nameserver define search domains and nameserver addresses", - "type": "object", - "properties": { - "addresses": { - "type": "array", - "items": { - "type": "string" - } - }, - "search": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "pools": { - "description": "Pools contains the list of IP addresses pools", - "type": "array", - "items": { - "description": "Pool defines IP ranges or with CIDR for available IPs Gateway, Prefix and Nameserver if provided, will overwrite values in IPPool", - "type": "object", - "properties": { - "end": { - "description": "End is the last IP address that can be rendered. It is used as a validation that the rendered IP is in bound.", - "type": "string" - }, - "gateway": { - "description": "Gateway is the gateway ip address", - "type": "string" - }, - "nameserver": { - "description": "Nameserver define search domains and nameserver addresses", - "type": "object", - "properties": { - "addresses": { - "type": "array", - "items": { - "type": "string" - } - }, - "search": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "prefix": { - "description": "Prefix is the mask of the network as integer (max 128)", - "type": "integer", - "format": "int32" - }, - "start": { - "description": "Start is the first ip address that can be rendered", - "type": "string" - }, - "subnet": { - "description": "Subnet is used to validate that the rendered IP is in bounds. eg: 192.168.0.0/24 If Start value is not given, start value is derived from the subnet ip incremented by 1 (start value is `192.168.0.1` for subnet `192.168.0.0/24`)", - "type": "string" - } - } - } - }, - "prefix": { - "description": "Prefix is the mask of the network as integer (max 128)", - "type": "integer", - "format": "int32" - }, - "uid": { - "description": "UID is the UID of this IPPool, used by Hubble", - "type": "string" - } - } - }, - "networkName": { - "description": "NetworkName is the name of the network in which VMs are created/located.", - "type": "string" + "onDemand": { + "description": "OnDemand price of instance", + "type": "number", + "format": "double" }, - "parentPoolRef": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", - "type": "string" - } - } + "os": { + "description": "Os associated with instance price. Allowed values - [linux, windows]", + "type": "string", + "enum": [ + "linux", + "windows" + ] }, - "staticIp": { - "description": "support dhcp or static IP, if false, use DHCP", - "type": "boolean" + "spot": { + "description": "Spot price of instance", + "type": "number", + "format": "double" } } - }, - "resourcePool": { - "description": "ResourcePool is the resource pool within the above computecluster Cluster", - "type": "string" - }, - "storagePolicyName": { - "description": "StoragePolicyName of the storage policy to use with this Virtual Machine", - "type": "string" - }, - "uid": { - "description": "UID for this placement", - "type": "string" } } - }, - "sshKeys": { - "description": "SSHKeys specifies a list of ssh authorized keys for the 'spectro' user", - "type": "array", - "items": { - "type": "string" - } - }, - "staticIp": { - "description": "whether this cluster should use dhcp or static IP, if false, use DHCP if this is set, then all machinepools should have staticIP with provided IPPool adding this as an additional standalone flag without relating to placement.Nework main reason is to enable more validation for placement.Network.StaticIP which should come together with valid Network.IPPool and Network.Name", - "type": "boolean" } - } - }, - "edgeHostRef": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", + }, + "cpu": { + "description": "Cpu of instance type", + "type": "number", + "format": "double", + "x-go-name": "Cpu" + }, + "gpu": { + "description": "Gpu of instance type", + "type": "number", + "format": "double", + "x-go-name": "Gpu" + }, + "memory": { + "description": "Memory of instance type", + "type": "number", + "format": "double", + "x-go-name": "Memory" + }, + "nonSupportedZones": { + "description": "Non supported zones of the instance in a particular region", + "type": "array", + "items": { "type": "string" - }, - "uid": { - "description": "UID of the referent.", + } + }, + "price": { + "description": "Price of instance type", + "type": "number", + "format": "double", + "x-go-name": "Price" + }, + "supportedArchitectures": { + "description": "Supported architecture of the instance", + "type": "array", + "items": { "type": "string" } + }, + "type": { + "description": "Type of instance type", + "type": "string", + "x-go-name": "Type" } - }, - "machinePoolConfig": { - "type": "array", - "items": { + } + } + } + } + } + } + } + } + }, + "/v1/clouds/azure/regions/{region}/storagetypes": { + "get": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Retrieves a list of Azure storage types", + "operationId": "V1AzureStorageTypes", + "parameters": [ + { + "type": "string", + "description": "Region for which Azure storage types are requested", + "name": "region", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "description": "List of Azure storage types", + "type": "object", + "properties": { + "storageTypes": { + "type": "array", + "items": { + "description": "Cloud cloud Storage type details", + "type": "object", + "properties": { + "cost": { + "description": "Cloud storage cost", "type": "object", - "required": [ - "isControlPlane", - "instanceType" - ], "properties": { - "additionalLabels": { - "description": "additionalLabels", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "additionalTags": { - "description": "AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "instanceType": { - "type": "object", - "required": [ - "numCPUs", - "memoryMiB", - "diskGiB" - ], - "properties": { - "diskGiB": { - "description": "DiskGiB is the size of a virtual machine's disk, in GiB. Defaults to the analogue property value in the template from which this machine is cloned.", - "type": "integer", - "format": "int32" - }, - "memoryMiB": { - "description": "MemoryMiB is the size of a virtual machine's memory, in MiB. Defaults to the analogue property value in the template from which this machine is cloned.", - "type": "integer", - "format": "int64" - }, - "numCPUs": { - "description": "NumCPUs is the number of virtual processors in a virtual machine. Defaults to the analogue property value in the template from which this machine is cloned.", - "type": "integer", - "format": "int32" - } - } - }, - "isControlPlane": { - "description": "whether this pool is for control plane", - "type": "boolean", - "x-omitempty": false - }, - "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", - "type": "array", - "items": { - "type": "string" - } - }, - "machinePoolProperties": { - "description": "Machine pool specific properties", - "type": "object", - "properties": { - "archType": { - "type": "string", - "default": "amd64", - "enum": [ - "amd64", - "arm64" - ] - } - } - }, - "maxSize": { - "description": "max size of the pool, for scaling", - "type": "integer", - "format": "int32" - }, - "minSize": { - "description": "min size of the pool, for scaling", - "type": "integer", - "format": "int32" - }, - "name": { + "discountedUsage": { + "description": "Cloud storage upper limit which is free.", "type": "string" }, - "nodeRepaveInterval": { - "description": "Minimum number of seconds a node should be Ready, before the next node is selected for repave. Applicable only for workerpools in infrastructure cluster", - "type": "integer", - "format": "int32" - }, - "placements": { - "description": "Placements configuration Placements If defined, will replace default values defined in VsphereClusterConfig Array means one MachinePool can span across multiple vsphere compute cluster", + "price": { + "description": "Array of cloud storage range prices", "type": "array", "items": { - "description": "Both ClusterConfig and MachinePoolConfig will have PlacementConfig MachinePoolconfig.Placements will overwrite values defined in ClusterConfig Currently the convention is: Datacenter / Folder / ImageTemplateFolder / Network should be defined at ClusterConfig Cluster / ResourcePool / Datastore / Network is defined at MachinePool ClusterConfig Network should only indicate use DHCP or not MachinePool Network should contain the actual network and IPPool", + "description": "Cloud storage price within an upper limit.", "type": "object", "properties": { - "cluster": { - "description": "Cluster is the computecluster in vsphere", - "type": "string" - }, - "datacenter": { - "description": "Datacenter is the name or inventory path of the datacenter where this machine's VM is created/located.", - "type": "string" - }, - "datastore": { - "description": "Datastore is the datastore in which VMs are created/located.", - "type": "string" - }, - "folder": { - "description": "Folder is the folder in which VMs are created/located.", - "type": "string" - }, - "imageTemplateFolder": { - "description": "ImageTemplateFolder is the folder in which VMs templates are created/located. if empty will use default value spectro-templates", - "type": "string" - }, - "network": { - "type": "object", - "required": [ - "networkName" - ], - "properties": { - "ipPool": { - "description": "IPPool defines static IPs available. Gateway, Prefix, Nameserver, if defined, will be default values for all Pools", - "type": "object", - "properties": { - "gateway": { - "description": "Gateway is the gateway ip address", - "type": "string" - }, - "nameserver": { - "description": "Nameserver define search domains and nameserver addresses", - "type": "object", - "properties": { - "addresses": { - "type": "array", - "items": { - "type": "string" - } - }, - "search": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "pools": { - "description": "Pools contains the list of IP addresses pools", - "type": "array", - "items": { - "description": "Pool defines IP ranges or with CIDR for available IPs Gateway, Prefix and Nameserver if provided, will overwrite values in IPPool", - "type": "object", - "properties": { - "end": { - "description": "End is the last IP address that can be rendered. It is used as a validation that the rendered IP is in bound.", - "type": "string" - }, - "gateway": { - "description": "Gateway is the gateway ip address", - "type": "string" - }, - "nameserver": { - "description": "Nameserver define search domains and nameserver addresses", - "type": "object", - "properties": { - "addresses": { - "type": "array", - "items": { - "type": "string" - } - }, - "search": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "prefix": { - "description": "Prefix is the mask of the network as integer (max 128)", - "type": "integer", - "format": "int32" - }, - "start": { - "description": "Start is the first ip address that can be rendered", - "type": "string" - }, - "subnet": { - "description": "Subnet is used to validate that the rendered IP is in bounds. eg: 192.168.0.0/24 If Start value is not given, start value is derived from the subnet ip incremented by 1 (start value is `192.168.0.1` for subnet `192.168.0.0/24`)", - "type": "string" - } - } - } - }, - "prefix": { - "description": "Prefix is the mask of the network as integer (max 128)", - "type": "integer", - "format": "int32" - }, - "uid": { - "description": "UID is the UID of this IPPool, used by Hubble", - "type": "string" - } - } - }, - "networkName": { - "description": "NetworkName is the name of the network in which VMs are created/located.", - "type": "string" - }, - "parentPoolRef": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", - "type": "string" - } - } - }, - "staticIp": { - "description": "support dhcp or static IP, if false, use DHCP", - "type": "boolean" - } - } - }, - "resourcePool": { - "description": "ResourcePool is the resource pool within the above computecluster Cluster", - "type": "string" - }, - "storagePolicyName": { - "description": "StoragePolicyName of the storage policy to use with this Virtual Machine", + "limit": { + "description": "Upper limit of cloud storage usage", "type": "string" }, - "uid": { - "description": "UID for this placement", + "price": { + "description": "Price of cloud storage type", "type": "string" } } } + } + } + }, + "iopsCost": { + "description": "Cloud storage cost", + "type": "object", + "properties": { + "discountedUsage": { + "description": "Cloud storage upper limit which is free.", + "type": "string" }, - "size": { - "description": "size of the pool, number of machines", - "type": "integer", - "format": "int32" - }, - "taints": { - "description": "master or worker taints", + "price": { + "description": "Array of cloud storage range prices", "type": "array", - "uniqueItems": true, "items": { - "description": "Taint", + "description": "Cloud storage price within an upper limit.", "type": "object", "properties": { - "effect": { - "type": "string", - "enum": [ - "NoSchedule", - "PreferNoSchedule", - "NoExecute" - ] - }, - "key": { - "description": "The taint key to be applied to a node", + "limit": { + "description": "Upper limit of cloud storage usage", "type": "string" }, - "timeAdded": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "value": { - "description": "The taint value corresponding to the taint key.", + "price": { + "description": "Price of cloud storage type", "type": "string" } } } - }, - "updateStrategy": { - "description": "UpdatesStrategy will be used to translate to RollingUpdateStrategy of a MachineDeployment We'll start with default values for the translation, can expose more details later Following is details of parameters translated from the type ScaleOut =\u003e maxSurge=1, maxUnavailable=0 ScaleIn =\u003e maxSurge=0, maxUnavailable=1", - "type": "object", - "properties": { - "type": { - "description": "update strategy, either ScaleOut or ScaleIn if empty, will default to RollingUpdateScaleOut", - "type": "string", - "enum": [ - "RollingUpdateScaleOut", - "RollingUpdateScaleIn" - ] - } - } - }, - "useControlPlaneAsWorker": { - "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", - "type": "boolean", - "x-omitempty": false } } - } - } - } - }, - "status": { - "description": "VsphereCloudConfigStatus defines the observed state of VsphereCloudConfig", - "type": "object", - "properties": { - "ansibleDigest": { - "type": "string" - }, - "conditions": { - "type": "array", - "items": { + }, + "kind": { + "description": "kind of storage type", + "type": "string" + }, + "name": { + "description": "Name of the storage type", + "type": "string" + }, + "throughputCost": { + "description": "Cloud storage cost", "type": "object", - "required": [ - "type", - "status" - ], "properties": { - "lastProbeTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "lastTransitionTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "message": { - "description": "Human-readable message indicating details about last transition.", - "type": "string" - }, - "reason": { - "description": "Unique, one-word, CamelCase reason for the condition's last transition.", - "type": "string" - }, - "status": { + "discountedUsage": { + "description": "Cloud storage upper limit which is free.", "type": "string" }, - "type": { - "type": "string" + "price": { + "description": "Array of cloud storage range prices", + "type": "array", + "items": { + "description": "Cloud storage price within an upper limit.", + "type": "object", + "properties": { + "limit": { + "description": "Upper limit of cloud storage usage", + "type": "string" + }, + "price": { + "description": "Price of cloud storage type", + "type": "string" + } + } + } } } } - }, - "isAddonLayer": { - "description": "addon layers present in spc", - "type": "boolean" - }, - "lastOVACreated": { - "type": "string" - }, - "lastVMExported": { - "type": "string" - }, - "nodeImage": { - "description": "A generated Image should always be a template which resides inside vsphere Will not generate a OVA file out of the image OVA can be used as a base input of the os pack, that's internal to the pack", - "type": "object", - "properties": { - "fullPath": { - "description": "full path of the image template location it contains datacenter/folder/templatename etc eg: /mydc/vm/template/spectro/workerpool-1-centos", - "type": "string" - }, - "state": { - "type": "string" - } - } - }, - "roleDigest": { - "description": "this map will be for ansible roles present in eack pack", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "sourceImageId": { - "description": "sourceImageId, it can be from packref's annotations or from pack.json", - "type": "string" - }, - "uploadOvaS3": { - "description": "UploadOVAS3 will hold last image name which uploaded to S3", - "type": "string" - }, - "useCapiImage": { - "description": "If no ansible roles found in Packs then Mold should tell Drive to use capi image and not create custom image, because there is nothing to add", - "type": "boolean" } } } @@ -47919,19 +46145,10 @@ } } } - }, - "parameters": [ - { - "type": "string", - "description": "Cluster's cloud config uid", - "name": "configUid", - "in": "path", - "required": true - } - ] + } }, - "/v1/cloudconfigs/vsphere/{configUid}/clusterConfig": { - "put": { + "/v1/clouds/azure/regions/{region}/subscriptions/{subscriptionId}/aksClusters/name/validate": { + "get": { "security": [ { "ApiKey": [] @@ -47940,127 +46157,47 @@ "Authorization": [] } ], + "description": "Returns no contents if Azure cluster name is valid else error.", "tags": [ "v1" ], - "summary": "Updates the cluster configuration information", - "operationId": "v1CloudConfigsVsphereUidClusterConfig", + "summary": "Check if Azure cluster name is valid", + "operationId": "V1AzureClusterNameValidate", "parameters": [ { - "name": "body", - "in": "body", - "schema": { - "description": "vSphere cloud cluster config entity", - "type": "object", - "properties": { - "clusterConfig": { - "type": "object", - "required": [ - "placement" - ], - "properties": { - "controlPlaneEndpoint": { - "type": "object", - "properties": { - "ddnsSearchDomain": { - "description": "DDNSSearchDomain is the search domain used for resolving IP addresses when the EndpointType is DDNS. This search domain is appended to the generated Hostname to obtain the complete DNS name for the endpoint. If Host is already a DDNS FQDN, DDNSSearchDomain is not required", - "type": "string" - }, - "host": { - "description": "IP or FQDN(External/DDNS)", - "type": "string" - }, - "type": { - "description": "VIP or External", - "type": "string", - "enum": [ - "VIP", - "External", - "DDNS" - ] - } - } - }, - "ntpServers": { - "description": "NTPServers is a list of NTP servers to use instead of the machine image's default NTP server list.", - "type": "array", - "items": { - "type": "string" - } - }, - "placement": { - "description": "Both ClusterConfig and MachinePoolConfig will have PlacementConfig MachinePoolconfig.Placements will overwrite values defined in ClusterConfig Currently the convention is: Datacenter / Folder / ImageTemplateFolder / Network should be defined at ClusterConfig Cluster / ResourcePool / Datastore / Network is defined at MachinePool ClusterConfig Network should only indicate use DHCP or not MachinePool Network should contain the actual network and IPPool", - "type": "object", - "properties": { - "cluster": { - "description": "Cluster is the computecluster in vsphere", - "type": "string" - }, - "datacenter": { - "description": "Datacenter is the name or inventory path of the datacenter where this machine's VM is created/located.", - "type": "string" - }, - "datastore": { - "description": "Datastore is the datastore in which VMs are created/located.", - "type": "string" - }, - "folder": { - "description": "Folder is the folder in which VMs are created/located.", - "type": "string" - }, - "imageTemplateFolder": { - "description": "ImageTemplateFolder is the folder in which VMs templates are created/located. if empty will use default value spectro-templates", - "type": "string" - }, - "network": { - "type": "object", - "required": [ - "networkName" - ], - "properties": { - "networkName": { - "description": "NetworkName is the name of the network in which VMs are created/located.", - "type": "string" - }, - "parentPoolUid": { - "description": "ParentPoolRef Uid to the ParentPool which allocates IPs for this IPPool", - "type": "string" - }, - "staticIp": { - "description": "support dhcp or static IP, if false, use DHCP", - "type": "boolean" - } - } - }, - "resourcePool": { - "description": "ResourcePool is the resource pool within the above computecluster Cluster", - "type": "string" - }, - "storagePolicyName": { - "description": "StoragePolicyName of the storage policy to use with this Virtual Machine", - "type": "string" - }, - "uid": { - "description": "UID for this placement", - "type": "string" - } - } - }, - "sshKeys": { - "description": "SSHKeys specifies a list of ssh authorized keys for the 'spectro' user", - "type": "array", - "items": { - "type": "string" - } - }, - "staticIp": { - "description": "whether this cluster should use dhcp or static IP, if false, use DHCP if this is set, then all machinepools should have staticIP with provided IPPool adding this as an additional standalone flag without relating to placement.Nework main reason is to enable more validation for placement.Network.StaticIP which should come together with valid Network.IPPool and Network.Name", - "type": "boolean" - } - } - } - } - } + "type": "string", + "description": "Uid for the specific Azure cloud account", + "name": "cloudAccountUid", + "in": "query", + "required": true + }, + { + "type": "string", + "description": "cluster name to be validated", + "name": "name", + "in": "query", + "required": true + }, + { + "type": "string", + "description": "region in which cluster name is to be validated", + "name": "region", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "subscriptionId in which cluster name is to be validated", + "name": "subscriptionId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "resourceGroup in which cluster name is to be validated", + "name": "resourceGroup", + "in": "query", + "required": true }, { "type": "string", @@ -48071,22 +46208,19 @@ ], "responses": { "204": { - "description": "The resource was updated successfully" + "description": "Ok response without content", + "headers": { + "AuditUid": { + "type": "string", + "description": "Audit uid for the request" + } + } } } - }, - "parameters": [ - { - "type": "string", - "description": "Cluster's cloud config uid", - "name": "configUid", - "in": "path", - "required": true - } - ] + } }, - "/v1/cloudconfigs/vsphere/{configUid}/machinePools": { - "post": { + "/v1/clouds/azure/regions/{region}/subscriptions/{subscriptionId}/networks": { + "get": { "security": [ { "ApiKey": [] @@ -48098,236 +46232,145 @@ "tags": [ "v1" ], - "summary": "Creates a vSphere cloud config's machine pool", - "operationId": "v1CloudConfigsVsphereMachinePoolCreate", + "summary": "Retrieves a list of Azure virtual network list for the sepcified account", + "operationId": "V1AzureVirtualNetworkList", "parameters": [ { - "name": "body", - "in": "body", + "type": "string", + "description": "Uid for the specific Azure cloud account", + "name": "cloudAccountUid", + "in": "query", + "required": true + }, + { + "type": "string", + "description": "Region for which Azure virtual networks are requested", + "name": "region", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "Uid for which Azure virtual networks are requested", + "name": "subscriptionId", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "Resource group for which Azure virtual networks are requested", + "name": "resourceGroup", + "in": "query" + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "200": { + "description": "(empty)", "schema": { + "description": "List of Azure virtual network", "type": "object", - "required": [ - "cloudConfig" - ], "properties": { - "cloudConfig": { - "properties": { - "instanceType": { - "type": "object", - "required": [ - "numCPUs", - "memoryMiB", - "diskGiB" - ], - "properties": { - "diskGiB": { - "description": "DiskGiB is the size of a virtual machine's disk, in GiB. Defaults to the analogue property value in the template from which this machine is cloned.", - "type": "integer", - "format": "int32" - }, - "memoryMiB": { - "description": "MemoryMiB is the size of a virtual machine's memory, in MiB. Defaults to the analogue property value in the template from which this machine is cloned.", - "type": "integer", - "format": "int64" - }, - "numCPUs": { - "description": "NumCPUs is the number of virtual processors in a virtual machine. Defaults to the analogue property value in the template from which this machine is cloned.", - "type": "integer", - "format": "int32" - } - } - }, - "placements": { - "description": "Placements configuration Placements If defined, will replace default values defined in VsphereClusterConfig Array means one MachinePool can span across multiple vsphere compute cluster", - "type": "array", - "items": { - "description": "Both ClusterConfig and MachinePoolConfig will have PlacementConfig MachinePoolconfig.Placements will overwrite values defined in ClusterConfig Currently the convention is: Datacenter / Folder / ImageTemplateFolder / Network should be defined at ClusterConfig Cluster / ResourcePool / Datastore / Network is defined at MachinePool ClusterConfig Network should only indicate use DHCP or not MachinePool Network should contain the actual network and IPPool", - "type": "object", - "properties": { - "cluster": { - "description": "Cluster is the computecluster in vsphere", - "type": "string" - }, - "datacenter": { - "description": "Datacenter is the name or inventory path of the datacenter where this machine's VM is created/located.", - "type": "string" - }, - "datastore": { - "description": "Datastore is the datastore in which VMs are created/located.", - "type": "string" - }, - "folder": { - "description": "Folder is the folder in which VMs are created/located.", - "type": "string" - }, - "imageTemplateFolder": { - "description": "ImageTemplateFolder is the folder in which VMs templates are created/located. if empty will use default value spectro-templates", - "type": "string" - }, - "network": { - "type": "object", - "required": [ - "networkName" - ], - "properties": { - "networkName": { - "description": "NetworkName is the name of the network in which VMs are created/located.", - "type": "string" - }, - "parentPoolUid": { - "description": "ParentPoolRef Uid to the ParentPool which allocates IPs for this IPPool", - "type": "string" - }, - "staticIp": { - "description": "support dhcp or static IP, if false, use DHCP", - "type": "boolean" - } - } - }, - "resourcePool": { - "description": "ResourcePool is the resource pool within the above computecluster Cluster", - "type": "string" - }, - "storagePolicyName": { - "description": "StoragePolicyName of the storage policy to use with this Virtual Machine", - "type": "string" - }, - "uid": { - "description": "UID for this placement", - "type": "string" - } + "virtualNetworkList": { + "type": "array", + "items": { + "description": "Azure virtual network is the fundamental building block for your private network in Azure.", + "type": "object", + "properties": { + "addressSpaces": { + "description": "Location of the virtual network", + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" } - } - } - } - }, - "poolConfig": { - "description": "Machine pool configuration for the cluster", - "type": "object", - "required": [ - "name", - "size", - "labels" - ], - "properties": { - "additionalLabels": { - "description": "Additional labels to be part of the machine pool", - "type": "object", - "additionalProperties": { + }, + "id": { + "description": "The ID of the resource group", "type": "string" - } - }, - "additionalTags": { - "description": "AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole", - "type": "object", - "additionalProperties": { + }, + "location": { + "description": "Location of the virtual network", "type": "string" - } - }, - "isControlPlane": { - "description": "Whether this pool is for control plane", - "type": "boolean", - "x-omitempty": false - }, - "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", - "type": "array", - "items": { + }, + "name": { + "description": "Name of the virtual network", "type": "string" - } - }, - "machinePoolProperties": { - "description": "Machine pool specific properties", - "type": "object", - "properties": { - "archType": { - "type": "string", - "default": "amd64", - "enum": [ - "amd64", - "arm64" - ] - } - } - }, - "maxSize": { - "description": "Max size of the pool, for scaling", - "type": "integer", - "format": "int32" - }, - "minSize": { - "description": "Min size of the pool, for scaling", - "type": "integer", - "format": "int32" - }, - "name": { - "type": "string" - }, - "nodeRepaveInterval": { - "description": "Minimum number of seconds a node should be Ready, before the next node is selected for repave. Applicable only for workerpools in infrastructure cluster", - "type": "integer", - "format": "int32" - }, - "size": { - "description": "Size of the pool, number of nodes/machines", - "type": "integer", - "format": "int32" - }, - "taints": { - "description": "Master or worker taints", - "type": "array", - "uniqueItems": true, - "items": { - "description": "Taint", - "type": "object", - "properties": { - "effect": { - "type": "string", - "enum": [ - "NoSchedule", - "PreferNoSchedule", - "NoExecute" - ] - }, - "key": { - "description": "The taint key to be applied to a node", - "type": "string" - }, - "timeAdded": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "value": { - "description": "The taint value corresponding to the taint key.", - "type": "string" + }, + "subnets": { + "description": "List of subnets associated with Azure VPC", + "type": "array", + "items": { + "type": "object", + "properties": { + "cidrBlock": { + "description": "CidrBlock is the CIDR block to be used when the provider creates a managed Vnet.", + "type": "string" + }, + "name": { + "type": "string" + }, + "securityGroupName": { + "description": "Network Security Group(NSG) to be attached to subnet. NSG for a control plane subnet, should allow inbound to port 6443, as port 6443 is used by kubeadm to bootstrap the control planes", + "type": "string" + } } } + }, + "type": { + "description": "Type of the virtual network", + "type": "string" } - }, - "updateStrategy": { - "description": "UpdatesStrategy will be used to translate to RollingUpdateStrategy of a MachineDeployment We'll start with default values for the translation, can expose more details later Following is details of parameters translated from the type ScaleOut =\u003e maxSurge=1, maxUnavailable=0 ScaleIn =\u003e maxSurge=0, maxUnavailable=1", - "type": "object", - "properties": { - "type": { - "description": "update strategy, either ScaleOut or ScaleIn if empty, will default to RollingUpdateScaleOut", - "type": "string", - "enum": [ - "RollingUpdateScaleOut", - "RollingUpdateScaleIn" - ] - } - } - }, - "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", - "type": "boolean", - "x-omitempty": false } } } } } + } + } + } + }, + "/v1/clouds/azure/regions/{region}/subscriptions/{subscriptionId}/resourceGroups": { + "get": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Retrieves a list of Azure resource group for the specified account", + "operationId": "V1AzureResourceGroupList", + "parameters": [ + { + "type": "string", + "description": "Uid for the specific Azure cloud account", + "name": "cloudAccountUid", + "in": "query", + "required": true + }, + { + "type": "string", + "description": "Region for which Azure resource group are requested", + "name": "region", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "Uid for which Azure resource group are requested", + "name": "subscriptionId", + "in": "path", + "required": true }, { "type": "string", @@ -48337,40 +46380,41 @@ } ], "responses": { - "201": { - "description": "Created successfully", + "200": { + "description": "(empty)", "schema": { + "description": "List of Azure resource group", "type": "object", - "required": [ - "uid" - ], "properties": { - "uid": { - "type": "string" + "resourceGroupList": { + "type": "array", + "items": { + "description": "Azure resource Group is a container that holds related resources for an Azure solution", + "type": "object", + "properties": { + "id": { + "description": "The ID of the resource group", + "type": "string" + }, + "location": { + "description": "The location of the resource group. It cannot be changed after the resource group has been created", + "type": "string" + }, + "name": { + "description": "The type of the resource group", + "type": "string" + } + } + } } } - }, - "headers": { - "AuditUid": { - "type": "string", - "description": "Audit uid for the request" - } } } } - }, - "parameters": [ - { - "type": "string", - "description": "Cluster's cloud config uid", - "name": "configUid", - "in": "path", - "required": true - } - ] + } }, - "/v1/cloudconfigs/vsphere/{configUid}/machinePools/{machinePoolName}": { - "put": { + "/v1/clouds/azure/regions/{region}/zones": { + "get": { "security": [ { "ApiKey": [] @@ -48382,236 +46426,98 @@ "tags": [ "v1" ], - "summary": "Updates the specified vSphere cloud config's machine pool", - "operationId": "v1CloudConfigsVsphereMachinePoolUpdate", + "summary": "Retrieves a list of Azure zones for the specified region", + "operationId": "V1AzureZones", "parameters": [ { - "name": "body", - "in": "body", + "type": "string", + "description": "Region for which Azure zones are requested", + "name": "region", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "Uid for the specific Azure cloud account", + "name": "cloudAccountUid", + "in": "query" + }, + { + "type": "string", + "description": "subscriptionId of azure account", + "name": "subscriptionId", + "in": "query" + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "200": { + "description": "(empty)", "schema": { + "description": "List of Azure zone", "type": "object", - "required": [ - "cloudConfig" - ], "properties": { - "cloudConfig": { - "properties": { - "instanceType": { - "type": "object", - "required": [ - "numCPUs", - "memoryMiB", - "diskGiB" - ], - "properties": { - "diskGiB": { - "description": "DiskGiB is the size of a virtual machine's disk, in GiB. Defaults to the analogue property value in the template from which this machine is cloned.", - "type": "integer", - "format": "int32" - }, - "memoryMiB": { - "description": "MemoryMiB is the size of a virtual machine's memory, in MiB. Defaults to the analogue property value in the template from which this machine is cloned.", - "type": "integer", - "format": "int64" - }, - "numCPUs": { - "description": "NumCPUs is the number of virtual processors in a virtual machine. Defaults to the analogue property value in the template from which this machine is cloned.", - "type": "integer", - "format": "int32" - } - } - }, - "placements": { - "description": "Placements configuration Placements If defined, will replace default values defined in VsphereClusterConfig Array means one MachinePool can span across multiple vsphere compute cluster", - "type": "array", - "items": { - "description": "Both ClusterConfig and MachinePoolConfig will have PlacementConfig MachinePoolconfig.Placements will overwrite values defined in ClusterConfig Currently the convention is: Datacenter / Folder / ImageTemplateFolder / Network should be defined at ClusterConfig Cluster / ResourcePool / Datastore / Network is defined at MachinePool ClusterConfig Network should only indicate use DHCP or not MachinePool Network should contain the actual network and IPPool", - "type": "object", - "properties": { - "cluster": { - "description": "Cluster is the computecluster in vsphere", - "type": "string" - }, - "datacenter": { - "description": "Datacenter is the name or inventory path of the datacenter where this machine's VM is created/located.", - "type": "string" - }, - "datastore": { - "description": "Datastore is the datastore in which VMs are created/located.", - "type": "string" - }, - "folder": { - "description": "Folder is the folder in which VMs are created/located.", - "type": "string" - }, - "imageTemplateFolder": { - "description": "ImageTemplateFolder is the folder in which VMs templates are created/located. if empty will use default value spectro-templates", - "type": "string" - }, - "network": { - "type": "object", - "required": [ - "networkName" - ], - "properties": { - "networkName": { - "description": "NetworkName is the name of the network in which VMs are created/located.", - "type": "string" - }, - "parentPoolUid": { - "description": "ParentPoolRef Uid to the ParentPool which allocates IPs for this IPPool", - "type": "string" - }, - "staticIp": { - "description": "support dhcp or static IP, if false, use DHCP", - "type": "boolean" - } - } - }, - "resourcePool": { - "description": "ResourcePool is the resource pool within the above computecluster Cluster", - "type": "string" - }, - "storagePolicyName": { - "description": "StoragePolicyName of the storage policy to use with this Virtual Machine", - "type": "string" - }, - "uid": { - "description": "UID for this placement", - "type": "string" - } - } - } - } - } - }, - "poolConfig": { - "description": "Machine pool configuration for the cluster", - "type": "object", - "required": [ - "name", - "size", - "labels" - ], - "properties": { - "additionalLabels": { - "description": "Additional labels to be part of the machine pool", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "additionalTags": { - "description": "AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "isControlPlane": { - "description": "Whether this pool is for control plane", - "type": "boolean", - "x-omitempty": false - }, - "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", - "type": "array", - "items": { + "zoneList": { + "type": "array", + "items": { + "description": "Azure availability zone entity", + "type": "object", + "properties": { + "id": { + "description": "Azure availability zone id", "type": "string" } - }, - "machinePoolProperties": { - "description": "Machine pool specific properties", - "type": "object", - "properties": { - "archType": { - "type": "string", - "default": "amd64", - "enum": [ - "amd64", - "arm64" - ] - } - } - }, - "maxSize": { - "description": "Max size of the pool, for scaling", - "type": "integer", - "format": "int32" - }, - "minSize": { - "description": "Min size of the pool, for scaling", - "type": "integer", - "format": "int32" - }, - "name": { - "type": "string" - }, - "nodeRepaveInterval": { - "description": "Minimum number of seconds a node should be Ready, before the next node is selected for repave. Applicable only for workerpools in infrastructure cluster", - "type": "integer", - "format": "int32" - }, - "size": { - "description": "Size of the pool, number of nodes/machines", - "type": "integer", - "format": "int32" - }, - "taints": { - "description": "Master or worker taints", - "type": "array", - "uniqueItems": true, - "items": { - "description": "Taint", - "type": "object", - "properties": { - "effect": { - "type": "string", - "enum": [ - "NoSchedule", - "PreferNoSchedule", - "NoExecute" - ] - }, - "key": { - "description": "The taint key to be applied to a node", - "type": "string" - }, - "timeAdded": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "value": { - "description": "The taint value corresponding to the taint key.", - "type": "string" - } - } - } - }, - "updateStrategy": { - "description": "UpdatesStrategy will be used to translate to RollingUpdateStrategy of a MachineDeployment We'll start with default values for the translation, can expose more details later Following is details of parameters translated from the type ScaleOut =\u003e maxSurge=1, maxUnavailable=0 ScaleIn =\u003e maxSurge=0, maxUnavailable=1", - "type": "object", - "properties": { - "type": { - "description": "update strategy, either ScaleOut or ScaleIn if empty, will default to RollingUpdateScaleOut", - "type": "string", - "enum": [ - "RollingUpdateScaleOut", - "RollingUpdateScaleIn" - ] - } - } - }, - "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", - "type": "boolean", - "x-omitempty": false } } } } } + } + } + } + }, + "/v1/clouds/azure/resourceGroups/{resourceGroup}/privateDnsZones": { + "get": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "description": "Returns Azure private DNS zones", + "tags": [ + "v1" + ], + "summary": "Get Azure private DNS zones for the given resource group", + "operationId": "V1AzurePrivateDnsZones", + "parameters": [ + { + "type": "string", + "description": "resourceGroup for which Azure private dns zones are requested", + "name": "resourceGroup", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "Uid for the specific Azure cloud account", + "name": "cloudAccountUid", + "in": "query", + "required": true + }, + { + "type": "string", + "description": "subscriptionId for which Azure private dns zones are requested", + "name": "subscriptionId", + "in": "query", + "required": true }, { "type": "string", @@ -48621,12 +46527,41 @@ } ], "responses": { - "204": { - "description": "The resource was updated successfully" + "200": { + "description": "(empty)", + "schema": { + "description": "List of Azure storage accounts", + "type": "object", + "properties": { + "privateDnsZones": { + "type": "array", + "items": { + "description": "Azure Private DNS zone entity", + "type": "object", + "properties": { + "id": { + "description": "Fully qualified resource Id for the resource", + "type": "string" + }, + "location": { + "description": "The Azure Region where the resource lives", + "type": "string" + }, + "name": { + "description": "The name of the resource", + "type": "string" + } + } + } + } + } + } } } - }, - "delete": { + } + }, + "/v1/clouds/azure/resourceGroups/{resourceGroup}/storageAccounts": { + "get": { "security": [ { "ApiKey": [] @@ -48635,12 +46570,33 @@ "Authorization": [] } ], + "description": "Returns Azure storage accounts.", "tags": [ "v1" ], - "summary": "Deletes the specified machine pool", - "operationId": "v1CloudConfigsVsphereMachinePoolDelete", + "summary": "Get Azure storage accounts", + "operationId": "V1AzureStorageAccounts", "parameters": [ + { + "type": "string", + "description": "resourceGroup for which Azure storage accounts are requested", + "name": "resourceGroup", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "Uid for the specific Azure cloud account", + "name": "cloudAccountUid", + "in": "query" + }, + { + "type": "string", + "description": "subscriptionId for which Azure storage accounts are requested", + "name": "subscriptionId", + "in": "query", + "required": true + }, { "type": "string", "description": "Scope the request to the specified project uid", @@ -48649,29 +46605,44 @@ } ], "responses": { - "204": { - "description": "The resource was deleted successfully" + "200": { + "description": "(empty)", + "schema": { + "description": "List of Azure storage accounts", + "type": "object", + "properties": { + "accounts": { + "type": "array", + "items": { + "description": "Azure storage account provides a unique namespace for your Azure resources", + "type": "object", + "properties": { + "id": { + "description": "Fully qualified resource ID for the resource", + "type": "string" + }, + "kind": { + "description": "The kind of the resource", + "type": "string" + }, + "location": { + "description": "The geo-location where the resource lives", + "type": "string" + }, + "name": { + "description": "The name of the resource", + "type": "string" + } + } + } + } + } + } } } - }, - "parameters": [ - { - "type": "string", - "description": "Cluster's cloud config uid", - "name": "configUid", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Machine pool name", - "name": "machinePoolName", - "in": "path", - "required": true - } - ] + } }, - "/v1/cloudconfigs/vsphere/{configUid}/machinePools/{machinePoolName}/machines": { + "/v1/clouds/azure/resourceGroups/{resourceGroup}/storageAccounts/{storageAccountName}/containers": { "get": { "security": [ { @@ -48681,49 +46652,102 @@ "Authorization": [] } ], + "description": "Returns Azure storage containers for the given account.", "tags": [ "v1" ], - "summary": "Retrieves a list of vSphere machines", - "operationId": "v1CloudConfigsVspherePoolMachinesList", + "summary": "Get Azure storage containers", + "operationId": "V1AzureStorageContainers", "parameters": [ { "type": "string", - "description": "Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name", - "name": "fields", - "in": "query" + "description": "resourceGroup for which Azure storage accounts are requested", + "name": "resourceGroup", + "in": "path", + "required": true }, { "type": "string", - "description": "Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.", - "name": "filters", + "description": "Uid for the specific Azure cloud account", + "name": "cloudAccountUid", "in": "query" }, { "type": "string", - "description": "Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1", - "name": "orderBy", - "in": "query" + "description": "subscriptionId for which Azure storage accounts are requested", + "name": "subscriptionId", + "in": "query", + "required": true }, { - "type": "integer", - "format": "int64", - "default": 50, - "description": "limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", - "name": "limit", - "in": "query" + "type": "string", + "description": "resourceGroup for which Azure storage accounts are requested", + "name": "storageAccountName", + "in": "path", + "required": true }, { - "type": "integer", - "format": "int64", - "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", - "name": "offset", - "in": "query" + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "description": "List of Azure storage containers", + "type": "object", + "properties": { + "containers": { + "type": "array", + "items": { + "description": "Azure storage container organizes a set of blobs, similar to a directory in a file system", + "type": "object", + "properties": { + "id": { + "description": "Fully qualified resource ID for the resource.", + "type": "string" + }, + "name": { + "description": "The name of the resource", + "type": "string" + }, + "type": { + "description": "The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\"", + "type": "string" + } + } + } + } + } + } + } + } + } + }, + "/v1/clouds/azure/storageaccounttypes": { + "get": { + "security": [ + { + "ApiKey": [] }, + { + "Authorization": [] + } + ], + "description": "Returns Azure storage account types.", + "tags": [ + "v1" + ], + "summary": "Get Azure storage account types", + "operationId": "V1AzureStorageAccountTypes", + "parameters": [ { "type": "string", - "description": "continue token to paginate the subsequent data items", - "name": "continue", + "description": "Region for which Azure storage account types are requested", + "name": "region", "in": "query" }, { @@ -48735,416 +46759,231 @@ ], "responses": { "200": { - "description": "An array of vSphere machine items", + "description": "(empty)", "schema": { - "description": "vSphere machine list", + "description": "Azure Storage Account Entity", "type": "object", - "required": [ - "items" - ], "properties": { - "items": { + "storageAccountTypes": { "type": "array", - "uniqueItems": true, "items": { - "description": "vSphere cloud VM definition", + "description": "Azure storage account entity", "type": "object", "properties": { - "apiVersion": { - "description": "Deprecated. Not used for the resource info.", + "id": { + "description": "Azure storage account id", "type": "string" }, - "kind": { - "description": "Deprecated. Cloud type of the machine.", + "name": { + "description": "Azure storage account name", + "type": "string" + } + } + } + } + } + } + } + } + } + }, + "/v1/clouds/azure/subscriptions": { + "get": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "description": "Returns list of Azure subscription list.", + "tags": [ + "v1" + ], + "summary": "Retrieves a list of Azure subscription list for the specified account", + "operationId": "V1AzureSubscriptionList", + "parameters": [ + { + "type": "string", + "description": "Uid for the specific Azure cloud account", + "name": "cloudAccountUid", + "in": "query", + "required": true + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "description": "List of Azure subscription", + "type": "object", + "properties": { + "subscriptionList": { + "type": "array", + "items": { + "description": "Azure Subscription Type", + "type": "object", + "properties": { + "authorizationSource": { + "description": "The authorization source of the request. Valid values are one or more combinations of Legacy, RoleBased, Bypassed, Direct and Management", "type": "string" }, - "metadata": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", - "type": "object", - "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "name": { - "description": "Name of the resource.", - "type": "string" - }, - "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", - "type": "string" - } - } + "displayName": { + "description": "The subscription display name", + "type": "string" }, - "spec": { - "description": "vSphere cloud VM definition spec", - "type": "object", - "required": [ - "vcenterServer", - "nics", - "placement" - ], - "properties": { - "images": { - "type": "array", - "items": { - "description": "A generated Image should always be a template which resides inside vsphere Will not generate a OVA file out of the image OVA can be used as a base input of the os pack, that's internal to the pack", - "type": "object", - "properties": { - "fullPath": { - "description": "full path of the image template location it contains datacenter/folder/templatename etc eg: /mydc/vm/template/spectro/workerpool-1-centos", - "type": "string" - }, - "state": { - "type": "string" - } - } - } - }, - "instanceType": { - "type": "object", - "required": [ - "numCPUs", - "memoryMiB", - "diskGiB" - ], - "properties": { - "diskGiB": { - "description": "DiskGiB is the size of a virtual machine's disk, in GiB. Defaults to the analogue property value in the template from which this machine is cloned.", - "type": "integer", - "format": "int32" - }, - "memoryMiB": { - "description": "MemoryMiB is the size of a virtual machine's memory, in MiB. Defaults to the analogue property value in the template from which this machine is cloned.", - "type": "integer", - "format": "int64" - }, - "numCPUs": { - "description": "NumCPUs is the number of virtual processors in a virtual machine. Defaults to the analogue property value in the template from which this machine is cloned.", - "type": "integer", - "format": "int32" - } - } - }, - "nics": { - "type": "array", - "items": { - "description": "vSphere network interface", - "type": "object", - "required": [ - "networkName" - ], - "properties": { - "index": { - "type": "integer", - "format": "int8" - }, - "macAddress": { - "type": "string" - }, - "networkName": { - "type": "string" - }, - "privateIPs": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - }, - "ntpServers": { - "description": "NTPServers is a list of NTP servers to use instead of the machine image's default NTP server list.", - "type": "array", - "items": { - "type": "string" - } - }, - "placement": { - "description": "Both ClusterConfig and MachinePoolConfig will have PlacementConfig MachinePoolconfig.Placements will overwrite values defined in ClusterConfig Currently the convention is: Datacenter / Folder / ImageTemplateFolder / Network should be defined at ClusterConfig Cluster / ResourcePool / Datastore / Network is defined at MachinePool ClusterConfig Network should only indicate use DHCP or not MachinePool Network should contain the actual network and IPPool", - "type": "object", - "properties": { - "cluster": { - "description": "Cluster is the computecluster in vsphere", - "type": "string" - }, - "datacenter": { - "description": "Datacenter is the name or inventory path of the datacenter where this machine's VM is created/located.", - "type": "string" - }, - "datastore": { - "description": "Datastore is the datastore in which VMs are created/located.", - "type": "string" - }, - "folder": { - "description": "Folder is the folder in which VMs are created/located.", - "type": "string" - }, - "imageTemplateFolder": { - "description": "ImageTemplateFolder is the folder in which VMs templates are created/located. if empty will use default value spectro-templates", - "type": "string" - }, - "network": { - "type": "object", - "required": [ - "networkName" - ], - "properties": { - "ipPool": { - "description": "IPPool defines static IPs available. Gateway, Prefix, Nameserver, if defined, will be default values for all Pools", - "type": "object", - "properties": { - "gateway": { - "description": "Gateway is the gateway ip address", - "type": "string" - }, - "nameserver": { - "description": "Nameserver define search domains and nameserver addresses", - "type": "object", - "properties": { - "addresses": { - "type": "array", - "items": { - "type": "string" - } - }, - "search": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "pools": { - "description": "Pools contains the list of IP addresses pools", - "type": "array", - "items": { - "description": "Pool defines IP ranges or with CIDR for available IPs Gateway, Prefix and Nameserver if provided, will overwrite values in IPPool", - "type": "object", - "properties": { - "end": { - "description": "End is the last IP address that can be rendered. It is used as a validation that the rendered IP is in bound.", - "type": "string" - }, - "gateway": { - "description": "Gateway is the gateway ip address", - "type": "string" - }, - "nameserver": { - "description": "Nameserver define search domains and nameserver addresses", - "type": "object", - "properties": { - "addresses": { - "type": "array", - "items": { - "type": "string" - } - }, - "search": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "prefix": { - "description": "Prefix is the mask of the network as integer (max 128)", - "type": "integer", - "format": "int32" - }, - "start": { - "description": "Start is the first ip address that can be rendered", - "type": "string" - }, - "subnet": { - "description": "Subnet is used to validate that the rendered IP is in bounds. eg: 192.168.0.0/24 If Start value is not given, start value is derived from the subnet ip incremented by 1 (start value is `192.168.0.1` for subnet `192.168.0.0/24`)", - "type": "string" - } - } - } - }, - "prefix": { - "description": "Prefix is the mask of the network as integer (max 128)", - "type": "integer", - "format": "int32" - }, - "uid": { - "description": "UID is the UID of this IPPool, used by Hubble", - "type": "string" - } - } - }, - "networkName": { - "description": "NetworkName is the name of the network in which VMs are created/located.", - "type": "string" - }, - "parentPoolRef": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", - "type": "string" - } - } - }, - "staticIp": { - "description": "support dhcp or static IP, if false, use DHCP", - "type": "boolean" - } - } - }, - "resourcePool": { - "description": "ResourcePool is the resource pool within the above computecluster Cluster", - "type": "string" - }, - "storagePolicyName": { - "description": "StoragePolicyName of the storage policy to use with this Virtual Machine", - "type": "string" - }, - "uid": { - "description": "UID for this placement", - "type": "string" - } - } - }, - "vcenterServer": { - "description": "VcenterServer is the address of the vSphere endpoint", - "type": "string" - } - } + "state": { + "description": "The subscription state. Possible values are Enabled, Warned, PastDue, Disabled, and Deleted.", + "type": "string" }, - "status": { - "description": "cloud machine status", - "type": "object", - "properties": { - "health": { - "description": "Machine health state", - "type": "object", - "properties": { - "conditions": { - "type": "array", - "items": { - "description": "Machine health condition", - "type": "object", - "properties": { - "message": { - "type": "string" - }, - "reason": { - "type": "string" - }, - "status": { - "type": "string" - }, - "type": { - "type": "string" - } - } - } - }, - "lastHeartBeatTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "state": { - "type": "string" - } - } - }, - "instanceState": { - "type": "string", - "enum": [ - "Pending", - "Provisioning", - "Provisioned", - "Running", - "Deleting", - "Deleted", - "Failed", - "Unknown" - ] - }, - "maintenanceStatus": { - "description": "Machine maintenance status", - "type": "object", - "properties": { - "action": { - "type": "string" - }, - "message": { - "type": "string" - }, - "state": { - "type": "string" - } - } - } - } + "subscriptionId": { + "description": "The subscription ID", + "type": "string" } } } + } + } + } + } + } + } + }, + "/v1/clouds/azure/vhds/{vhd}/url": { + "get": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Returns the Azure vhd url for the specified vhd location", + "operationId": "V1AzureVhdUrl", + "parameters": [ + { + "type": "string", + "description": "vhd location for which Azure vhd url is requested", + "name": "vhd", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "description": "Azure vhd url entity", + "type": "object", + "properties": { + "name": { + "description": "The name of the resource", + "type": "string" }, - "listmeta": { - "description": "ListMeta describes metadata for the resource listing", - "type": "object", - "properties": { - "continue": { - "description": "Next token for the pagination. Next token is equal to empty string indicates end of result set.", - "type": "string", - "x-omitempty": false - }, - "count": { - "description": "Total count of the resources which might change during pagination based on the resources addition or deletion", - "type": "integer", - "x-omitempty": false - }, - "limit": { - "description": "Number of records feteched", - "type": "integer", - "x-omitempty": false - }, - "offset": { - "description": "The next offset for the pagination. Starting index for which next request will be placed.", - "type": "integer", - "x-omitempty": false + "url": { + "description": "The url of the Azure Vhd", + "type": "string" + } + } + } + } + } + } + }, + "/v1/clouds/cloudTypes": { + "get": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Returns the custom cloud types", + "operationId": "V1CustomCloudTypesGet", + "parameters": [ + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "description": "Custom cloudType content response", + "type": "object", + "properties": { + "cloudTypes": { + "description": "Array of custom cloud types", + "type": "array", + "items": { + "type": "object", + "properties": { + "cloudCategory": { + "description": "Cloud category description", + "type": "string", + "default": "cloud", + "enum": [ + "datacenter", + "cloud", + "edge" + ] + }, + "cloudFamily": { + "description": "Cloud grouping as family", + "type": "string" + }, + "displayName": { + "description": "Custom cloudtype displayName", + "type": "string" + }, + "isCustom": { + "description": "If it is a custom cloudtype", + "type": "boolean", + "x-omitempty": false + }, + "isManaged": { + "description": "If custom cloudtype is managed", + "type": "boolean", + "x-omitempty": false + }, + "isVertex": { + "description": "If cloud is support for Vertex env", + "type": "boolean", + "x-omitempty": false + }, + "logo": { + "description": "Custom cloudtype logo", + "type": "string" + }, + "name": { + "description": "Custom cloudtype name", + "type": "string" + } } } } @@ -49152,7 +46991,9 @@ } } } - }, + } + }, + "/v1/clouds/cloudTypes/register": { "post": { "security": [ { @@ -49165,382 +47006,66 @@ "tags": [ "v1" ], - "summary": "Adds the vSphere machine to cloud config's machine pool", - "operationId": "v1CloudConfigsVspherePoolMachinesAdd", + "summary": "Registers the custom cloud type", + "operationId": "V1CustomCloudTypeRegister", "parameters": [ { + "description": "Request payload to register custom cloud type", "name": "body", "in": "body", "schema": { - "description": "vSphere cloud VM definition", + "description": "Custom cloud request entity", "type": "object", "properties": { - "apiVersion": { - "description": "Deprecated. Not used for the resource info.", - "type": "string" - }, - "kind": { - "description": "Deprecated. Cloud type of the machine.", - "type": "string" - }, "metadata": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", + "description": "ObjectMeta input entity for object creation", "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, "name": { - "description": "Name of the resource.", - "type": "string" - }, - "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } }, "spec": { - "description": "vSphere cloud VM definition spec", - "type": "object", - "required": [ - "vcenterServer", - "nics", - "placement" - ], - "properties": { - "images": { - "type": "array", - "items": { - "description": "A generated Image should always be a template which resides inside vsphere Will not generate a OVA file out of the image OVA can be used as a base input of the os pack, that's internal to the pack", - "type": "object", - "properties": { - "fullPath": { - "description": "full path of the image template location it contains datacenter/folder/templatename etc eg: /mydc/vm/template/spectro/workerpool-1-centos", - "type": "string" - }, - "state": { - "type": "string" - } - } - } - }, - "instanceType": { - "type": "object", - "required": [ - "numCPUs", - "memoryMiB", - "diskGiB" - ], - "properties": { - "diskGiB": { - "description": "DiskGiB is the size of a virtual machine's disk, in GiB. Defaults to the analogue property value in the template from which this machine is cloned.", - "type": "integer", - "format": "int32" - }, - "memoryMiB": { - "description": "MemoryMiB is the size of a virtual machine's memory, in MiB. Defaults to the analogue property value in the template from which this machine is cloned.", - "type": "integer", - "format": "int64" - }, - "numCPUs": { - "description": "NumCPUs is the number of virtual processors in a virtual machine. Defaults to the analogue property value in the template from which this machine is cloned.", - "type": "integer", - "format": "int32" - } - } - }, - "nics": { - "type": "array", - "items": { - "description": "vSphere network interface", - "type": "object", - "required": [ - "networkName" - ], - "properties": { - "index": { - "type": "integer", - "format": "int8" - }, - "macAddress": { - "type": "string" - }, - "networkName": { - "type": "string" - }, - "privateIPs": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - }, - "ntpServers": { - "description": "NTPServers is a list of NTP servers to use instead of the machine image's default NTP server list.", - "type": "array", - "items": { - "type": "string" - } - }, - "placement": { - "description": "Both ClusterConfig and MachinePoolConfig will have PlacementConfig MachinePoolconfig.Placements will overwrite values defined in ClusterConfig Currently the convention is: Datacenter / Folder / ImageTemplateFolder / Network should be defined at ClusterConfig Cluster / ResourcePool / Datastore / Network is defined at MachinePool ClusterConfig Network should only indicate use DHCP or not MachinePool Network should contain the actual network and IPPool", - "type": "object", - "properties": { - "cluster": { - "description": "Cluster is the computecluster in vsphere", - "type": "string" - }, - "datacenter": { - "description": "Datacenter is the name or inventory path of the datacenter where this machine's VM is created/located.", - "type": "string" - }, - "datastore": { - "description": "Datastore is the datastore in which VMs are created/located.", - "type": "string" - }, - "folder": { - "description": "Folder is the folder in which VMs are created/located.", - "type": "string" - }, - "imageTemplateFolder": { - "description": "ImageTemplateFolder is the folder in which VMs templates are created/located. if empty will use default value spectro-templates", - "type": "string" - }, - "network": { - "type": "object", - "required": [ - "networkName" - ], - "properties": { - "ipPool": { - "description": "IPPool defines static IPs available. Gateway, Prefix, Nameserver, if defined, will be default values for all Pools", - "type": "object", - "properties": { - "gateway": { - "description": "Gateway is the gateway ip address", - "type": "string" - }, - "nameserver": { - "description": "Nameserver define search domains and nameserver addresses", - "type": "object", - "properties": { - "addresses": { - "type": "array", - "items": { - "type": "string" - } - }, - "search": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "pools": { - "description": "Pools contains the list of IP addresses pools", - "type": "array", - "items": { - "description": "Pool defines IP ranges or with CIDR for available IPs Gateway, Prefix and Nameserver if provided, will overwrite values in IPPool", - "type": "object", - "properties": { - "end": { - "description": "End is the last IP address that can be rendered. It is used as a validation that the rendered IP is in bound.", - "type": "string" - }, - "gateway": { - "description": "Gateway is the gateway ip address", - "type": "string" - }, - "nameserver": { - "description": "Nameserver define search domains and nameserver addresses", - "type": "object", - "properties": { - "addresses": { - "type": "array", - "items": { - "type": "string" - } - }, - "search": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "prefix": { - "description": "Prefix is the mask of the network as integer (max 128)", - "type": "integer", - "format": "int32" - }, - "start": { - "description": "Start is the first ip address that can be rendered", - "type": "string" - }, - "subnet": { - "description": "Subnet is used to validate that the rendered IP is in bounds. eg: 192.168.0.0/24 If Start value is not given, start value is derived from the subnet ip incremented by 1 (start value is `192.168.0.1` for subnet `192.168.0.0/24`)", - "type": "string" - } - } - } - }, - "prefix": { - "description": "Prefix is the mask of the network as integer (max 128)", - "type": "integer", - "format": "int32" - }, - "uid": { - "description": "UID is the UID of this IPPool, used by Hubble", - "type": "string" - } - } - }, - "networkName": { - "description": "NetworkName is the name of the network in which VMs are created/located.", - "type": "string" - }, - "parentPoolRef": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", - "type": "string" - } - } - }, - "staticIp": { - "description": "support dhcp or static IP, if false, use DHCP", - "type": "boolean" - } - } - }, - "resourcePool": { - "description": "ResourcePool is the resource pool within the above computecluster Cluster", - "type": "string" - }, - "storagePolicyName": { - "description": "StoragePolicyName of the storage policy to use with this Virtual Machine", - "type": "string" - }, - "uid": { - "description": "UID for this placement", - "type": "string" - } - } - }, - "vcenterServer": { - "description": "VcenterServer is the address of the vSphere endpoint", - "type": "string" - } - } - }, - "status": { - "description": "cloud machine status", + "description": "Custom cloud request entity spec", "type": "object", "properties": { - "health": { - "description": "Machine health state", - "type": "object", - "properties": { - "conditions": { - "type": "array", - "items": { - "description": "Machine health condition", - "type": "object", - "properties": { - "message": { - "type": "string" - }, - "reason": { - "type": "string" - }, - "status": { - "type": "string" - }, - "type": { - "type": "string" - } - } - } - }, - "lastHeartBeatTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "state": { - "type": "string" - } - } - }, - "instanceState": { + "cloudCategory": { + "description": "Cloud category description", "type": "string", + "default": "cloud", "enum": [ - "Pending", - "Provisioning", - "Provisioned", - "Running", - "Deleting", - "Deleted", - "Failed", - "Unknown" + "datacenter", + "cloud", + "edge" ] }, - "maintenanceStatus": { - "description": "Machine maintenance status", - "type": "object", - "properties": { - "action": { - "type": "string" - }, - "message": { - "type": "string" - }, - "state": { - "type": "string" - } - } + "displayName": { + "description": "Custom cloud displayName", + "type": "string" + }, + "isControlPlaneManaged": { + "description": "If the custom cloud is a managed cluster", + "type": "boolean" + }, + "logo": { + "description": "Custom cloud logo", + "type": "string" } } } @@ -49576,25 +47101,151 @@ } } } + } + }, + "/v1/clouds/cloudTypes/{cloudType}": { + "delete": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Deletes the custom cloud type", + "operationId": "V1CustomCloudTypesDelete", + "parameters": [ + { + "type": "string", + "description": "Unique cloud type", + "name": "cloudType", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + } + } + }, + "/v1/clouds/cloudTypes/{cloudType}/cloudAccountKeys": { + "get": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Returns valid keys for the cloud account used for custom cloud type", + "operationId": "V1CustomCloudTypeCloudAccountKeysGet", + "parameters": [ + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "description": "Custom cloudType custom cloud account keys", + "type": "object", + "properties": { + "keys": { + "description": "Array of custom cloud type cloud account keys", + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + }, + "put": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Update the custom cloud type cloud account keys", + "operationId": "V1CustomCloudTypeCloudAccountKeysUpdate", + "parameters": [ + { + "description": "Request payload for custom cloud meta entity", + "name": "body", + "in": "body", + "required": true, + "schema": { + "description": "Custom cloudType custom cloud account keys", + "type": "object", + "properties": { + "keys": { + "description": "Array of custom cloud type cloud account keys", + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "type": "string", + "description": "Audit uid for the request" + } + } + } + } }, "parameters": [ { "type": "string", - "description": "Cluster's cloud config uid", - "name": "configUid", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Machine pool name", - "name": "machinePoolName", + "description": "Unique cloud type", + "name": "cloudType", "in": "path", "required": true } ] }, - "/v1/cloudconfigs/vsphere/{configUid}/machinePools/{machinePoolName}/machines/{machineUid}": { + "/v1/clouds/cloudTypes/{cloudType}/content/bootstrap": { "get": { "security": [ { @@ -49607,8 +47258,8 @@ "tags": [ "v1" ], - "summary": "Returns the specified vSphere machine", - "operationId": "v1CloudConfigsVspherePoolMachinesUidGet", + "summary": "Returns the custom cloud type bootstrap", + "operationId": "V1CustomCloudTypeBootstrapGet", "parameters": [ { "type": "string", @@ -49619,379 +47270,14 @@ ], "responses": { "200": { - "description": "OK", + "description": "(empty)", "schema": { - "description": "vSphere cloud VM definition", + "description": "Custom cloudType content response", "type": "object", "properties": { - "apiVersion": { - "description": "Deprecated. Not used for the resource info.", - "type": "string" - }, - "kind": { - "description": "Deprecated. Cloud type of the machine.", + "yaml": { + "description": "custom cloud type content", "type": "string" - }, - "metadata": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", - "type": "object", - "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "name": { - "description": "Name of the resource.", - "type": "string" - }, - "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", - "type": "string" - } - } - }, - "spec": { - "description": "vSphere cloud VM definition spec", - "type": "object", - "required": [ - "vcenterServer", - "nics", - "placement" - ], - "properties": { - "images": { - "type": "array", - "items": { - "description": "A generated Image should always be a template which resides inside vsphere Will not generate a OVA file out of the image OVA can be used as a base input of the os pack, that's internal to the pack", - "type": "object", - "properties": { - "fullPath": { - "description": "full path of the image template location it contains datacenter/folder/templatename etc eg: /mydc/vm/template/spectro/workerpool-1-centos", - "type": "string" - }, - "state": { - "type": "string" - } - } - } - }, - "instanceType": { - "type": "object", - "required": [ - "numCPUs", - "memoryMiB", - "diskGiB" - ], - "properties": { - "diskGiB": { - "description": "DiskGiB is the size of a virtual machine's disk, in GiB. Defaults to the analogue property value in the template from which this machine is cloned.", - "type": "integer", - "format": "int32" - }, - "memoryMiB": { - "description": "MemoryMiB is the size of a virtual machine's memory, in MiB. Defaults to the analogue property value in the template from which this machine is cloned.", - "type": "integer", - "format": "int64" - }, - "numCPUs": { - "description": "NumCPUs is the number of virtual processors in a virtual machine. Defaults to the analogue property value in the template from which this machine is cloned.", - "type": "integer", - "format": "int32" - } - } - }, - "nics": { - "type": "array", - "items": { - "description": "vSphere network interface", - "type": "object", - "required": [ - "networkName" - ], - "properties": { - "index": { - "type": "integer", - "format": "int8" - }, - "macAddress": { - "type": "string" - }, - "networkName": { - "type": "string" - }, - "privateIPs": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - }, - "ntpServers": { - "description": "NTPServers is a list of NTP servers to use instead of the machine image's default NTP server list.", - "type": "array", - "items": { - "type": "string" - } - }, - "placement": { - "description": "Both ClusterConfig and MachinePoolConfig will have PlacementConfig MachinePoolconfig.Placements will overwrite values defined in ClusterConfig Currently the convention is: Datacenter / Folder / ImageTemplateFolder / Network should be defined at ClusterConfig Cluster / ResourcePool / Datastore / Network is defined at MachinePool ClusterConfig Network should only indicate use DHCP or not MachinePool Network should contain the actual network and IPPool", - "type": "object", - "properties": { - "cluster": { - "description": "Cluster is the computecluster in vsphere", - "type": "string" - }, - "datacenter": { - "description": "Datacenter is the name or inventory path of the datacenter where this machine's VM is created/located.", - "type": "string" - }, - "datastore": { - "description": "Datastore is the datastore in which VMs are created/located.", - "type": "string" - }, - "folder": { - "description": "Folder is the folder in which VMs are created/located.", - "type": "string" - }, - "imageTemplateFolder": { - "description": "ImageTemplateFolder is the folder in which VMs templates are created/located. if empty will use default value spectro-templates", - "type": "string" - }, - "network": { - "type": "object", - "required": [ - "networkName" - ], - "properties": { - "ipPool": { - "description": "IPPool defines static IPs available. Gateway, Prefix, Nameserver, if defined, will be default values for all Pools", - "type": "object", - "properties": { - "gateway": { - "description": "Gateway is the gateway ip address", - "type": "string" - }, - "nameserver": { - "description": "Nameserver define search domains and nameserver addresses", - "type": "object", - "properties": { - "addresses": { - "type": "array", - "items": { - "type": "string" - } - }, - "search": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "pools": { - "description": "Pools contains the list of IP addresses pools", - "type": "array", - "items": { - "description": "Pool defines IP ranges or with CIDR for available IPs Gateway, Prefix and Nameserver if provided, will overwrite values in IPPool", - "type": "object", - "properties": { - "end": { - "description": "End is the last IP address that can be rendered. It is used as a validation that the rendered IP is in bound.", - "type": "string" - }, - "gateway": { - "description": "Gateway is the gateway ip address", - "type": "string" - }, - "nameserver": { - "description": "Nameserver define search domains and nameserver addresses", - "type": "object", - "properties": { - "addresses": { - "type": "array", - "items": { - "type": "string" - } - }, - "search": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "prefix": { - "description": "Prefix is the mask of the network as integer (max 128)", - "type": "integer", - "format": "int32" - }, - "start": { - "description": "Start is the first ip address that can be rendered", - "type": "string" - }, - "subnet": { - "description": "Subnet is used to validate that the rendered IP is in bounds. eg: 192.168.0.0/24 If Start value is not given, start value is derived from the subnet ip incremented by 1 (start value is `192.168.0.1` for subnet `192.168.0.0/24`)", - "type": "string" - } - } - } - }, - "prefix": { - "description": "Prefix is the mask of the network as integer (max 128)", - "type": "integer", - "format": "int32" - }, - "uid": { - "description": "UID is the UID of this IPPool, used by Hubble", - "type": "string" - } - } - }, - "networkName": { - "description": "NetworkName is the name of the network in which VMs are created/located.", - "type": "string" - }, - "parentPoolRef": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", - "type": "string" - } - } - }, - "staticIp": { - "description": "support dhcp or static IP, if false, use DHCP", - "type": "boolean" - } - } - }, - "resourcePool": { - "description": "ResourcePool is the resource pool within the above computecluster Cluster", - "type": "string" - }, - "storagePolicyName": { - "description": "StoragePolicyName of the storage policy to use with this Virtual Machine", - "type": "string" - }, - "uid": { - "description": "UID for this placement", - "type": "string" - } - } - }, - "vcenterServer": { - "description": "VcenterServer is the address of the vSphere endpoint", - "type": "string" - } - } - }, - "status": { - "description": "cloud machine status", - "type": "object", - "properties": { - "health": { - "description": "Machine health state", - "type": "object", - "properties": { - "conditions": { - "type": "array", - "items": { - "description": "Machine health condition", - "type": "object", - "properties": { - "message": { - "type": "string" - }, - "reason": { - "type": "string" - }, - "status": { - "type": "string" - }, - "type": { - "type": "string" - } - } - } - }, - "lastHeartBeatTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "state": { - "type": "string" - } - } - }, - "instanceState": { - "type": "string", - "enum": [ - "Pending", - "Provisioning", - "Provisioned", - "Running", - "Deleting", - "Deleted", - "Failed", - "Unknown" - ] - }, - "maintenanceStatus": { - "description": "Machine maintenance status", - "type": "object", - "properties": { - "action": { - "type": "string" - }, - "message": { - "type": "string" - }, - "state": { - "type": "string" - } - } - } - } } } } @@ -50007,390 +47293,19 @@ "Authorization": [] } ], + "consumes": [ + "multipart/form-data" + ], "tags": [ "v1" ], - "summary": "Updates the specified machine to cloud config's machine pool", - "operationId": "v1CloudConfigsVspherePoolMachinesUidUpdate", + "summary": "Update the custom cloud type bootstrap", + "operationId": "V1CustomCloudTypeBootstrapUpdate", "parameters": [ { - "name": "body", - "in": "body", - "schema": { - "description": "vSphere cloud VM definition", - "type": "object", - "properties": { - "apiVersion": { - "description": "Deprecated. Not used for the resource info.", - "type": "string" - }, - "kind": { - "description": "Deprecated. Cloud type of the machine.", - "type": "string" - }, - "metadata": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", - "type": "object", - "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "name": { - "description": "Name of the resource.", - "type": "string" - }, - "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", - "type": "string" - } - } - }, - "spec": { - "description": "vSphere cloud VM definition spec", - "type": "object", - "required": [ - "vcenterServer", - "nics", - "placement" - ], - "properties": { - "images": { - "type": "array", - "items": { - "description": "A generated Image should always be a template which resides inside vsphere Will not generate a OVA file out of the image OVA can be used as a base input of the os pack, that's internal to the pack", - "type": "object", - "properties": { - "fullPath": { - "description": "full path of the image template location it contains datacenter/folder/templatename etc eg: /mydc/vm/template/spectro/workerpool-1-centos", - "type": "string" - }, - "state": { - "type": "string" - } - } - } - }, - "instanceType": { - "type": "object", - "required": [ - "numCPUs", - "memoryMiB", - "diskGiB" - ], - "properties": { - "diskGiB": { - "description": "DiskGiB is the size of a virtual machine's disk, in GiB. Defaults to the analogue property value in the template from which this machine is cloned.", - "type": "integer", - "format": "int32" - }, - "memoryMiB": { - "description": "MemoryMiB is the size of a virtual machine's memory, in MiB. Defaults to the analogue property value in the template from which this machine is cloned.", - "type": "integer", - "format": "int64" - }, - "numCPUs": { - "description": "NumCPUs is the number of virtual processors in a virtual machine. Defaults to the analogue property value in the template from which this machine is cloned.", - "type": "integer", - "format": "int32" - } - } - }, - "nics": { - "type": "array", - "items": { - "description": "vSphere network interface", - "type": "object", - "required": [ - "networkName" - ], - "properties": { - "index": { - "type": "integer", - "format": "int8" - }, - "macAddress": { - "type": "string" - }, - "networkName": { - "type": "string" - }, - "privateIPs": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - }, - "ntpServers": { - "description": "NTPServers is a list of NTP servers to use instead of the machine image's default NTP server list.", - "type": "array", - "items": { - "type": "string" - } - }, - "placement": { - "description": "Both ClusterConfig and MachinePoolConfig will have PlacementConfig MachinePoolconfig.Placements will overwrite values defined in ClusterConfig Currently the convention is: Datacenter / Folder / ImageTemplateFolder / Network should be defined at ClusterConfig Cluster / ResourcePool / Datastore / Network is defined at MachinePool ClusterConfig Network should only indicate use DHCP or not MachinePool Network should contain the actual network and IPPool", - "type": "object", - "properties": { - "cluster": { - "description": "Cluster is the computecluster in vsphere", - "type": "string" - }, - "datacenter": { - "description": "Datacenter is the name or inventory path of the datacenter where this machine's VM is created/located.", - "type": "string" - }, - "datastore": { - "description": "Datastore is the datastore in which VMs are created/located.", - "type": "string" - }, - "folder": { - "description": "Folder is the folder in which VMs are created/located.", - "type": "string" - }, - "imageTemplateFolder": { - "description": "ImageTemplateFolder is the folder in which VMs templates are created/located. if empty will use default value spectro-templates", - "type": "string" - }, - "network": { - "type": "object", - "required": [ - "networkName" - ], - "properties": { - "ipPool": { - "description": "IPPool defines static IPs available. Gateway, Prefix, Nameserver, if defined, will be default values for all Pools", - "type": "object", - "properties": { - "gateway": { - "description": "Gateway is the gateway ip address", - "type": "string" - }, - "nameserver": { - "description": "Nameserver define search domains and nameserver addresses", - "type": "object", - "properties": { - "addresses": { - "type": "array", - "items": { - "type": "string" - } - }, - "search": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "pools": { - "description": "Pools contains the list of IP addresses pools", - "type": "array", - "items": { - "description": "Pool defines IP ranges or with CIDR for available IPs Gateway, Prefix and Nameserver if provided, will overwrite values in IPPool", - "type": "object", - "properties": { - "end": { - "description": "End is the last IP address that can be rendered. It is used as a validation that the rendered IP is in bound.", - "type": "string" - }, - "gateway": { - "description": "Gateway is the gateway ip address", - "type": "string" - }, - "nameserver": { - "description": "Nameserver define search domains and nameserver addresses", - "type": "object", - "properties": { - "addresses": { - "type": "array", - "items": { - "type": "string" - } - }, - "search": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "prefix": { - "description": "Prefix is the mask of the network as integer (max 128)", - "type": "integer", - "format": "int32" - }, - "start": { - "description": "Start is the first ip address that can be rendered", - "type": "string" - }, - "subnet": { - "description": "Subnet is used to validate that the rendered IP is in bounds. eg: 192.168.0.0/24 If Start value is not given, start value is derived from the subnet ip incremented by 1 (start value is `192.168.0.1` for subnet `192.168.0.0/24`)", - "type": "string" - } - } - } - }, - "prefix": { - "description": "Prefix is the mask of the network as integer (max 128)", - "type": "integer", - "format": "int32" - }, - "uid": { - "description": "UID is the UID of this IPPool, used by Hubble", - "type": "string" - } - } - }, - "networkName": { - "description": "NetworkName is the name of the network in which VMs are created/located.", - "type": "string" - }, - "parentPoolRef": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", - "type": "string" - } - } - }, - "staticIp": { - "description": "support dhcp or static IP, if false, use DHCP", - "type": "boolean" - } - } - }, - "resourcePool": { - "description": "ResourcePool is the resource pool within the above computecluster Cluster", - "type": "string" - }, - "storagePolicyName": { - "description": "StoragePolicyName of the storage policy to use with this Virtual Machine", - "type": "string" - }, - "uid": { - "description": "UID for this placement", - "type": "string" - } - } - }, - "vcenterServer": { - "description": "VcenterServer is the address of the vSphere endpoint", - "type": "string" - } - } - }, - "status": { - "description": "cloud machine status", - "type": "object", - "properties": { - "health": { - "description": "Machine health state", - "type": "object", - "properties": { - "conditions": { - "type": "array", - "items": { - "description": "Machine health condition", - "type": "object", - "properties": { - "message": { - "type": "string" - }, - "reason": { - "type": "string" - }, - "status": { - "type": "string" - }, - "type": { - "type": "string" - } - } - } - }, - "lastHeartBeatTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "state": { - "type": "string" - } - } - }, - "instanceState": { - "type": "string", - "enum": [ - "Pending", - "Provisioning", - "Provisioned", - "Running", - "Deleting", - "Deleted", - "Failed", - "Unknown" - ] - }, - "maintenanceStatus": { - "description": "Machine maintenance status", - "type": "object", - "properties": { - "action": { - "type": "string" - }, - "message": { - "type": "string" - }, - "state": { - "type": "string" - } - } - } - } - } - } - } + "type": "file", + "name": "fileName", + "in": "formData" }, { "type": "string", @@ -50401,7 +47316,13 @@ ], "responses": { "204": { - "description": "The resource was updated successfully" + "description": "Ok response without content", + "headers": { + "AuditUid": { + "type": "string", + "description": "Audit uid for the request" + } + } } } }, @@ -50417,8 +47338,8 @@ "tags": [ "v1" ], - "summary": "Deletes the specified vSphere machine", - "operationId": "v1CloudConfigsVspherePoolMachinesUidDelete", + "summary": "Delete the custom cloud type bootstrap", + "operationId": "V1CustomCloudTypeBootstrapDelete", "parameters": [ { "type": "string", @@ -50436,29 +47357,15 @@ "parameters": [ { "type": "string", - "description": "Cluster's cloud config uid", - "name": "configUid", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Machine pool name", - "name": "machinePoolName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Machine uid", - "name": "machineUid", + "description": "Unique cloud type", + "name": "cloudType", "in": "path", "required": true } ] }, - "/v1/cloudconfigs/{cloudType}/{configUid}/machinePools/{machinePoolName}/machines/{machineUid}/maintenance": { - "put": { + "/v1/clouds/cloudTypes/{cloudType}/content/cloudProvider": { + "get": { "security": [ { "ApiKey": [] @@ -50470,25 +47377,54 @@ "tags": [ "v1" ], - "summary": "Updates the specified machine maintenance", - "operationId": "v1CloudConfigsMachinePoolsMachineUidMaintenanceUpdate", + "summary": "Returns the custom cloud type cloud provider", + "operationId": "V1CustomCloudTypeCloudProviderGet", "parameters": [ { - "name": "body", - "in": "body", + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "200": { + "description": "(empty)", "schema": { + "description": "Custom cloudType content response", "type": "object", "properties": { - "action": { - "description": "Machine maintenance mode action", - "type": "string", - "enum": [ - "cordon", - "uncordon" - ] + "yaml": { + "description": "custom cloud type content", + "type": "string" } } } + } + } + }, + "put": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "consumes": [ + "multipart/form-data" + ], + "tags": [ + "v1" + ], + "summary": "Update the custom cloud type cloud provider", + "operationId": "V1CustomCloudTypeCloudProviderUpdate", + "parameters": [ + { + "type": "file", + "name": "fileName", + "in": "formData" }, { "type": "string", @@ -50499,43 +47435,17 @@ ], "responses": { "204": { - "description": "The resource was updated successfully" + "description": "Ok response without content", + "headers": { + "AuditUid": { + "type": "string", + "description": "Audit uid for the request" + } + } } } }, - "parameters": [ - { - "type": "string", - "description": "Cluster's cloud config uid", - "name": "configUid", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Machine pool name", - "name": "machinePoolName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Machine uid", - "name": "machineUid", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Cloud type", - "name": "cloudType", - "in": "path", - "required": true - } - ] - }, - "/v1/cloudconfigs/{cloudType}/{configUid}/machinePools/{machinePoolName}/machines/{machineUid}/maintenance/status": { - "put": { + "delete": { "security": [ { "ApiKey": [] @@ -50547,28 +47457,9 @@ "tags": [ "v1" ], - "summary": "Updates the specified machine maintenance", - "operationId": "v1CloudConfigsMachinePoolsMachineUidMaintenanceStatusUpdate", + "summary": "Delete the custom cloud type cloud provider", + "operationId": "V1CustomCloudTypeCloudProviderDelete", "parameters": [ - { - "name": "body", - "in": "body", - "schema": { - "description": "Machine maintenance status", - "type": "object", - "properties": { - "action": { - "type": "string" - }, - "message": { - "type": "string" - }, - "state": { - "type": "string" - } - } - } - }, { "type": "string", "description": "Scope the request to the specified project uid", @@ -50578,42 +47469,21 @@ ], "responses": { "204": { - "description": "The resource was updated successfully" + "description": "The resource was deleted successfully" } } }, "parameters": [ { "type": "string", - "description": "Cluster's cloud config uid", - "name": "configUid", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Machine pool name", - "name": "machinePoolName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Machine uid", - "name": "machineUid", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Cloud type", + "description": "Unique cloud type", "name": "cloudType", "in": "path", "required": true } ] }, - "/v1/cloudconfigs/{configUid}/machinePools/machineUids": { + "/v1/clouds/cloudTypes/{cloudType}/content/controlPlane": { "get": { "security": [ { @@ -50626,8 +47496,8 @@ "tags": [ "v1" ], - "summary": "Returns the specified cloud config's machine pools and machine uid", - "operationId": "v1CloudConfigsMachinePoolsMachineUidsGet", + "summary": "Returns the custom cloud type control plane", + "operationId": "V1CustomCloudTypeControlPlaneGet", "parameters": [ { "type": "string", @@ -50638,39 +47508,21 @@ ], "responses": { "200": { - "description": "OK", + "description": "(empty)", "schema": { + "description": "Custom cloudType content response", + "type": "object", "properties": { - "machinePools": { - "type": "object", - "additionalProperties": { - "properties": { - "machineUids": { - "type": "array", - "items": { - "type": "string" - } - } - } - } + "yaml": { + "description": "custom cloud type content", + "type": "string" } } } } } }, - "parameters": [ - { - "type": "string", - "description": "Cluster's cloud config uid", - "name": "configUid", - "in": "path", - "required": true - } - ] - }, - "/v1/clouds/aws/account/sts": { - "get": { + "put": { "security": [ { "ApiKey": [] @@ -50679,22 +47531,19 @@ "Authorization": [] } ], + "consumes": [ + "multipart/form-data" + ], "tags": [ "v1" ], - "summary": "Retrieves AWS external id and account id", - "operationId": "V1AwsAccountStsGet", + "summary": "Update the custom cloud type control plane", + "operationId": "V1CustomCloudTypeControlPlaneUpdate", "parameters": [ { - "enum": [ - "aws", - "aws-us-gov" - ], - "type": "string", - "default": "aws", - "description": "AWS accounts are scoped to a single partition. Allowed values [aws, aws-us-gov], Default values", - "name": "partition", - "in": "query" + "type": "file", + "name": "fileName", + "in": "formData" }, { "type": "string", @@ -50704,37 +47553,18 @@ } ], "responses": { - "200": { - "description": "(empty)", - "schema": { - "description": "AWS cloud account sts", - "type": "object", - "properties": { - "accountId": { - "description": "A 12-digit number, such as 123456789012, that uniquely identifies an AWS account", - "type": "string" - }, - "externalId": { - "description": "It can be passed to the AssumeRole API of the STS. It can be used in the condition element in a role's trust policy, allowing the role to be assumed only when a certain value is present in the external ID", - "type": "string" - }, - "partition": { - "description": "AWS accounts are scoped to a single partition. Allowed values [aws, aws-us-gov], Default values", - "type": "string", - "default": "aws", - "enum": [ - "aws", - "aws-us-gov" - ] - } + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "type": "string", + "description": "Audit uid for the request" } } } } - } - }, - "/v1/clouds/aws/account/validate": { - "post": { + }, + "delete": { "security": [ { "ApiKey": [] @@ -50746,67 +47576,93 @@ "tags": [ "v1" ], - "summary": "Validate the specified AWS account credentials", - "operationId": "V1AwsAccountValidate", + "summary": "Delete the custom cloud type control plane", + "operationId": "V1CustomCloudTypeControlPlaneDelete", "parameters": [ { - "description": "Request payload to validate AWS cloud account", - "name": "awsCloudAccount", - "in": "body", - "required": true, - "schema": { - "description": "AWS cloud account which includes access key and secret key in case of 'secret' credentials type. It includes policyARNS, ARN and externalId in case of sts. Partition is a group of AWS Region and Service objects", - "type": "object", - "properties": { - "accessKey": { - "description": "AWS account access key", - "type": "string" - }, - "credentialType": { - "description": "Allowed Values [secret, sts]. STS type will be used for role assumption for sts type, accessKey/secretKey contains the source account, Arn is the target account.", - "type": "string", - "default": "secret", - "enum": [ - "secret", - "sts" - ] - }, - "partition": { - "description": "AWS accounts are scoped to a single partition. Allowed values [aws, aws-us-gov], Default values", - "type": "string", - "default": "aws", - "enum": [ - "aws", - "aws-us-gov" - ] - }, - "policyARNs": { - "description": "List of policy ARNs required in case of credentialType sts.", - "type": "array", - "items": { - "type": "string" - } - }, - "secretKey": { - "description": "AWS account secret key", + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + } + }, + "parameters": [ + { + "type": "string", + "description": "Unique cloud type", + "name": "cloudType", + "in": "path", + "required": true + } + ] + }, + "/v1/clouds/cloudTypes/{cloudType}/content/templates/clusterTemplate": { + "get": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Returns the custom cloud type cluster template", + "operationId": "V1CustomCloudTypeClusterTemplateGet", + "parameters": [ + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "description": "Custom cloudType content response", + "type": "object", + "properties": { + "yaml": { + "description": "custom cloud type content", "type": "string" - }, - "sts": { - "description": "Aws sts credentials", - "type": "object", - "properties": { - "arn": { - "description": "Arn for the aws sts credentials in cloud account", - "type": "string" - }, - "externalId": { - "description": "ExternalId for the aws sts credentials in cloud account", - "type": "string" - } - } } } } + } + } + }, + "put": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "consumes": [ + "multipart/form-data" + ], + "tags": [ + "v1" + ], + "summary": "Update the custom cloud type cluster template", + "operationId": "V1CustomCloudTypeClusterTemplateUpdate", + "parameters": [ + { + "type": "file", + "name": "fileName", + "in": "formData" }, { "type": "string", @@ -50826,10 +47682,47 @@ } } } - } + }, + "delete": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Delete the custom cloud type cluster template", + "operationId": "V1CustomCloudTypeClusterTemplateDelete", + "parameters": [ + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + } + }, + "parameters": [ + { + "type": "string", + "description": "Unique cloud type", + "name": "cloudType", + "in": "path", + "required": true + } + ] }, - "/v1/clouds/aws/cloudwatch/validate": { - "post": { + "/v1/clouds/cloudTypes/{cloudType}/content/templates/controlPlanePoolTemplate": { + "get": { "security": [ { "ApiKey": [] @@ -50838,89 +47731,57 @@ "Authorization": [] } ], - "description": "Validates aws cloud watch credentials", "tags": [ "v1" ], - "summary": "validates aws cloud watch credentials", - "operationId": "V1CloudsAwsCloudWatchValidate", + "summary": "Returns the custom cloud type controlPlane pool template", + "operationId": "V1CustomCloudTypeControlPlanePoolTemplateGet", "parameters": [ { - "description": "Request payload for cloud watch config", - "name": "cloudWatchConfig", - "in": "body", - "required": true, + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "200": { + "description": "(empty)", "schema": { - "description": "Cloud watch config entity", + "description": "Custom cloudType content response", "type": "object", "properties": { - "credentials": { - "description": "AWS cloud account which includes access key and secret key in case of 'secret' credentials type. It includes policyARNS, ARN and externalId in case of sts. Partition is a group of AWS Region and Service objects", - "type": "object", - "properties": { - "accessKey": { - "description": "AWS account access key", - "type": "string" - }, - "credentialType": { - "description": "Allowed Values [secret, sts]. STS type will be used for role assumption for sts type, accessKey/secretKey contains the source account, Arn is the target account.", - "type": "string", - "default": "secret", - "enum": [ - "secret", - "sts" - ] - }, - "partition": { - "description": "AWS accounts are scoped to a single partition. Allowed values [aws, aws-us-gov], Default values", - "type": "string", - "default": "aws", - "enum": [ - "aws", - "aws-us-gov" - ] - }, - "policyARNs": { - "description": "List of policy ARNs required in case of credentialType sts.", - "type": "array", - "items": { - "type": "string" - } - }, - "secretKey": { - "description": "AWS account secret key", - "type": "string" - }, - "sts": { - "description": "Aws sts credentials", - "type": "object", - "properties": { - "arn": { - "description": "Arn for the aws sts credentials in cloud account", - "type": "string" - }, - "externalId": { - "description": "ExternalId for the aws sts credentials in cloud account", - "type": "string" - } - } - } - } - }, - "group": { - "description": "Name of the group", - "type": "string" - }, - "region": { - "description": "Name of the region", - "type": "string" - }, - "stream": { - "description": "Name of the stream", + "yaml": { + "description": "custom cloud type content", "type": "string" } } } + } + } + }, + "put": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "consumes": [ + "multipart/form-data" + ], + "tags": [ + "v1" + ], + "summary": "Update the custom cloud type controlPlane pool template", + "operationId": "V1CustomCloudTypeControlPlanePoolTemplateUpdate", + "parameters": [ + { + "type": "file", + "name": "fileName", + "in": "formData" }, { "type": "string", @@ -50940,10 +47801,8 @@ } } } - } - }, - "/v1/clouds/aws/cost": { - "post": { + }, + "delete": { "security": [ { "ApiKey": [] @@ -50955,104 +47814,48 @@ "tags": [ "v1" ], - "summary": "Retrieves AWS cloud account usage cost from cost explorer.", - "operationId": "v1AwsCloudCost", + "summary": "Delete the custom cloud type controlPlane pool template", + "operationId": "V1CustomCloudTypeControlPlanePoolTemplateDelete", "parameters": [ { - "description": "Request payload for AWS cloud cost", - "name": "body", - "in": "body", - "required": true, - "schema": { - "description": "Aws cloud account usage cost payload spec", - "type": "object", - "required": [ - "credentials" - ], - "properties": { - "accountId": { - "description": "AccountId of AWS cloud cost", - "type": "string" - }, - "credentials": { - "description": "AWS cloud account which includes access key and secret key in case of 'secret' credentials type. It includes policyARNS, ARN and externalId in case of sts. Partition is a group of AWS Region and Service objects", - "type": "object", - "properties": { - "accessKey": { - "description": "AWS account access key", - "type": "string" - }, - "credentialType": { - "description": "Allowed Values [secret, sts]. STS type will be used for role assumption for sts type, accessKey/secretKey contains the source account, Arn is the target account.", - "type": "string", - "default": "secret", - "enum": [ - "secret", - "sts" - ] - }, - "partition": { - "description": "AWS accounts are scoped to a single partition. Allowed values [aws, aws-us-gov], Default values", - "type": "string", - "default": "aws", - "enum": [ - "aws", - "aws-us-gov" - ] - }, - "policyARNs": { - "description": "List of policy ARNs required in case of credentialType sts.", - "type": "array", - "items": { - "type": "string" - } - }, - "secretKey": { - "description": "AWS account secret key", - "type": "string" - }, - "sts": { - "description": "Aws sts credentials", - "type": "object", - "properties": { - "arn": { - "description": "Arn for the aws sts credentials in cloud account", - "type": "string" - }, - "externalId": { - "description": "ExternalId for the aws sts credentials in cloud account", - "type": "string" - } - } - } - } - }, - "filter": { - "description": "Aws cloud account usage cost payload filter. startTime and endTime should be within 12 months range from now.", - "type": "object", - "required": [ - "startTime" - ], - "properties": { - "endTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "iamUserId": { - "description": "IAM UserId of AWS account", - "type": "string" - }, - "startTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - } - } - } - } - } + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + } + }, + "parameters": [ + { + "type": "string", + "description": "Unique cloud type", + "name": "cloudType", + "in": "path", + "required": true + } + ] + }, + "/v1/clouds/cloudTypes/{cloudType}/content/templates/workerPoolTemplate": { + "get": { + "security": [ + { + "ApiKey": [] }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Returns the custom cloud type worker pool template", + "operationId": "V1CustomCloudTypeWorkerPoolTemplateGet", + "parameters": [ { "type": "string", "description": "Scope the request to the specified project uid", @@ -51064,48 +47867,19 @@ "200": { "description": "(empty)", "schema": { - "description": "AWS cloud account usage cost summary response data", + "description": "Custom cloudType content response", "type": "object", "properties": { - "cost": { - "description": "AWS cloud account usage cost summary of monthlyCosts and totalCost", - "type": "object", - "properties": { - "monthlyCosts": { - "description": "Monthly cost of AWS cost", - "type": "array", - "items": { - "type": "object", - "properties": { - "amount": { - "description": "Amount for aws cloud cost", - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "timestamp": { - "description": "Time duration for aws cloud cost", - "type": "integer" - } - } - } - }, - "total": { - "description": "Total cost of AWS cost", - "type": "number", - "format": "float64", - "x-omitempty": false - } - } + "yaml": { + "description": "custom cloud type content", + "type": "string" } } } } } - } - }, - "/v1/clouds/aws/imageIds/{imageId}/volumeSize": { - "get": { + }, + "put": { "security": [ { "ApiKey": [] @@ -51114,34 +47888,96 @@ "Authorization": [] } ], - "description": "Get AWS Volume Size", + "consumes": [ + "multipart/form-data" + ], "tags": [ "v1" ], - "summary": "Get AWS Volume Size", - "operationId": "V1AwsVolumeSizeGet", + "summary": "Update the custom cloud type worker pool template", + "operationId": "V1CustomCloudTypeWorkerPoolTemplateUpdate", "parameters": [ { - "type": "string", - "description": "Specific AWS Region", - "name": "region", - "in": "query", - "required": true + "type": "file", + "name": "fileName", + "in": "formData" }, { "type": "string", - "description": "Uid for the specific AWS cloud account", - "name": "cloudAccountUid", - "in": "query", - "required": true + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "type": "string", + "description": "Audit uid for the request" + } + } + } + } + }, + "delete": { + "security": [ + { + "ApiKey": [] }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Delete the custom cloud type worker pool template", + "operationId": "V1CustomCloudTypeWorkerPoolTemplateDelete", + "parameters": [ { "type": "string", - "description": "AWS image id", - "name": "imageId", - "in": "path", - "required": true + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + } + }, + "parameters": [ + { + "type": "string", + "description": "Unique cloud type", + "name": "cloudType", + "in": "path", + "required": true + } + ] + }, + "/v1/clouds/cloudTypes/{cloudType}/logo": { + "get": { + "security": [ + { + "ApiKey": [] }, + { + "Authorization": [] + } + ], + "produces": [ + "application/octet-stream" + ], + "tags": [ + "v1" + ], + "summary": "Returns the custom cloud type logo", + "operationId": "V1CustomCloudTypeLogoGet", + "parameters": [ { "type": "string", "description": "Scope the request to the specified project uid", @@ -51151,23 +47987,20 @@ ], "responses": { "200": { - "description": "(empty)", + "description": "Download the logo", "schema": { - "description": "AWS Volume Size entity", - "type": "object", - "properties": { - "sizeGB": { - "description": "AWS volume size", - "type": "integer" - } + "type": "string", + "format": "binary" + }, + "headers": { + "Content-Disposition": { + "type": "string" } } } } - } - }, - "/v1/clouds/aws/policies": { - "post": { + }, + "put": { "security": [ { "ApiKey": [] @@ -51176,77 +48009,65 @@ "Authorization": [] } ], + "consumes": [ + "multipart/form-data" + ], "tags": [ "v1" ], - "summary": "Retrieves a list of AWS policies for the specified account", - "operationId": "V1AwsIamPolicies", + "summary": "Update the custom cloud type logo", + "operationId": "V1CustomCloudTypeLogoUpdate", "parameters": [ { - "description": "Request payload for AWS Cloud Account", - "name": "account", - "in": "body", - "required": true, - "schema": { - "description": "AWS cloud account which includes access key and secret key in case of 'secret' credentials type. It includes policyARNS, ARN and externalId in case of sts. Partition is a group of AWS Region and Service objects", - "type": "object", - "properties": { - "accessKey": { - "description": "AWS account access key", - "type": "string" - }, - "credentialType": { - "description": "Allowed Values [secret, sts]. STS type will be used for role assumption for sts type, accessKey/secretKey contains the source account, Arn is the target account.", - "type": "string", - "default": "secret", - "enum": [ - "secret", - "sts" - ] - }, - "partition": { - "description": "AWS accounts are scoped to a single partition. Allowed values [aws, aws-us-gov], Default values", - "type": "string", - "default": "aws", - "enum": [ - "aws", - "aws-us-gov" - ] - }, - "policyARNs": { - "description": "List of policy ARNs required in case of credentialType sts.", - "type": "array", - "items": { - "type": "string" - } - }, - "secretKey": { - "description": "AWS account secret key", - "type": "string" - }, - "sts": { - "description": "Aws sts credentials", - "type": "object", - "properties": { - "arn": { - "description": "Arn for the aws sts credentials in cloud account", - "type": "string" - }, - "externalId": { - "description": "ExternalId for the aws sts credentials in cloud account", - "type": "string" - } - } - } - } - } + "type": "file", + "name": "fileName", + "in": "formData" }, { "type": "string", - "description": "Uid for the specific AWS cloud account", - "name": "cloudAccountUid", - "in": "query" + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "type": "string", + "description": "Audit uid for the request" + } + } + } + } + }, + "parameters": [ + { + "type": "string", + "description": "Unique cloud type", + "name": "cloudType", + "in": "path", + "required": true + } + ] + }, + "/v1/clouds/cloudTypes/{cloudType}/meta": { + "get": { + "security": [ + { + "ApiKey": [] }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Returns the custom cloud type meta", + "operationId": "V1CustomCloudTypeMetaGet", + "parameters": [ { "type": "string", "description": "Scope the request to the specified project uid", @@ -51258,26 +48079,77 @@ "200": { "description": "(empty)", "schema": { + "description": "Custom cloud meta entity", "type": "object", - "required": [ - "policies" - ], "properties": { - "policies": { - "type": "array", - "items": { - "description": "Aws policy", - "type": "object", - "properties": { - "arn": { - "type": "string" - }, - "policyId": { + "metadata": { + "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", + "type": "object", + "properties": { + "annotations": { + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", + "type": "object", + "additionalProperties": { "type": "string" - }, - "policyName": { + } + }, + "creationTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "deletionTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "labels": { + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", + "type": "object", + "additionalProperties": { "type": "string" } + }, + "lastModifiedTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "name": { + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + }, + "uid": { + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", + "type": "string" + } + } + }, + "spec": { + "description": "Custom cloud spec response entity", + "type": "object", + "properties": { + "cloudCategory": { + "description": "Cloud category description", + "type": "string", + "default": "cloud", + "enum": [ + "datacenter", + "cloud", + "edge" + ] + }, + "displayName": { + "description": "Custom cloud displayName", + "type": "string" + }, + "isManaged": { + "description": "If the custom cloud is a managed cluster", + "type": "boolean" + }, + "logo": { + "description": "Custom cloud logo", + "type": "string" } } } @@ -51285,10 +48157,8 @@ } } } - } - }, - "/v1/clouds/aws/policyArns/validate": { - "post": { + }, + "put": { "security": [ { "ApiKey": [] @@ -51300,90 +48170,73 @@ "tags": [ "v1" ], - "summary": "Validate the aws policy arns validate", - "operationId": "V1AwsPolicyArnsValidate", + "summary": "Update the custom cloud type meta", + "operationId": "V1CustomCloudTypeMetaUpdate", "parameters": [ { - "description": "Request payload to validate AWS policy ARN", - "name": "spec", + "description": "Request payload for custom cloud meta entity", + "name": "body", "in": "body", "required": true, "schema": { - "description": "Aws policy ARNs spec", + "description": "Custom cloud request entity", "type": "object", - "required": [ - "policyArns", - "account" - ], "properties": { - "account": { - "description": "AWS cloud account which includes access key and secret key in case of 'secret' credentials type. It includes policyARNS, ARN and externalId in case of sts. Partition is a group of AWS Region and Service objects", + "metadata": { + "description": "ObjectMeta input entity for object creation", "type": "object", "properties": { - "accessKey": { - "description": "AWS account access key", - "type": "string" + "annotations": { + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", + "type": "object", + "additionalProperties": { + "type": "string" + } }, - "credentialType": { - "description": "Allowed Values [secret, sts]. STS type will be used for role assumption for sts type, accessKey/secretKey contains the source account, Arn is the target account.", - "type": "string", - "default": "secret", - "enum": [ - "secret", - "sts" - ] + "labels": { + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", + "type": "object", + "additionalProperties": { + "type": "string" + } }, - "partition": { - "description": "AWS accounts are scoped to a single partition. Allowed values [aws, aws-us-gov], Default values", + "name": { + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + } + } + }, + "spec": { + "description": "Custom cloud request entity spec", + "type": "object", + "properties": { + "cloudCategory": { + "description": "Cloud category description", "type": "string", - "default": "aws", + "default": "cloud", "enum": [ - "aws", - "aws-us-gov" + "datacenter", + "cloud", + "edge" ] }, - "policyARNs": { - "description": "List of policy ARNs required in case of credentialType sts.", - "type": "array", - "items": { - "type": "string" - } - }, - "secretKey": { - "description": "AWS account secret key", + "displayName": { + "description": "Custom cloud displayName", "type": "string" }, - "sts": { - "description": "Aws sts credentials", - "type": "object", - "properties": { - "arn": { - "description": "Arn for the aws sts credentials in cloud account", - "type": "string" - }, - "externalId": { - "description": "ExternalId for the aws sts credentials in cloud account", - "type": "string" - } - } + "isControlPlaneManaged": { + "description": "If the custom cloud is a managed cluster", + "type": "boolean" + }, + "logo": { + "description": "Custom cloud logo", + "type": "string" } } - }, - "policyArns": { - "type": "array", - "items": { - "type": "string" - } } } } }, - { - "type": "string", - "description": "Uid for the specific AWS cloud account", - "name": "cloudAccountUid", - "in": "query" - }, { "type": "string", "description": "Scope the request to the specified project uid", @@ -51393,18 +48246,21 @@ ], "responses": { "204": { - "description": "Ok response without content", - "headers": { - "AuditUid": { - "type": "string", - "description": "Audit uid for the request" - } - } + "description": "The resource was updated successfully" } } - } + }, + "parameters": [ + { + "type": "string", + "description": "Unique cloud type", + "name": "cloudType", + "in": "path", + "required": true + } + ] }, - "/v1/clouds/aws/properties/validate": { + "/v1/clouds/coxedge/account/validate": { "post": { "security": [ { @@ -51417,25 +48273,40 @@ "tags": [ "v1" ], - "summary": "Validate AWS properties", - "operationId": "V1AwsPropertiesValidate", + "summary": "Validate the specified CoxEdge account credentials", + "operationId": "V1CoxEdgeAccountValidate", "parameters": [ { - "description": "Request payload for AWS properties validate spec", - "name": "properties", + "description": "Request payload to validate CoxEdge cloud account", + "name": "account", "in": "body", "required": true, "schema": { - "description": "AWS properties validate spec", + "description": "CoxEdge cloud account", "type": "object", + "required": [ + "apiBaseUrl", + "apiKey" + ], "properties": { - "cloudAccountUid": { + "apiBaseUrl": { + "description": "The base url - used to make api calls", "type": "string" }, - "region": { + "apiKey": { + "description": "CoxEdge cloud account ApiKey", "type": "string" }, - "sshKeyName": { + "environment": { + "description": "The environment belonging to the organization", + "type": "string" + }, + "organizationId": { + "description": "The Id of organization", + "type": "string" + }, + "service": { + "description": "The service for which the organization is allowed to provision resources", "type": "string" } } @@ -51461,7 +48332,7 @@ } } }, - "/v1/clouds/aws/regions": { + "/v1/clouds/coxedge/default/baseurls": { "get": { "security": [ { @@ -51474,16 +48345,9 @@ "tags": [ "v1" ], - "summary": "Retrieves a list of AWS regions for the specified account", - "operationId": "V1AwsRegions", + "summary": "Retrieves a list of default base urls", + "operationId": "V1CoxEdgeBaseUrls", "parameters": [ - { - "type": "string", - "description": "Uid for the specific AWS cloud account", - "name": "cloudAccountUid", - "in": "query", - "required": true - }, { "type": "string", "description": "Scope the request to the specified project uid", @@ -51495,31 +48359,16 @@ "200": { "description": "(empty)", "schema": { + "description": "List of CoxEdge base urls", "type": "object", "required": [ - "regions" + "baseUrls" ], "properties": { - "regions": { - "description": "List of AWS regions", + "baseUrls": { "type": "array", "items": { - "description": "AWS region which represents separate geographic area.", - "type": "object", - "properties": { - "endpoint": { - "description": "AWS offer a regional endpoint that can used to make requests", - "type": "string" - }, - "name": { - "description": "Name of the AWS region", - "type": "string" - }, - "optInStatus": { - "description": "Enable your account to operate in the particular regions", - "type": "string" - } - } + "type": "string" } } } @@ -51528,7 +48377,7 @@ } } }, - "/v1/clouds/aws/regions/{region}/availabilityzones": { + "/v1/clouds/coxedge/environments": { "get": { "security": [ { @@ -51541,22 +48390,21 @@ "tags": [ "v1" ], - "summary": "Retrieves a list of AWS availability zones for the specified region", - "operationId": "V1AwsZones", + "summary": "Retrieves a list of environments for the specified account", + "operationId": "V1CoxEdgeEnvironmentsGet", "parameters": [ { "type": "string", - "description": "Region for which zones are requested", - "name": "region", - "in": "path", + "description": "Uid for the specific CoxEdge cloud account", + "name": "cloudAccountUid", + "in": "query", "required": true }, { "type": "string", - "description": "Uid for the specific AWS cloud account", - "name": "cloudAccountUid", - "in": "query", - "required": true + "description": "OrganizationId for the specific CoxEdge account", + "name": "organizationId", + "in": "query" }, { "type": "string", @@ -51567,30 +48415,30 @@ ], "responses": { "200": { - "description": "(empty)", + "description": "List of CoxEdge environments", "schema": { + "description": "List of CoxEdge environments", "type": "object", "required": [ - "zones" + "environments" ], "properties": { - "zones": { - "description": "List of AWS Zones", + "environments": { "type": "array", "items": { - "description": "Distinct locations within an AWS Region that are engineered to be isolated from failures in other Zones", + "description": "CoxEdge environment entity", "type": "object", "properties": { - "name": { - "description": "AWS availability zone name", + "id": { + "description": "CoxEdge environment id", "type": "string" }, - "state": { - "description": "AWS availability zone state", - "type": "string" + "isDeleted": { + "description": "CoxEdge environment state", + "type": "boolean" }, - "zoneId": { - "description": "AWS availability zone id", + "name": { + "description": "CoxEdge environment name", "type": "string" } } @@ -51600,9 +48448,7 @@ } } } - } - }, - "/v1/clouds/aws/regions/{region}/copydefaultimages": { + }, "post": { "security": [ { @@ -51615,80 +48461,35 @@ "tags": [ "v1" ], - "summary": "Copies the specified image from one region to another region", - "operationId": "V1AwsCopyImageFromDefaultRegion", + "summary": "Retrieves a list of environments for baseUrl and apiKey", + "operationId": "V1CoxEdgeEnvironments", "parameters": [ { - "type": "string", - "description": "Region to copy AWS image from", - "name": "region", - "in": "path", - "required": true - }, - { - "description": "Request payload to copy the AWS image", - "name": "spectroClusterAwsImageTag", + "description": "Request payload to get CoxEdge environments", + "name": "spec", "in": "body", + "required": true, "schema": { - "description": "AWS image name and credentials", + "description": "Request payload to get CoxEdge environments", "type": "object", "properties": { - "amiName": { - "description": "AWS image ami name", - "type": "string" - }, - "awsAccount": { - "description": "AWS cloud account which includes access key and secret key in case of 'secret' credentials type. It includes policyARNS, ARN and externalId in case of sts. Partition is a group of AWS Region and Service objects", + "credentials": { + "description": "CoxEdge credentials to get organizations", "type": "object", "properties": { - "accessKey": { - "description": "AWS account access key", + "apiBaseUrl": { + "description": "CoxEdge baseUrl - for api calls", "type": "string" }, - "credentialType": { - "description": "Allowed Values [secret, sts]. STS type will be used for role assumption for sts type, accessKey/secretKey contains the source account, Arn is the target account.", - "type": "string", - "default": "secret", - "enum": [ - "secret", - "sts" - ] - }, - "partition": { - "description": "AWS accounts are scoped to a single partition. Allowed values [aws, aws-us-gov], Default values", - "type": "string", - "default": "aws", - "enum": [ - "aws", - "aws-us-gov" - ] - }, - "policyARNs": { - "description": "List of policy ARNs required in case of credentialType sts.", - "type": "array", - "items": { - "type": "string" - } - }, - "secretKey": { - "description": "AWS account secret key", + "apiKey": { + "description": "CoxEdge ApiKey - secret for api calls", "type": "string" - }, - "sts": { - "description": "Aws sts credentials", - "type": "object", - "properties": { - "arn": { - "description": "Arn for the aws sts credentials in cloud account", - "type": "string" - }, - "externalId": { - "description": "ExternalId for the aws sts credentials in cloud account", - "type": "string" - } - } } } + }, + "organizationId": { + "description": "CoxEdge organizationId", + "type": "string" } } } @@ -51702,14 +48503,34 @@ ], "responses": { "200": { - "description": "(empty)", + "description": "List of CoxEdge environments", "schema": { - "description": "Async operation id", + "description": "List of CoxEdge environments", "type": "object", + "required": [ + "environments" + ], "properties": { - "operationId": { - "description": "OperationId for a particular sync operation id", - "type": "string" + "environments": { + "type": "array", + "items": { + "description": "CoxEdge environment entity", + "type": "object", + "properties": { + "id": { + "description": "CoxEdge environment id", + "type": "string" + }, + "isDeleted": { + "description": "CoxEdge environment state", + "type": "boolean" + }, + "name": { + "description": "CoxEdge environment name", + "type": "string" + } + } + } } } } @@ -51717,7 +48538,7 @@ } } }, - "/v1/clouds/aws/regions/{region}/eksClusters/name/validate": { + "/v1/clouds/coxedge/organizations": { "get": { "security": [ { @@ -51727,34 +48548,19 @@ "Authorization": [] } ], - "description": "Returns no contents if aws cluster name is valid else error.", "tags": [ "v1" ], - "summary": "Check if Aws cluster name is valid", - "operationId": "V1AwsClusterNameValidate", + "summary": "Retrieves a list of organizations for the specified account", + "operationId": "V1CoxEdgeOrganizationsGet", "parameters": [ { "type": "string", - "description": "Uid for the specific AWS cloud account", + "description": "Uid for the specific CoxEdge cloud account", "name": "cloudAccountUid", "in": "query", "required": true }, - { - "type": "string", - "description": "cluster name to be validated", - "name": "name", - "in": "query", - "required": true - }, - { - "type": "string", - "description": "Region for which cluster name is validated", - "name": "region", - "in": "path", - "required": true - }, { "type": "string", "description": "Scope the request to the specified project uid", @@ -51763,19 +48569,41 @@ } ], "responses": { - "204": { - "description": "Ok response without content", - "headers": { - "AuditUid": { - "type": "string", - "description": "Audit uid for the request" + "200": { + "description": "List of CoxEdge organizations", + "schema": { + "description": "List of CoxEdge organizations", + "type": "object", + "required": [ + "organizations" + ], + "properties": { + "organizations": { + "type": "array", + "items": { + "description": "CoxEdge Organization entity", + "type": "object", + "properties": { + "id": { + "description": "CoxEdge organization id", + "type": "string" + }, + "isDeleted": { + "description": "CoxEdge organization state", + "type": "boolean" + }, + "name": { + "description": "CoxEdge organization name", + "type": "string" + } + } + } + } } } } } - } - }, - "/v1/clouds/aws/regions/{region}/images": { + }, "post": { "security": [ { @@ -51788,83 +48616,112 @@ "tags": [ "v1" ], - "summary": "Returns AWS image for the specified AMI name", - "operationId": "V1AwsFindImage", + "summary": "Retrieves a list of organizations for baseUrl and apiKey", + "operationId": "V1CoxEdgeOrganizations", "parameters": [ { - "type": "string", - "description": "Region to find AWS image", - "name": "region", - "in": "path", - "required": true - }, - { - "description": "Request payload to find the AWS image", - "name": "awsImageRequest", + "description": "Request payload to get CoxEdge organizations", + "name": "spec", "in": "body", + "required": true, "schema": { - "description": "AWS image name and credentials", + "description": "CoxEdge credentials to get organizations", "type": "object", "properties": { - "amiName": { - "description": "AWS image ami name", + "apiBaseUrl": { + "description": "CoxEdge baseUrl - for api calls", "type": "string" }, - "awsAccount": { - "description": "AWS cloud account which includes access key and secret key in case of 'secret' credentials type. It includes policyARNS, ARN and externalId in case of sts. Partition is a group of AWS Region and Service objects", - "type": "object", - "properties": { - "accessKey": { - "description": "AWS account access key", - "type": "string" - }, - "credentialType": { - "description": "Allowed Values [secret, sts]. STS type will be used for role assumption for sts type, accessKey/secretKey contains the source account, Arn is the target account.", - "type": "string", - "default": "secret", - "enum": [ - "secret", - "sts" - ] - }, - "partition": { - "description": "AWS accounts are scoped to a single partition. Allowed values [aws, aws-us-gov], Default values", - "type": "string", - "default": "aws", - "enum": [ - "aws", - "aws-us-gov" - ] - }, - "policyARNs": { - "description": "List of policy ARNs required in case of credentialType sts.", - "type": "array", - "items": { + "apiKey": { + "description": "CoxEdge ApiKey - secret for api calls", + "type": "string" + } + } + } + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "200": { + "description": "List of CoxEdge organizations", + "schema": { + "description": "List of CoxEdge organizations", + "type": "object", + "required": [ + "organizations" + ], + "properties": { + "organizations": { + "type": "array", + "items": { + "description": "CoxEdge Organization entity", + "type": "object", + "properties": { + "id": { + "description": "CoxEdge organization id", + "type": "string" + }, + "isDeleted": { + "description": "CoxEdge organization state", + "type": "boolean" + }, + "name": { + "description": "CoxEdge organization name", "type": "string" - } - }, - "secretKey": { - "description": "AWS account secret key", - "type": "string" - }, - "sts": { - "description": "Aws sts credentials", - "type": "object", - "properties": { - "arn": { - "description": "Arn for the aws sts credentials in cloud account", - "type": "string" - }, - "externalId": { - "description": "ExternalId for the aws sts credentials in cloud account", - "type": "string" - } } } } } } } + } + } + } + }, + "/v1/clouds/coxedge/regions": { + "get": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Retrieves a list of CoxEdge regions for the specified account", + "operationId": "V1CoxEdgeRegions", + "parameters": [ + { + "type": "string", + "description": "Uid for the specific AWS cloud account", + "name": "cloudAccountUid", + "in": "query" + }, + { + "type": "string", + "description": "CoxEdge organization id", + "name": "organizationId", + "in": "query" + }, + { + "type": "string", + "description": "CoxEdge service name", + "name": "service", + "in": "query" + }, + { + "type": "string", + "description": "CoxEdge environment name", + "name": "environment", + "in": "query" }, { "type": "string", @@ -51877,20 +48734,68 @@ "200": { "description": "(empty)", "schema": { - "description": "AWS image name and ami", + "description": "List of CoxEdge regions", "type": "object", + "required": [ + "regions" + ], "properties": { - "id": { - "description": "AWS image id", - "type": "string" - }, - "name": { - "description": "AWS image name", - "type": "string" - }, - "owner": { - "description": "AWS image owner id", - "type": "string" + "regions": { + "type": "array", + "items": { + "description": "CoxEdge region entity", + "type": "object", + "properties": { + "code": { + "description": "Code of the CoxEdge region", + "type": "string" + }, + "location": { + "description": "Cluster location information", + "type": "object", + "properties": { + "countryCode": { + "description": "country code for cluster location", + "type": "string" + }, + "countryName": { + "description": "country name for cluster location", + "type": "string" + }, + "geoLoc": { + "description": "Geolocation Latlong entity", + "type": "object", + "properties": { + "latitude": { + "description": "Latitude of a resource", + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "longitude": { + "description": "Longitude of a resource", + "type": "number", + "format": "float64", + "x-omitempty": false + } + } + }, + "regionCode": { + "description": "region code for cluster location", + "type": "string" + }, + "regionName": { + "description": "region name for cluster location", + "type": "string" + } + } + }, + "name": { + "description": "Name of the CoxEdge region", + "type": "string" + } + } + } } } } @@ -51898,7 +48803,7 @@ } } }, - "/v1/clouds/aws/regions/{region}/instancetypes": { + "/v1/clouds/coxedge/regions/{region}/instancetypes": { "get": { "security": [ { @@ -51911,12 +48816,12 @@ "tags": [ "v1" ], - "summary": "Retrieves a list of AWS instance types", - "operationId": "V1AwsInstanceTypes", + "summary": "Retrieves a list of CoxEdge instance types", + "operationId": "V1CoxEdgeInstanceTypes", "parameters": [ { "type": "string", - "description": "Region for which AWS instances are requested", + "description": "Region for which CoxEdge instances are listed", "name": "region", "in": "path", "required": true @@ -51935,19 +48840,6 @@ "name": "memoryGtEq", "in": "query" }, - { - "type": "number", - "format": "double", - "description": "Filter for instances having gpu greater than or equal", - "name": "gpuGtEq", - "in": "query" - }, - { - "type": "string", - "description": "Uid for the specific AWS cloud account", - "name": "cloudAccountUid", - "in": "query" - }, { "type": "string", "description": "Scope the request to the specified project uid", @@ -51959,7 +48851,7 @@ "200": { "description": "(empty)", "schema": { - "description": "List of AWS instance types", + "description": "List of CoxEdge instance types", "type": "object", "properties": { "instanceTypes": { @@ -52059,7 +48951,7 @@ } } }, - "/v1/clouds/aws/regions/{region}/keypairs": { + "/v1/clouds/coxedge/services": { "get": { "security": [ { @@ -52072,22 +48964,21 @@ "tags": [ "v1" ], - "summary": "Retrieves a list of AWS keypairs", - "operationId": "V1AwsKeyPairs", + "summary": "Retrieves a list of services for the specified account", + "operationId": "V1CoxEdgeServicesGet", "parameters": [ { "type": "string", - "description": "Region for which AWS key pairs are requested", - "name": "region", - "in": "path", + "description": "Uid for the specific CoxEdge cloud account", + "name": "cloudAccountUid", + "in": "query", "required": true }, { "type": "string", - "description": "Uid for the specific AWS cloud account", - "name": "cloudAccountUid", - "in": "query", - "required": true + "description": "OrganizationId for the specific CoxEdge account", + "name": "organizationId", + "in": "query" }, { "type": "string", @@ -52098,25 +48989,40 @@ ], "responses": { "200": { - "description": "(empty)", + "description": "List of CoxEdge services", "schema": { - "description": "List of AWS keypairs", + "description": "List of CoxEdge services", "type": "object", + "required": [ + "services" + ], "properties": { - "keyNames": { - "description": "Array of Aws Keypair names", + "services": { "type": "array", "items": { - "type": "string" + "description": "CoxEdge service entity", + "type": "object", + "properties": { + "code": { + "description": "CoxEdge service code", + "type": "string" + }, + "id": { + "description": "CoxEdge service id", + "type": "string" + }, + "name": { + "description": "CoxEdge service name", + "type": "string" + } + } } } } } } } - } - }, - "/v1/clouds/aws/regions/{region}/keypairs/{keypair}/validate": { + }, "post": { "security": [ { @@ -52129,29 +49035,121 @@ "tags": [ "v1" ], - "summary": "Validate the specified AWS keypair", - "operationId": "V1AwsKeyPairValidate", + "summary": "Retrieves a list of services for baseUrl and apiKey", + "operationId": "V1CoxEdgeServices", "parameters": [ { - "type": "string", - "description": "Region for which AWS key pairs is validated", - "name": "region", - "in": "path", - "required": true + "description": "Request payload to get CoxEdge services", + "name": "spec", + "in": "body", + "required": true, + "schema": { + "description": "CoxEdge credentials to get organizations", + "type": "object", + "properties": { + "apiBaseUrl": { + "description": "CoxEdge baseUrl - for api calls", + "type": "string" + }, + "apiKey": { + "description": "CoxEdge ApiKey - secret for api calls", + "type": "string" + } + } + } }, { "type": "string", - "description": "Uid for the specific AWS cloud account", - "name": "cloudAccountUid", - "in": "query", - "required": true + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "description": "List of CoxEdge services", + "type": "object", + "required": [ + "services" + ], + "properties": { + "services": { + "type": "array", + "items": { + "description": "CoxEdge service entity", + "type": "object", + "properties": { + "code": { + "description": "CoxEdge service code", + "type": "string" + }, + "id": { + "description": "CoxEdge service id", + "type": "string" + }, + "name": { + "description": "CoxEdge service name", + "type": "string" + } + } + } + } + } + } + } + } + } + }, + "/v1/clouds/eks/properties/validate": { + "post": { + "security": [ + { + "ApiKey": [] }, { - "type": "string", - "description": "AWS Key pair which is to be validated", - "name": "keypair", - "in": "path", - "required": true + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Validate EKS properties", + "operationId": "V1EksPropertiesValidate", + "parameters": [ + { + "description": "Request payload for EKS properties validate spec", + "name": "properties", + "in": "body", + "required": true, + "schema": { + "description": "Eks properties validate spec", + "type": "object", + "properties": { + "cloudAccountUid": { + "type": "string" + }, + "name": { + "type": "string" + }, + "region": { + "type": "string" + }, + "sshKeyName": { + "type": "string" + }, + "subnets": { + "type": "array", + "items": { + "type": "string" + } + }, + "vpcId": { + "type": "string" + } + } + } }, { "type": "string", @@ -52173,8 +49171,8 @@ } } }, - "/v1/clouds/aws/regions/{region}/kms/{keyId}": { - "get": { + "/v1/clouds/gcp/account/validate": { + "post": { "security": [ { "ApiKey": [] @@ -52186,29 +49184,34 @@ "tags": [ "v1" ], - "summary": "Get AWS KMS key by Id", - "operationId": "V1AwsKmsKeyGet", + "summary": "Validate the specified GCP account credentials", + "operationId": "V1GcpAccountValidate", "parameters": [ { - "type": "string", - "description": "Region for which AWS KMS key belongs", - "name": "region", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "The globally unique identifier for the KMS key", - "name": "keyId", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Uid for the specific AWS cloud account", - "name": "cloudAccountUid", - "in": "query", - "required": true + "description": "Uid for the specific GCP cloud account", + "name": "gcpCloudAccount", + "in": "body", + "required": true, + "schema": { + "description": "Gcp cloud account spec", + "type": "object", + "properties": { + "spec": { + "description": "Gcp cloud account entity which takes json credentials or reference to the file where credentials are stored", + "type": "object", + "properties": { + "jsonCredentials": { + "description": "Gcp cloud account json credentials", + "type": "string" + }, + "jsonCredentialsFileUid": { + "description": "Reference of the credentials stored in the file", + "type": "string" + } + } + } + } + } }, { "type": "string", @@ -52218,32 +49221,20 @@ } ], "responses": { - "200": { - "description": "(empty)", - "schema": { - "description": "List of AWS Keys", - "type": "object", - "properties": { - "awsAccountId": { - "description": "The twelve-digit account ID of the Amazon Web Services account that owns the KMS key", - "type": "string" - }, - "enabled": { - "description": "Specifies whether the KMS key is enabled.", - "type": "boolean" - }, - "keyId": { - "description": "The globally unique identifier for the KMS key", - "type": "string" - } + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "type": "string", + "description": "Audit uid for the request" } } } } } }, - "/v1/clouds/aws/regions/{region}/kmskeys": { - "get": { + "/v1/clouds/gcp/azs/validate": { + "post": { "security": [ { "ApiKey": [] @@ -52255,22 +49246,39 @@ "tags": [ "v1" ], - "summary": "Retrieves a list of AWS KMS keys for the specified account", - "operationId": "V1AwsKmsKeys", + "summary": "Validate the specified GCP az", + "operationId": "V1GcpAzValidate", "parameters": [ { - "type": "string", - "description": "Region for which AWS KMS key are requested", - "name": "region", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Uid for the specific AWS cloud account", - "name": "cloudAccountUid", - "in": "query", - "required": true + "description": "Uid for the specific GCP cloud account", + "name": "entity", + "in": "body", + "required": true, + "schema": { + "description": "Az validate entity", + "type": "object", + "properties": { + "azs": { + "description": "Gcp Azs", + "type": "array", + "items": { + "type": "string" + } + }, + "project": { + "description": "Gcp project", + "type": "string" + }, + "region": { + "description": "Gcp region", + "type": "string" + }, + "uid": { + "description": "Cloud account uid", + "type": "string" + } + } + } }, { "type": "string", @@ -52280,47 +49288,93 @@ } ], "responses": { - "200": { - "description": "(empty)", + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "type": "string", + "description": "Audit uid for the request" + } + } + } + } + } + }, + "/v1/clouds/gcp/bucketname/validate": { + "post": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Validate the specified GCP bucket name credentials", + "operationId": "V1GcpBucketNameValidate", + "parameters": [ + { + "description": "Request payload for GCP account name validate", + "name": "body", + "in": "body", + "required": true, "schema": { - "description": "List of AWS Keys", + "description": "Gcp cloud account name validate spec", "type": "object", "required": [ - "kmsKeys" + "credentials", + "bucketName" ], "properties": { - "kmsKeys": { - "type": "array", - "items": { - "description": "AWS KMS Key - gives you centralized control over the cryptographic keys used to protect your data.", - "type": "object", - "required": [ - "keyId", - "keyArn" - ], - "properties": { - "keyAlias": { - "description": "AWS KMS alias", - "type": "string" - }, - "keyArn": { - "description": "AWS KMS arn", - "type": "string" - }, - "keyId": { - "description": "AWS KMS keyid", - "type": "string" - } + "bucketName": { + "description": "Bucket name in the GCP", + "type": "string" + }, + "credentials": { + "description": "Gcp cloud account entity which takes json credentials or reference to the file where credentials are stored", + "type": "object", + "properties": { + "jsonCredentials": { + "description": "Gcp cloud account json credentials", + "type": "string" + }, + "jsonCredentialsFileUid": { + "description": "Reference of the credentials stored in the file", + "type": "string" } } + }, + "projectId": { + "description": "ProjectId in the GCP", + "type": "string" } } } + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "type": "string", + "description": "Audit uid for the request" + } + } } } } }, - "/v1/clouds/aws/regions/{region}/kmskeys/validate": { + "/v1/clouds/gcp/image/container/validate": { "get": { "security": [ { @@ -52333,27 +49387,20 @@ "tags": [ "v1" ], - "summary": "Validate an Aws KMS key for the specified account", - "operationId": "V1AwsKmsKeyValidate", + "summary": "Validates the image with tag", + "operationId": "V1GcpContainerImageValidate", "parameters": [ { "type": "string", - "description": "Region for which AWS KMS key is validated", - "name": "region", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Uid for the specific AWS cloud account", - "name": "cloudAccountUid", + "description": "image path in the container", + "name": "imagePath", "in": "query", "required": true }, { "type": "string", - "description": "AWS KEY ARN for validation", - "name": "keyArn", + "description": "tag in the GCP container", + "name": "tag", "in": "query", "required": true }, @@ -52377,7 +49424,7 @@ } } }, - "/v1/clouds/aws/regions/{region}/storagetypes": { + "/v1/clouds/gcp/images/{imageName}/url": { "get": { "security": [ { @@ -52390,13 +49437,13 @@ "tags": [ "v1" ], - "summary": "Retrieves a list of AWS storage types", - "operationId": "V1AwsStorageTypes", + "summary": "Returns the Gcp image url for the specified image location", + "operationId": "V1GcpImageUrl", "parameters": [ { "type": "string", - "description": "Region for which AWS storage types are requested", - "name": "region", + "description": "imageName for which GCP image url is requested", + "name": "imageName", "in": "path", "required": true }, @@ -52411,109 +49458,20 @@ "200": { "description": "(empty)", "schema": { + "description": "Gcp image url entity", "type": "object", "properties": { - "storageTypes": { - "description": "List of AWS storage types", - "type": "array", - "items": { - "description": "Cloud cloud Storage type details", - "type": "object", - "properties": { - "cost": { - "description": "Cloud storage cost", - "type": "object", - "properties": { - "discountedUsage": { - "description": "Cloud storage upper limit which is free.", - "type": "string" - }, - "price": { - "description": "Array of cloud storage range prices", - "type": "array", - "items": { - "description": "Cloud storage price within an upper limit.", - "type": "object", - "properties": { - "limit": { - "description": "Upper limit of cloud storage usage", - "type": "string" - }, - "price": { - "description": "Price of cloud storage type", - "type": "string" - } - } - } - } - } - }, - "iopsCost": { - "description": "Cloud storage cost", - "type": "object", - "properties": { - "discountedUsage": { - "description": "Cloud storage upper limit which is free.", - "type": "string" - }, - "price": { - "description": "Array of cloud storage range prices", - "type": "array", - "items": { - "description": "Cloud storage price within an upper limit.", - "type": "object", - "properties": { - "limit": { - "description": "Upper limit of cloud storage usage", - "type": "string" - }, - "price": { - "description": "Price of cloud storage type", - "type": "string" - } - } - } - } - } - }, - "kind": { - "description": "kind of storage type", - "type": "string" - }, - "name": { - "description": "Name of the storage type", - "type": "string" - }, - "throughputCost": { - "description": "Cloud storage cost", - "type": "object", - "properties": { - "discountedUsage": { - "description": "Cloud storage upper limit which is free.", - "type": "string" - }, - "price": { - "description": "Array of cloud storage range prices", - "type": "array", - "items": { - "description": "Cloud storage price within an upper limit.", - "type": "object", - "properties": { - "limit": { - "description": "Upper limit of cloud storage usage", - "type": "string" - }, - "price": { - "description": "Price of cloud storage type", - "type": "string" - } - } - } - } - } - } - } - } + "imageFamily": { + "description": "The name of the image family to which this image belongs", + "type": "string" + }, + "imageUrl": { + "description": "Server-defined URL for the resource", + "type": "string" + }, + "name": { + "description": "Name of the resource", + "type": "string" } } } @@ -52521,7 +49479,7 @@ } } }, - "/v1/clouds/aws/regions/{region}/vpcs": { + "/v1/clouds/gcp/projects": { "get": { "security": [ { @@ -52534,19 +49492,12 @@ "tags": [ "v1" ], - "summary": "Retrieves a list of VPCs for the specified account", - "operationId": "V1AwsVpcs", + "summary": "Retrieves a list of GCP projects for the specified account", + "operationId": "V1GcpProjects", "parameters": [ { "type": "string", - "description": "Region for which VPCs are requested", - "name": "region", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Uid for the specific AWS cloud account", + "description": "Uid for the specific GCP cloud account", "name": "cloudAccountUid", "in": "query", "required": true @@ -52562,60 +49513,22 @@ "200": { "description": "(empty)", "schema": { - "description": "List of AWS VPCs", + "description": "List of GCP Projects", "type": "object", - "required": [ - "vpcs" - ], "properties": { - "vpcs": { + "projects": { + "description": "List of GCP Projects", "type": "array", "items": { - "description": "A virtual network dedicated to a AWS account", + "description": "GCP project organizes all Google Cloud resources", "type": "object", - "required": [ - "vpcId" - ], "properties": { - "cidrBlock": { + "id": { + "description": "GCP project id", "type": "string" }, "name": { - "description": "Name of the virtual network", - "type": "string" - }, - "subnets": { - "description": "List of subnets associated to a AWS VPC", - "type": "array", - "items": { - "description": "A subnet is a range of IP addresses in a AWS VPC", - "properties": { - "az": { - "description": "Every subnet can only be associated with only one Availability Zone", - "type": "string" - }, - "isPrivate": { - "description": "Is this subnet private", - "type": "boolean" - }, - "mapPublicIpOnLaunch": { - "description": "Indicates whether instances launched in this subnet receive a public IPv4 address.", - "type": "boolean", - "x-omitempty": false - }, - "name": { - "description": "Name of the subnet", - "type": "string" - }, - "subnetId": { - "description": "Id of the subnet", - "type": "string" - } - } - } - }, - "vpcId": { - "description": "Id of the virtual network", + "description": "GCP project name", "type": "string" } } @@ -52627,8 +49540,8 @@ } } }, - "/v1/clouds/aws/s3/validate": { - "post": { + "/v1/clouds/gcp/projects/{project}/regions": { + "get": { "security": [ { "ApiKey": [] @@ -52640,112 +49553,61 @@ "tags": [ "v1" ], - "summary": "Validate the AWS S3 bucket", - "operationId": "V1AwsS3Validate", + "summary": "Retrieves a list of GCP regions", + "operationId": "V1GcpRegions", "parameters": [ { - "description": "AWS S3 bucket credentials", - "name": "awsS3Credential", - "in": "body", - "required": true, + "type": "string", + "description": "Uid for the specific GCP cloud account", + "name": "cloudAccountUid", + "in": "query", + "required": true + }, + { + "type": "string", + "description": "Project Name for which GCP zones are requested", + "name": "project", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "200": { + "description": "(empty)", "schema": { - "description": "AWS S3 Bucket credentials", + "description": "List of GCP Regions", "type": "object", - "required": [ - "credentials", - "bucket", - "region" - ], "properties": { - "bucket": { - "description": "Name of AWS S3 bucket", - "type": "string" - }, - "credentials": { - "description": "AWS cloud account which includes access key and secret key in case of 'secret' credentials type. It includes policyARNS, ARN and externalId in case of sts. Partition is a group of AWS Region and Service objects", - "type": "object", - "properties": { - "accessKey": { - "description": "AWS account access key", - "type": "string" - }, - "credentialType": { - "description": "Allowed Values [secret, sts]. STS type will be used for role assumption for sts type, accessKey/secretKey contains the source account, Arn is the target account.", - "type": "string", - "default": "secret", - "enum": [ - "secret", - "sts" - ] - }, - "partition": { - "description": "AWS accounts are scoped to a single partition. Allowed values [aws, aws-us-gov], Default values", - "type": "string", - "default": "aws", - "enum": [ - "aws", - "aws-us-gov" - ] - }, - "policyARNs": { - "description": "List of policy ARNs required in case of credentialType sts.", - "type": "array", - "items": { + "regions": { + "type": "array", + "items": { + "description": "Geographical region made up of zones where you can host your GCP resources", + "type": "object", + "properties": { + "name": { + "description": "GCP region name", + "type": "string" + }, + "status": { + "description": "GCP region status", "type": "string" - } - }, - "secretKey": { - "description": "AWS account secret key", - "type": "string" - }, - "sts": { - "description": "Aws sts credentials", - "type": "object", - "properties": { - "arn": { - "description": "Arn for the aws sts credentials in cloud account", - "type": "string" - }, - "externalId": { - "description": "ExternalId for the aws sts credentials in cloud account", - "type": "string" - } } } } - }, - "folder": { - "description": "Name of the folder in the specified AWS S3 bucket.", - "type": "string" - }, - "region": { - "description": "Name of the available AWS region.", - "type": "string" } } } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "204": { - "description": "Ok response without content", - "headers": { - "AuditUid": { - "type": "string", - "description": "Audit uid for the request" - } - } } } } }, - "/v1/clouds/aws/securitygroups": { + "/v1/clouds/gcp/projects/{project}/regions/{region}/networks": { "get": { "security": [ { @@ -52758,27 +49620,28 @@ "tags": [ "v1" ], - "summary": "Retrieves a list of AWS security groups for the specified account", - "operationId": "V1AwsSecurityGroups", + "summary": "Retrieves a list of GCP networks for the specified account", + "operationId": "V1GcpNetworks", "parameters": [ { "type": "string", - "description": "Uid for the specific AWS cloud account", + "description": "Uid for the specific GCP cloud account", "name": "cloudAccountUid", - "in": "query" + "in": "query", + "required": true }, { "type": "string", - "description": "Region for which security groups are requested", + "description": "Region for which GCP networks are requested", "name": "region", - "in": "query", + "in": "path", "required": true }, { "type": "string", - "description": "Vpc Id for which security groups are requested", - "name": "vpcId", - "in": "query", + "description": "Project Name for which GCP networks are requested", + "name": "project", + "in": "path", "required": true }, { @@ -52792,25 +49655,36 @@ "200": { "description": "(empty)", "schema": { + "description": "List of GCP networks", "type": "object", - "required": [ - "groups" - ], "properties": { - "groups": { + "networks": { "type": "array", "items": { - "description": "Aws security group", + "description": "GCP network enity is a virtual version of a physical network", "type": "object", "properties": { - "groupId": { - "type": "string" - }, - "groupName": { + "name": { + "description": "GCP network name", "type": "string" }, - "ownerId": { - "type": "string" + "subnets": { + "description": "List of GCP subnet", + "type": "array", + "items": { + "description": "Subnets are regional resources, and have IP address ranges associated with them", + "type": "object", + "properties": { + "id": { + "description": "GCP subnet id", + "type": "string" + }, + "name": { + "description": "GCP subnet name", + "type": "string" + } + } + } } } } @@ -52821,7 +49695,7 @@ } } }, - "/v1/clouds/aws/volumeTypes": { + "/v1/clouds/gcp/projects/{project}/regions/{region}/zones": { "get": { "security": [ { @@ -52831,20 +49705,33 @@ "Authorization": [] } ], - "description": "List all AWS Volume Types", "tags": [ "v1" ], - "summary": "Get all AWS Volume Types", - "operationId": "V1AwsVolumeTypesGet", + "summary": "Retrieves a list of GCP zones for the specified account and region", + "operationId": "V1GcpZones", "parameters": [ { "type": "string", - "description": "Specific AWS Region", - "name": "region", + "description": "Uid for the specific GCP cloud account", + "name": "cloudAccountUid", "in": "query", "required": true }, + { + "type": "string", + "description": "Region for which GCP zones are requested", + "name": "region", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "Project Name for which GCP zones are requested", + "name": "project", + "in": "path", + "required": true + }, { "type": "string", "description": "Scope the request to the specified project uid", @@ -52856,29 +49743,17 @@ "200": { "description": "(empty)", "schema": { - "description": "AWS Volume Types", + "description": "List of GCP zones", "type": "object", "properties": { - "volumeTypes": { + "zones": { "type": "array", "items": { - "description": "AWS Volume Type entity", + "description": "A zone is a deployment area for Google Cloud resources within a region", "type": "object", "properties": { - "id": { - "description": "AWS volume type id", - "type": "string" - }, - "maxIops": { - "description": "Iops through put of volume type", - "type": "string" - }, - "maxThroughPut": { - "description": "Max through put of volume type", - "type": "string" - }, "name": { - "description": "AWS Volume Type Name", + "description": "GCP zone name", "type": "string" } } @@ -52890,7 +49765,7 @@ } } }, - "/v1/clouds/azure/account/validate": { + "/v1/clouds/gcp/projects/{project}/validate": { "post": { "security": [ { @@ -52900,62 +49775,30 @@ "Authorization": [] } ], - "description": "Returns no contents if account is valid else error.", "tags": [ "v1" ], - "summary": "Check if Azure account is valid", - "operationId": "V1AzureAccountValidate", + "summary": "Validate the specified GCP project", + "operationId": "V1GcpProjectValidate", "parameters": [ { - "description": "Request payload for Azure cloud account", - "name": "azureCloudAccount", + "type": "string", + "description": "GCP project uid", + "name": "project", + "in": "path", + "required": true + }, + { + "description": "Uid for the specific GCP cloud account", + "name": "cloudAccountUid", "in": "body", "required": true, "schema": { + "description": "Cloud account uid entity", "type": "object", - "required": [ - "tenantId", - "clientId", - "clientSecret" - ], "properties": { - "azureEnvironment": { - "description": "Contains configuration for Azure cloud", - "type": "string", - "default": "AzurePublicCloud", - "enum": [ - "AzureChinaCloud", - "AzurePublicCloud", - "AzureUSGovernment", - "AzureUSGovernmentCloud" - ] - }, - "clientId": { - "description": "Client ID(Directory ID) is a unique identifier generated by Azure AD that is tied to an application", - "type": "string" - }, - "clientSecret": { - "description": "ClientSecret is the secret associated with Client", - "type": "string" - }, - "settings": { - "description": "Cloud account settings", - "type": "object", - "properties": { - "disablePropertiesRequest": { - "description": "Will disable certain properties request to cloud and the input is collected directly from the user", - "type": "boolean", - "x-omitempty": false - } - } - }, - "tenantId": { - "description": "Tenant ID is the ID for the Azure AD tenant that the user belongs to.", - "type": "string" - }, - "tenantName": { - "description": "Tenant ID is the ID for the Azure AD tenant that the user belongs to.", + "uid": { + "description": "Cloud account uid", "type": "string" } } @@ -52981,7 +49824,7 @@ } } }, - "/v1/clouds/azure/groups": { + "/v1/clouds/gcp/projects/{project}/zones": { "get": { "security": [ { @@ -52994,14 +49837,22 @@ "tags": [ "v1" ], - "summary": "Retrieves a list of Azure groups", - "operationId": "V1AzureGroups", + "summary": "Retrieves a list of GCP zones for the specified account", + "operationId": "V1GcpAvailabilityZones", "parameters": [ { "type": "string", - "description": "Uid for the specific Azure cloud account", + "description": "Uid for the specific GCP cloud account", "name": "cloudAccountUid", - "in": "query" + "in": "query", + "required": true + }, + { + "type": "string", + "description": "Project Name for which GCP zones are requested", + "name": "project", + "in": "path", + "required": true }, { "type": "string", @@ -53014,24 +49865,17 @@ "200": { "description": "(empty)", "schema": { - "description": "List of Azure groups", + "description": "List of GCP zones", "type": "object", - "required": [ - "groups" - ], "properties": { - "groups": { + "zones": { "type": "array", "items": { - "description": "Azure group entity", + "description": "A zone is a deployment area for Google Cloud resources within a region", "type": "object", "properties": { - "id": { - "description": "Azure group id", - "type": "string" - }, "name": { - "description": "Azure group name", + "description": "GCP zone name", "type": "string" } } @@ -53043,8 +49887,8 @@ } } }, - "/v1/clouds/azure/regions": { - "get": { + "/v1/clouds/gcp/properties/validate": { + "post": { "security": [ { "ApiKey": [] @@ -53056,20 +49900,35 @@ "tags": [ "v1" ], - "summary": "Retrieves a list of Azure regions", - "operationId": "V1AzureRegions", + "summary": "Validate GCP properties", + "operationId": "V1GcpPropertiesValidate", "parameters": [ { - "type": "string", - "description": "Uid for the specific Azure cloud account", - "name": "cloudAccountUid", - "in": "query" - }, - { - "type": "string", - "description": "SubscriptionId for which resources is requested", - "name": "subscriptionId", - "in": "query" + "description": "Request payload for GCP properties validate spec", + "name": "properties", + "in": "body", + "required": true, + "schema": { + "description": "Gcp properties validate spec", + "type": "object", + "properties": { + "azs": { + "type": "array", + "items": { + "type": "string" + } + }, + "cloudAccountUid": { + "type": "string" + }, + "projectId": { + "type": "string" + }, + "region": { + "type": "string" + } + } + } }, { "type": "string", @@ -53079,53 +49938,19 @@ } ], "responses": { - "200": { - "description": "(empty)", - "schema": { - "description": "List of Azure regions", - "type": "object", - "required": [ - "regions" - ], - "properties": { - "regions": { - "type": "array", - "items": { - "description": "Azure region entity", - "type": "object", - "properties": { - "displayName": { - "description": "Azure region displayname", - "type": "string" - }, - "name": { - "description": "Azure region name", - "type": "string" - }, - "zones": { - "description": "List of zones associated to a particular Azure region", - "type": "array", - "items": { - "description": "Azure availability zone", - "type": "object", - "properties": { - "name": { - "description": "Azure availability zone name", - "type": "string" - } - } - } - } - } - } - } + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "type": "string", + "description": "Audit uid for the request" } } } } } }, - "/v1/clouds/azure/regions/{region}/instancetypes": { + "/v1/clouds/gcp/regions/{region}/instancetypes": { "get": { "security": [ { @@ -53138,12 +49963,12 @@ "tags": [ "v1" ], - "summary": "Retrieves a list of Azure instance types", - "operationId": "V1AzureInstanceTypes", + "summary": "Retrieves a list of GCP instance types", + "operationId": "V1GcpInstanceTypes", "parameters": [ { "type": "string", - "description": "Region for which Azure instance types are requested", + "description": "Region for which GCP instance types are requested", "name": "region", "in": "path", "required": true @@ -53180,10 +50005,11 @@ "200": { "description": "(empty)", "schema": { - "description": "List of Azure instance types", + "description": "Retrieves a list of GCP instance types", "type": "object", "properties": { "instanceTypes": { + "description": "List of GCP instance types", "type": "array", "items": { "description": "Cloud Instance type details", @@ -53280,7 +50106,7 @@ } } }, - "/v1/clouds/azure/regions/{region}/storagetypes": { + "/v1/clouds/gcp/regions/{region}/storagetypes": { "get": { "security": [ { @@ -53293,12 +50119,12 @@ "tags": [ "v1" ], - "summary": "Retrieves a list of Azure storage types", - "operationId": "V1AzureStorageTypes", + "summary": "Retrieves a list of Gcp storage types", + "operationId": "V1GcpStorageTypes", "parameters": [ { "type": "string", - "description": "Region for which Azure storage types are requested", + "description": "Region for which GCP storage types are requested", "name": "region", "in": "path", "required": true @@ -53314,7 +50140,7 @@ "200": { "description": "(empty)", "schema": { - "description": "List of Azure storage types", + "description": "List of GCP storage types", "type": "object", "properties": { "storageTypes": { @@ -53424,8 +50250,8 @@ } } }, - "/v1/clouds/azure/regions/{region}/subscriptions/{subscriptionId}/aksClusters/name/validate": { - "get": { + "/v1/clouds/maas/account/validate": { + "post": { "security": [ { "ApiKey": [] @@ -53434,47 +50260,41 @@ "Authorization": [] } ], - "description": "Returns no contents if Azure cluster name is valid else error.", + "description": "Returns no contents if account is valid else error.", "tags": [ "v1" ], - "summary": "Check if Azure cluster name is valid", - "operationId": "V1AzureClusterNameValidate", + "summary": "Check if Maas account is valid", + "operationId": "V1MaasAccountValidate", "parameters": [ { - "type": "string", - "description": "Uid for the specific Azure cloud account", - "name": "cloudAccountUid", - "in": "query", - "required": true - }, - { - "type": "string", - "description": "cluster name to be validated", - "name": "name", - "in": "query", - "required": true - }, - { - "type": "string", - "description": "region in which cluster name is to be validated", - "name": "region", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "subscriptionId in which cluster name is to be validated", - "name": "subscriptionId", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "resourceGroup in which cluster name is to be validated", - "name": "resourceGroup", - "in": "query", - "required": true + "description": "Request payload for Maas cloud account", + "name": "account", + "in": "body", + "required": true, + "schema": { + "type": "object", + "required": [ + "apiKey", + "apiEndpoint" + ], + "properties": { + "apiEndpoint": { + "type": "string" + }, + "apiKey": { + "type": "string" + }, + "preferredSubnets": { + "description": "list of preferred subnets order in the list reflects order in which subnets will be selected for ip address selection in apiserver dns endpoint this way user can specify external or preferable subnet \"10.11.130.0/24,10.10.10.0/24\"", + "type": "array", + "items": { + "type": "string", + "default": "" + } + } + } + } }, { "type": "string", @@ -53496,7 +50316,7 @@ } } }, - "/v1/clouds/azure/regions/{region}/subscriptions/{subscriptionId}/networks": { + "/v1/clouds/maas/azs": { "get": { "security": [ { @@ -53509,34 +50329,13 @@ "tags": [ "v1" ], - "summary": "Retrieves a list of Azure virtual network list for the sepcified account", - "operationId": "V1AzureVirtualNetworkList", + "summary": "Retrieves a list of Maas zones for a particular account uid", + "operationId": "V1MaasZonesGet", "parameters": [ { "type": "string", - "description": "Uid for the specific Azure cloud account", + "description": "Uid for the specific Maas cloud account", "name": "cloudAccountUid", - "in": "query", - "required": true - }, - { - "type": "string", - "description": "Region for which Azure virtual networks are requested", - "name": "region", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Uid for which Azure virtual networks are requested", - "name": "subscriptionId", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Resource group for which Azure virtual networks are requested", - "name": "resourceGroup", "in": "query" }, { @@ -53550,57 +50349,25 @@ "200": { "description": "(empty)", "schema": { - "description": "List of Azure virtual network", + "description": "List of Maas zones", "type": "object", + "required": [ + "items" + ], "properties": { - "virtualNetworkList": { + "items": { "type": "array", + "uniqueItems": true, "items": { - "description": "Azure virtual network is the fundamental building block for your private network in Azure.", + "description": "Maas zone", "type": "object", "properties": { - "addressSpaces": { - "description": "Location of the virtual network", - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - }, - "id": { - "description": "The ID of the resource group", - "type": "string" - }, - "location": { - "description": "Location of the virtual network", + "description": { + "description": "Description of Maas domain", "type": "string" }, "name": { - "description": "Name of the virtual network", - "type": "string" - }, - "subnets": { - "description": "List of subnets associated with Azure VPC", - "type": "array", - "items": { - "type": "object", - "properties": { - "cidrBlock": { - "description": "CidrBlock is the CIDR block to be used when the provider creates a managed Vnet.", - "type": "string" - }, - "name": { - "type": "string" - }, - "securityGroupName": { - "description": "Network Security Group(NSG) to be attached to subnet. NSG for a control plane subnet, should allow inbound to port 6443, as port 6443 is used by kubeadm to bootstrap the control planes", - "type": "string" - } - } - } - }, - "type": { - "description": "Type of the virtual network", + "description": "Name of Maas zone", "type": "string" } } @@ -53612,7 +50379,7 @@ } } }, - "/v1/clouds/azure/regions/{region}/subscriptions/{subscriptionId}/resourceGroups": { + "/v1/clouds/maas/domains": { "get": { "security": [ { @@ -53625,29 +50392,14 @@ "tags": [ "v1" ], - "summary": "Retrieves a list of Azure resource group for the specified account", - "operationId": "V1AzureResourceGroupList", + "summary": "Retrieves a list of Maas domains", + "operationId": "V1MaasDomainsGet", "parameters": [ { "type": "string", - "description": "Uid for the specific Azure cloud account", + "description": "Uid for the specific Maas cloud account", "name": "cloudAccountUid", - "in": "query", - "required": true - }, - { - "type": "string", - "description": "Region for which Azure resource group are requested", - "name": "region", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Uid for which Azure resource group are requested", - "name": "subscriptionId", - "in": "path", - "required": true + "in": "query" }, { "type": "string", @@ -53660,25 +50412,21 @@ "200": { "description": "(empty)", "schema": { - "description": "List of Azure resource group", + "description": "List of Maas domains", "type": "object", + "required": [ + "items" + ], "properties": { - "resourceGroupList": { + "items": { "type": "array", + "uniqueItems": true, "items": { - "description": "Azure resource Group is a container that holds related resources for an Azure solution", + "description": "Maas domain", "type": "object", "properties": { - "id": { - "description": "The ID of the resource group", - "type": "string" - }, - "location": { - "description": "The location of the resource group. It cannot be changed after the resource group has been created", - "type": "string" - }, "name": { - "description": "The type of the resource group", + "description": "Name of Maas domain", "type": "string" } } @@ -53690,7 +50438,7 @@ } } }, - "/v1/clouds/azure/regions/{region}/zones": { + "/v1/clouds/maas/resourcePools": { "get": { "security": [ { @@ -53703,28 +50451,15 @@ "tags": [ "v1" ], - "summary": "Retrieves a list of Azure zones for the specified region", - "operationId": "V1AzureZones", + "summary": "Retrieves a list of Maas pools for a particular account uid", + "operationId": "V1MaasPoolsGet", "parameters": [ { "type": "string", - "description": "Region for which Azure zones are requested", - "name": "region", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Uid for the specific Azure cloud account", + "description": "Uid for the specific Maas cloud account", "name": "cloudAccountUid", "in": "query" }, - { - "type": "string", - "description": "subscriptionId of azure account", - "name": "subscriptionId", - "in": "query" - }, { "type": "string", "description": "Scope the request to the specified project uid", @@ -53736,17 +50471,25 @@ "200": { "description": "(empty)", "schema": { - "description": "List of Azure zone", + "description": "List of Maas pools", "type": "object", + "required": [ + "items" + ], "properties": { - "zoneList": { + "items": { "type": "array", + "uniqueItems": true, "items": { - "description": "Azure availability zone entity", + "description": "Maas pool", "type": "object", "properties": { - "id": { - "description": "Azure availability zone id", + "description": { + "description": "Description of Maas domain", + "type": "string" + }, + "name": { + "description": "Name of Maas pool", "type": "string" } } @@ -53758,7 +50501,7 @@ } } }, - "/v1/clouds/azure/resourceGroups/{resourceGroup}/privateDnsZones": { + "/v1/clouds/maas/subnets": { "get": { "security": [ { @@ -53768,33 +50511,17 @@ "Authorization": [] } ], - "description": "Returns Azure private DNS zones", "tags": [ "v1" ], - "summary": "Get Azure private DNS zones for the given resource group", - "operationId": "V1AzurePrivateDnsZones", + "summary": "Retrieves a list of Maas subnets for a particular account uid", + "operationId": "V1MaasSubnetsGet", "parameters": [ { "type": "string", - "description": "resourceGroup for which Azure private dns zones are requested", - "name": "resourceGroup", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Uid for the specific Azure cloud account", + "description": "Uid for the specific Maas cloud account", "name": "cloudAccountUid", - "in": "query", - "required": true - }, - { - "type": "string", - "description": "subscriptionId for which Azure private dns zones are requested", - "name": "subscriptionId", - "in": "query", - "required": true + "in": "query" }, { "type": "string", @@ -53807,26 +50534,48 @@ "200": { "description": "(empty)", "schema": { - "description": "List of Azure storage accounts", + "description": "List of Maas subnets", "type": "object", + "required": [ + "items" + ], "properties": { - "privateDnsZones": { + "items": { "type": "array", + "uniqueItems": true, "items": { - "description": "Azure Private DNS zone entity", + "description": "Maas subnet", "type": "object", "properties": { "id": { - "description": "Fully qualified resource Id for the resource", - "type": "string" + "description": "Id of Maas subnet", + "type": "integer" }, - "location": { - "description": "The Azure Region where the resource lives", + "name": { + "description": "Name of Maas subnet", "type": "string" }, - "name": { - "description": "The name of the resource", + "space": { + "description": "Space associated with Maas subnet", "type": "string" + }, + "vlans": { + "description": "Maas vlan entity", + "type": "object", + "properties": { + "fabric": { + "description": "Fabric associated with Maas Vlan", + "type": "string" + }, + "id": { + "description": "Id of Maas Vlan", + "type": "integer" + }, + "name": { + "description": "Name of Maas Vlan", + "type": "string" + } + } } } } @@ -53837,7 +50586,7 @@ } } }, - "/v1/clouds/azure/resourceGroups/{resourceGroup}/storageAccounts": { + "/v1/clouds/maas/tags": { "get": { "security": [ { @@ -53847,33 +50596,18 @@ "Authorization": [] } ], - "description": "Returns Azure storage accounts.", "tags": [ "v1" ], - "summary": "Get Azure storage accounts", - "operationId": "V1AzureStorageAccounts", + "summary": "Retrieves a list of Maas tags for a particular account uid", + "operationId": "V1MaasTagsGet", "parameters": [ { "type": "string", - "description": "resourceGroup for which Azure storage accounts are requested", - "name": "resourceGroup", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Uid for the specific Azure cloud account", + "description": "Uid for the specific Maas cloud account", "name": "cloudAccountUid", "in": "query" }, - { - "type": "string", - "description": "subscriptionId for which Azure storage accounts are requested", - "name": "subscriptionId", - "in": "query", - "required": true - }, { "type": "string", "description": "Scope the request to the specified project uid", @@ -53885,29 +50619,37 @@ "200": { "description": "(empty)", "schema": { - "description": "List of Azure storage accounts", + "description": "List of Maas tags", "type": "object", + "required": [ + "items" + ], "properties": { - "accounts": { + "items": { "type": "array", + "uniqueItems": true, "items": { - "description": "Azure storage account provides a unique namespace for your Azure resources", + "description": "Maas tag", "type": "object", "properties": { - "id": { - "description": "Fully qualified resource ID for the resource", + "comment": { + "description": "Comment on Maas tag", "type": "string" }, - "kind": { - "description": "The kind of the resource", + "definition": { + "description": "Definition of Maas tag", "type": "string" }, - "location": { - "description": "The geo-location where the resource lives", + "kernelOpts": { + "description": "Kernel Opts on Maas tag", "type": "string" }, "name": { - "description": "The name of the resource", + "description": "Name of Maas tag", + "type": "string" + }, + "resourceUri": { + "description": "Description of Maas tag", "type": "string" } } @@ -53919,8 +50661,8 @@ } } }, - "/v1/clouds/azure/resourceGroups/{resourceGroup}/storageAccounts/{storageAccountName}/containers": { - "get": { + "/v1/clouds/openstack/account/validate": { + "post": { "security": [ { "ApiKey": [] @@ -53929,39 +50671,121 @@ "Authorization": [] } ], - "description": "Returns Azure storage containers for the given account.", + "description": "Returns no contents if account is valid else error.", "tags": [ "v1" ], - "summary": "Get Azure storage containers", - "operationId": "V1AzureStorageContainers", + "summary": "Check if OpenStack account is valid", + "operationId": "V1OpenStackAccountValidate", "parameters": [ + { + "description": "Request payload for OpenStack cloud account", + "name": "openstackCloudAccount", + "in": "body", + "required": true, + "schema": { + "description": "auth-url,project,username,password,domain,cacert etc", + "type": "object", + "required": [ + "identityEndpoint", + "username", + "password" + ], + "properties": { + "caCert": { + "description": "Ca cert for OpenStack", + "type": "string" + }, + "defaultDomain": { + "description": "Default Domain name", + "type": "string" + }, + "defaultProject": { + "description": "Default Project name", + "type": "string" + }, + "identityEndpoint": { + "description": "Identity endpoint for OpenStack", + "type": "string" + }, + "insecure": { + "description": "For self signed certs in IdentityEndpoint", + "type": "boolean" + }, + "parentRegion": { + "description": "Parent region of OpenStack", + "type": "string" + }, + "password": { + "description": "Password of OpenStack account", + "type": "string" + }, + "username": { + "description": "Username of OpenStack account", + "type": "string" + } + } + } + }, { "type": "string", - "description": "resourceGroup for which Azure storage accounts are requested", - "name": "resourceGroup", - "in": "path", - "required": true + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "type": "string", + "description": "Audit uid for the request" + } + } + } + } + } + }, + "/v1/clouds/openstack/azs": { + "get": { + "security": [ + { + "ApiKey": [] }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Retrieves a list of OpenStack azs for a particular account uid", + "operationId": "V1OpenStackAzsGet", + "parameters": [ { "type": "string", - "description": "Uid for the specific Azure cloud account", + "description": "Uid for the specific OpenStack cloud account", "name": "cloudAccountUid", "in": "query" }, { "type": "string", - "description": "subscriptionId for which Azure storage accounts are requested", - "name": "subscriptionId", - "in": "query", - "required": true + "description": "project for which OpenStack azs are requested", + "name": "project", + "in": "query" }, { "type": "string", - "description": "resourceGroup for which Azure storage accounts are requested", - "name": "storageAccountName", - "in": "path", - "required": true + "description": "region for which OpenStack azs are requested", + "name": "region", + "in": "query" + }, + { + "type": "string", + "description": "domain for which OpenStack azs are requested", + "name": "domain", + "in": "query" }, { "type": "string", @@ -53974,25 +50798,21 @@ "200": { "description": "(empty)", "schema": { - "description": "List of Azure storage containers", + "description": "List of OpenStack azs", "type": "object", + "required": [ + "azs" + ], "properties": { - "containers": { + "azs": { "type": "array", + "uniqueItems": true, "items": { - "description": "Azure storage container organizes a set of blobs, similar to a directory in a file system", + "description": "OpenStack az entity", "type": "object", "properties": { - "id": { - "description": "Fully qualified resource ID for the resource.", - "type": "string" - }, "name": { - "description": "The name of the resource", - "type": "string" - }, - "type": { - "description": "The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\"", + "description": "Name of OpenStack az", "type": "string" } } @@ -54004,7 +50824,7 @@ } } }, - "/v1/clouds/azure/storageaccounttypes": { + "/v1/clouds/openstack/flavors": { "get": { "security": [ { @@ -54014,19 +50834,36 @@ "Authorization": [] } ], - "description": "Returns Azure storage account types.", "tags": [ "v1" ], - "summary": "Get Azure storage account types", - "operationId": "V1AzureStorageAccountTypes", + "summary": "Returns the OpenStack flavors", + "operationId": "V1OpenStackFlavorsGet", "parameters": [ { "type": "string", - "description": "Region for which Azure storage account types are requested", + "description": "Uid for the specific OpenStack cloud account", + "name": "cloudAccountUid", + "in": "query" + }, + { + "type": "string", + "description": "project for which OpenStack flavors are requested", + "name": "project", + "in": "query" + }, + { + "type": "string", + "description": "region for which OpenStack flavors are requested", "name": "region", "in": "query" }, + { + "type": "string", + "description": "domain for which OpenStack flavors are requested", + "name": "domain", + "in": "query" + }, { "type": "string", "description": "Scope the request to the specified project uid", @@ -54038,22 +50875,42 @@ "200": { "description": "(empty)", "schema": { - "description": "Azure Storage Account Entity", + "description": "List of OpenStack flavours", "type": "object", + "required": [ + "items" + ], "properties": { - "storageAccountTypes": { + "items": { "type": "array", + "uniqueItems": true, "items": { - "description": "Azure storage account entity", + "description": "OpenStack flavor entity. Flavor represent (virtual) hardware configurations for server resources", "type": "object", "properties": { + "disk": { + "description": "Disk is the amount of root disk, measured in GB", + "type": "integer" + }, + "ephemeral": { + "description": "Ephemeral is the amount of ephemeral disk space, measured in GB", + "type": "integer" + }, "id": { - "description": "Azure storage account id", + "description": "ID is the flavor's unique ID", "type": "string" }, + "memory": { + "description": "Amount of memory, measured in MB", + "type": "integer" + }, "name": { - "description": "Azure storage account name", + "description": "Name is the name of the flavor", "type": "string" + }, + "vcpus": { + "description": "VCPUs indicates how many (virtual) CPUs are available for this flavor", + "type": "integer" } } } @@ -54064,7 +50921,7 @@ } } }, - "/v1/clouds/azure/subscriptions": { + "/v1/clouds/openstack/keypairs": { "get": { "security": [ { @@ -54074,19 +50931,35 @@ "Authorization": [] } ], - "description": "Returns list of Azure subscription list.", "tags": [ "v1" ], - "summary": "Retrieves a list of Azure subscription list for the specified account", - "operationId": "V1AzureSubscriptionList", + "summary": "Returns the OpenStack keypair", + "operationId": "V1OpenStackKeypairsGet", "parameters": [ { "type": "string", - "description": "Uid for the specific Azure cloud account", + "description": "Uid for the specific OpenStack cloud account", "name": "cloudAccountUid", - "in": "query", - "required": true + "in": "query" + }, + { + "type": "string", + "description": "project for which OpenStack keypairs are requested", + "name": "project", + "in": "query" + }, + { + "type": "string", + "description": "region for which OpenStack keypairs are requested", + "name": "region", + "in": "query" + }, + { + "type": "string", + "description": "domain for which OpenStack keypairs are requested", + "name": "domain", + "in": "query" }, { "type": "string", @@ -54099,29 +50972,25 @@ "200": { "description": "(empty)", "schema": { - "description": "List of Azure subscription", + "description": "List of OpenStack keypairs", "type": "object", + "required": [ + "items" + ], "properties": { - "subscriptionList": { + "items": { "type": "array", + "uniqueItems": true, "items": { - "description": "Azure Subscription Type", + "description": "OpenStack keypair. KeyPair is an SSH key known to the OpenStack Cloud that is available to be injected into servers", "type": "object", "properties": { - "authorizationSource": { - "description": "The authorization source of the request. Valid values are one or more combinations of Legacy, RoleBased, Bypassed, Direct and Management", - "type": "string" - }, - "displayName": { - "description": "The subscription display name", - "type": "string" - }, - "state": { - "description": "The subscription state. Possible values are Enabled, Warned, PastDue, Disabled, and Deleted.", + "name": { + "description": "Name is used to refer to this keypair from other services within this region", "type": "string" }, - "subscriptionId": { - "description": "The subscription ID", + "publicKey": { + "description": "PublicKey is the public key from this pair, in OpenSSH format", "type": "string" } } @@ -54133,7 +51002,7 @@ } } }, - "/v1/clouds/azure/vhds/{vhd}/url": { + "/v1/clouds/openstack/networks": { "get": { "security": [ { @@ -54146,60 +51015,33 @@ "tags": [ "v1" ], - "summary": "Returns the Azure vhd url for the specified vhd location", - "operationId": "V1AzureVhdUrl", + "summary": "Returns the OpenStack networks", + "operationId": "V1OpenStackNetworksGet", "parameters": [ { "type": "string", - "description": "vhd location for which Azure vhd url is requested", - "name": "vhd", - "in": "path", - "required": true + "description": "Uid for the specific OpenStack cloud account", + "name": "cloudAccountUid", + "in": "query" }, { "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "(empty)", - "schema": { - "description": "Azure vhd url entity", - "type": "object", - "properties": { - "name": { - "description": "The name of the resource", - "type": "string" - }, - "url": { - "description": "The url of the Azure Vhd", - "type": "string" - } - } - } - } - } - } - }, - "/v1/clouds/cloudTypes": { - "get": { - "security": [ + "description": "project for which OpenStack networks are requested", + "name": "project", + "in": "query" + }, { - "ApiKey": [] + "type": "string", + "description": "region for which OpenStack networks are requested", + "name": "region", + "in": "query" }, { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Returns the custom cloud types", - "operationId": "V1CustomCloudTypesGet", - "parameters": [ + "type": "string", + "description": "domain for which OpenStack networks are requested", + "name": "domain", + "in": "query" + }, { "type": "string", "description": "Scope the request to the specified project uid", @@ -54211,55 +51053,53 @@ "200": { "description": "(empty)", "schema": { - "description": "Custom cloudType content response", + "description": "List of OpenStack networks", "type": "object", + "required": [ + "items" + ], "properties": { - "cloudTypes": { - "description": "Array of custom cloud types", + "items": { "type": "array", + "uniqueItems": true, "items": { + "description": "OpenStack network", "type": "object", "properties": { - "cloudCategory": { - "description": "Cloud category description", - "type": "string", - "default": "cloud", - "enum": [ - "datacenter", - "cloud", - "edge" - ] - }, - "cloudFamily": { - "description": "Cloud grouping as family", - "type": "string" - }, - "displayName": { - "description": "Custom cloudtype displayName", + "description": { + "description": "Description of OpenStack network", "type": "string" }, - "isCustom": { - "description": "If it is a custom cloudtype", - "type": "boolean", - "x-omitempty": false - }, - "isManaged": { - "description": "If custom cloudtype is managed", - "type": "boolean", - "x-omitempty": false - }, - "isVertex": { - "description": "If cloud is support for Vertex env", - "type": "boolean", - "x-omitempty": false - }, - "logo": { - "description": "Custom cloudtype logo", + "id": { + "description": "Id of OpenStack network", "type": "string" }, "name": { - "description": "Custom cloudtype name", + "description": "Name of OpenStack network", "type": "string" + }, + "subnets": { + "description": "Subnets associated with OpenStack network", + "type": "array", + "uniqueItems": true, + "items": { + "description": "OpenStack subnet entity", + "type": "object", + "properties": { + "description": { + "description": "Description for the network", + "type": "string" + }, + "id": { + "description": "UUID for the network", + "type": "string" + }, + "name": { + "description": "Human-readable name for the network. Might not be unique", + "type": "string" + } + } + } } } } @@ -54270,8 +51110,8 @@ } } }, - "/v1/clouds/cloudTypes/register": { - "post": { + "/v1/clouds/openstack/projects": { + "get": { "security": [ { "ApiKey": [] @@ -54283,71 +51123,14 @@ "tags": [ "v1" ], - "summary": "Registers the custom cloud type", - "operationId": "V1CustomCloudTypeRegister", + "summary": "Returns the OpenStack projects", + "operationId": "V1OpenStackProjectsGet", "parameters": [ { - "description": "Request payload to register custom cloud type", - "name": "body", - "in": "body", - "schema": { - "description": "Custom cloud request entity", - "type": "object", - "properties": { - "metadata": { - "description": "ObjectMeta input entity for object creation", - "type": "object", - "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "name": { - "description": "Name of the resource.", - "type": "string" - } - } - }, - "spec": { - "description": "Custom cloud request entity spec", - "type": "object", - "properties": { - "cloudCategory": { - "description": "Cloud category description", - "type": "string", - "default": "cloud", - "enum": [ - "datacenter", - "cloud", - "edge" - ] - }, - "displayName": { - "description": "Custom cloud displayName", - "type": "string" - }, - "isControlPlaneManaged": { - "description": "If the custom cloud is a managed cluster", - "type": "boolean" - }, - "logo": { - "description": "Custom cloud logo", - "type": "string" - } - } - } - } - } + "type": "string", + "description": "Uid for the specific OpenStack cloud account", + "name": "cloudAccountUid", + "in": "query" }, { "type": "string", @@ -54357,31 +51140,53 @@ } ], "responses": { - "201": { - "description": "Created successfully", + "200": { + "description": "(empty)", "schema": { + "description": "Array of OpenStack projects", "type": "object", "required": [ - "uid" + "items" ], "properties": { - "uid": { - "type": "string" + "items": { + "type": "array", + "uniqueItems": true, + "items": { + "description": "Project represents an OpenStack Identity Project", + "type": "object", + "properties": { + "description": { + "description": "Description is the description of the project", + "type": "string" + }, + "domainId": { + "description": "DomainID is the domain ID the project belongs to", + "type": "string" + }, + "id": { + "description": "ID is the unique ID of the project", + "type": "string" + }, + "name": { + "description": "Name is the name of the project", + "type": "string" + }, + "parentProjectId": { + "description": "ParentID is the parent_id of the project", + "type": "string" + } + } + } } } - }, - "headers": { - "AuditUid": { - "type": "string", - "description": "Audit uid for the request" - } } } } } }, - "/v1/clouds/cloudTypes/{cloudType}": { - "delete": { + "/v1/clouds/openstack/regions": { + "get": { "security": [ { "ApiKey": [] @@ -54393,46 +51198,15 @@ "tags": [ "v1" ], - "summary": "Deletes the custom cloud type", - "operationId": "V1CustomCloudTypesDelete", + "summary": "Returns the OpenStack regions", + "operationId": "V1OpenStackRegionsGet", "parameters": [ { "type": "string", - "description": "Unique cloud type", - "name": "cloudType", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "204": { - "description": "The resource was deleted successfully" - } - } - } - }, - "/v1/clouds/cloudTypes/{cloudType}/cloudAccountKeys": { - "get": { - "security": [ - { - "ApiKey": [] + "description": "Uid for the specific OpenStack cloud account", + "name": "cloudAccountUid", + "in": "query" }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Returns valid keys for the cloud account used for custom cloud type", - "operationId": "V1CustomCloudTypeCloudAccountKeysGet", - "parameters": [ { "type": "string", "description": "Scope the request to the specified project uid", @@ -54444,22 +51218,67 @@ "200": { "description": "(empty)", "schema": { - "description": "Custom cloudType custom cloud account keys", + "description": "List of OpenStack regions and domains", "type": "object", + "required": [ + "regions", + "domains" + ], "properties": { - "keys": { - "description": "Array of custom cloud type cloud account keys", + "domains": { + "description": "List of OpenStack domains", "type": "array", + "uniqueItems": true, "items": { - "type": "string" + "description": "OpenStack domain. A Domain is a collection of projects, users, and roles", + "type": "object", + "properties": { + "description": { + "description": "Description is the description of the Domain", + "type": "string" + }, + "id": { + "description": "ID is the unique ID of the domain", + "type": "string" + }, + "name": { + "description": "Name is the name of the domain", + "type": "string" + } + } + } + }, + "regions": { + "description": "List of OpenStack regions", + "type": "array", + "uniqueItems": true, + "items": { + "description": "OpenStack region entity", + "type": "object", + "properties": { + "description": { + "description": "Description of OpenStack region", + "type": "string" + }, + "id": { + "description": "Id of OpenStack region", + "type": "string" + }, + "parentRegionId": { + "description": "Parent region id of OpenStack region", + "type": "string" + } + } } } } } } } - }, - "put": { + } + }, + "/v1/clouds/tencent/account/validate": { + "post": { "security": [ { "ApiKey": [] @@ -54471,24 +51290,28 @@ "tags": [ "v1" ], - "summary": "Update the custom cloud type cloud account keys", - "operationId": "V1CustomCloudTypeCloudAccountKeysUpdate", + "summary": "Validate the specified Tencent account credentials", + "operationId": "V1TencentAccountValidate", "parameters": [ { - "description": "Request payload for custom cloud meta entity", - "name": "body", + "description": "Request payload to validate tencent cloud account", + "name": "account", "in": "body", "required": true, "schema": { - "description": "Custom cloudType custom cloud account keys", "type": "object", + "required": [ + "secretId", + "secretKey" + ], "properties": { - "keys": { - "description": "Array of custom cloud type cloud account keys", - "type": "array", - "items": { - "type": "string" - } + "secretId": { + "description": "Tencent api secretID", + "type": "string" + }, + "secretKey": { + "description": "Tencent api secret key", + "type": "string" } } } @@ -54511,18 +51334,9 @@ } } } - }, - "parameters": [ - { - "type": "string", - "description": "Unique cloud type", - "name": "cloudType", - "in": "path", - "required": true - } - ] + } }, - "/v1/clouds/cloudTypes/{cloudType}/content/bootstrap": { + "/v1/clouds/tencent/regions": { "get": { "security": [ { @@ -54535,9 +51349,16 @@ "tags": [ "v1" ], - "summary": "Returns the custom cloud type bootstrap", - "operationId": "V1CustomCloudTypeBootstrapGet", + "summary": "Retrieves a list of Tencent regions for the specified account", + "operationId": "V1TencentRegions", "parameters": [ + { + "type": "string", + "description": "Uid for the specific Tencent cloud account", + "name": "cloudAccountUid", + "in": "query", + "required": true + }, { "type": "string", "description": "Scope the request to the specified project uid", @@ -54549,19 +51370,38 @@ "200": { "description": "(empty)", "schema": { - "description": "Custom cloudType content response", + "description": "List of tencent regions", "type": "object", + "required": [ + "regions" + ], "properties": { - "yaml": { - "description": "custom cloud type content", - "type": "string" + "regions": { + "description": "Tencent regions entity", + "type": "array", + "items": { + "description": "Tencent region entity", + "type": "object", + "properties": { + "name": { + "description": "Name of tencent region", + "type": "string" + }, + "state": { + "description": "State of tencent region", + "type": "string" + } + } + } } } } } } - }, - "put": { + } + }, + "/v1/clouds/tencent/regions/{region}/instancetypes": { + "get": { "security": [ { "ApiKey": [] @@ -54570,19 +51410,46 @@ "Authorization": [] } ], - "consumes": [ - "multipart/form-data" - ], "tags": [ "v1" ], - "summary": "Update the custom cloud type bootstrap", - "operationId": "V1CustomCloudTypeBootstrapUpdate", + "summary": "Retrieves a list of Tencent instance types", + "operationId": "V1TencentInstanceTypes", "parameters": [ { - "type": "file", - "name": "fileName", - "in": "formData" + "type": "string", + "description": "Region for which tencent instances are listed", + "name": "region", + "in": "path", + "required": true + }, + { + "type": "number", + "format": "double", + "description": "Filter for instances having cpu greater than or equal", + "name": "cpuGtEq", + "in": "query" + }, + { + "type": "number", + "format": "double", + "description": "Filter for instances having memory greater than or equal", + "name": "memoryGtEq", + "in": "query" + }, + { + "type": "number", + "format": "double", + "description": "Filter for instances having gpu greater than or equal", + "name": "gpuGtEq", + "in": "query" + }, + { + "type": "string", + "description": "Uid for the specific tencent cloud account", + "name": "cloudAccountUid", + "in": "query", + "required": true }, { "type": "string", @@ -54592,18 +51459,111 @@ } ], "responses": { - "204": { - "description": "Ok response without content", - "headers": { - "AuditUid": { - "type": "string", - "description": "Audit uid for the request" + "200": { + "description": "(empty)", + "schema": { + "description": "List of Tencent instance types", + "type": "object", + "properties": { + "instanceTypes": { + "type": "array", + "items": { + "description": "Cloud Instance type details", + "type": "object", + "properties": { + "category": { + "description": "Category of instance type", + "type": "string", + "x-go-name": "Category" + }, + "cost": { + "description": "Instance cost entity", + "type": "object", + "properties": { + "price": { + "description": "Array of cloud instance price", + "type": "array", + "items": { + "description": "Cloud instance price", + "type": "object", + "properties": { + "onDemand": { + "description": "OnDemand price of instance", + "type": "number", + "format": "double" + }, + "os": { + "description": "Os associated with instance price. Allowed values - [linux, windows]", + "type": "string", + "enum": [ + "linux", + "windows" + ] + }, + "spot": { + "description": "Spot price of instance", + "type": "number", + "format": "double" + } + } + } + } + } + }, + "cpu": { + "description": "Cpu of instance type", + "type": "number", + "format": "double", + "x-go-name": "Cpu" + }, + "gpu": { + "description": "Gpu of instance type", + "type": "number", + "format": "double", + "x-go-name": "Gpu" + }, + "memory": { + "description": "Memory of instance type", + "type": "number", + "format": "double", + "x-go-name": "Memory" + }, + "nonSupportedZones": { + "description": "Non supported zones of the instance in a particular region", + "type": "array", + "items": { + "type": "string" + } + }, + "price": { + "description": "Price of instance type", + "type": "number", + "format": "double", + "x-go-name": "Price" + }, + "supportedArchitectures": { + "description": "Supported architecture of the instance", + "type": "array", + "items": { + "type": "string" + } + }, + "type": { + "description": "Type of instance type", + "type": "string", + "x-go-name": "Type" + } + } + } + } } } } } - }, - "delete": { + } + }, + "/v1/clouds/tencent/regions/{region}/keypairs": { + "get": { "security": [ { "ApiKey": [] @@ -54615,9 +51575,23 @@ "tags": [ "v1" ], - "summary": "Delete the custom cloud type bootstrap", - "operationId": "V1CustomCloudTypeBootstrapDelete", + "summary": "Retrieves a list of keypairs for the specified account", + "operationId": "V1TencentKeypairs", "parameters": [ + { + "type": "string", + "description": "Region for which keypairs are requested", + "name": "region", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "Uid for the specific Tencent cloud account", + "name": "cloudAccountUid", + "in": "query", + "required": true + }, { "type": "string", "description": "Scope the request to the specified project uid", @@ -54626,22 +51600,40 @@ } ], "responses": { - "204": { - "description": "The resource was deleted successfully" + "200": { + "description": "(empty)", + "schema": { + "description": "List of Tencent keypairs", + "type": "object", + "properties": { + "keypairs": { + "type": "array", + "items": { + "description": "Tencent Keypair entity", + "type": "object", + "properties": { + "id": { + "description": "Tencent keypair id", + "type": "string" + }, + "name": { + "description": "Tencent keypair name", + "type": "string" + }, + "publickey": { + "description": "Tencent public key", + "type": "string" + } + } + } + } + } + } } } - }, - "parameters": [ - { - "type": "string", - "description": "Unique cloud type", - "name": "cloudType", - "in": "path", - "required": true - } - ] + } }, - "/v1/clouds/cloudTypes/{cloudType}/content/cloudProvider": { + "/v1/clouds/tencent/regions/{region}/securitygroups": { "get": { "security": [ { @@ -54654,9 +51646,23 @@ "tags": [ "v1" ], - "summary": "Returns the custom cloud type cloud provider", - "operationId": "V1CustomCloudTypeCloudProviderGet", + "summary": "Retrieves a list of secutity groups for the specified account", + "operationId": "V1TencentSecurityGroups", "parameters": [ + { + "type": "string", + "description": "Region for which security groups are requested", + "name": "region", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "Uid for the specific Tencent cloud account", + "name": "cloudAccountUid", + "in": "query", + "required": true + }, { "type": "string", "description": "Scope the request to the specified project uid", @@ -54668,19 +51674,42 @@ "200": { "description": "(empty)", "schema": { - "description": "Custom cloudType content response", + "description": "List of Tencent security groups", "type": "object", "properties": { - "yaml": { - "description": "custom cloud type content", - "type": "string" + "groups": { + "type": "array", + "items": { + "description": "Tencent Security Group. A security group is a virtual firewall that features stateful data packet filtering", + "type": "object", + "properties": { + "id": { + "description": "Tencent security group id", + "type": "string" + }, + "isDefault": { + "description": "Whether it is the default security group, the default security group does not support deletion.", + "type": "boolean" + }, + "name": { + "description": "Tencent security group name", + "type": "string" + }, + "projectId": { + "description": "Tencent security group associated to a project", + "type": "string" + } + } + } } } } } } - }, - "put": { + } + }, + "/v1/clouds/tencent/regions/{region}/storagetypes": { + "get": { "security": [ { "ApiKey": [] @@ -54689,19 +51718,32 @@ "Authorization": [] } ], - "consumes": [ - "multipart/form-data" - ], "tags": [ "v1" ], - "summary": "Update the custom cloud type cloud provider", - "operationId": "V1CustomCloudTypeCloudProviderUpdate", + "summary": "Retrieves a list of Tencent storage types", + "operationId": "V1TencentStorageTypes", "parameters": [ { - "type": "file", - "name": "fileName", - "in": "formData" + "type": "string", + "description": "Region for which tencent storages are listed", + "name": "region", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "Uid for the specific tencent cloud account", + "name": "cloudAccountUid", + "in": "query", + "required": true + }, + { + "type": "string", + "description": "Zone for which tencent storages are listed", + "name": "zone", + "in": "query", + "required": true }, { "type": "string", @@ -54711,18 +51753,121 @@ } ], "responses": { - "204": { - "description": "Ok response without content", - "headers": { - "AuditUid": { - "type": "string", - "description": "Audit uid for the request" + "200": { + "description": "(empty)", + "schema": { + "description": "List of Tencent storage types", + "type": "object", + "properties": { + "storageTypes": { + "type": "array", + "items": { + "description": "Cloud cloud Storage type details", + "type": "object", + "properties": { + "cost": { + "description": "Cloud storage cost", + "type": "object", + "properties": { + "discountedUsage": { + "description": "Cloud storage upper limit which is free.", + "type": "string" + }, + "price": { + "description": "Array of cloud storage range prices", + "type": "array", + "items": { + "description": "Cloud storage price within an upper limit.", + "type": "object", + "properties": { + "limit": { + "description": "Upper limit of cloud storage usage", + "type": "string" + }, + "price": { + "description": "Price of cloud storage type", + "type": "string" + } + } + } + } + } + }, + "iopsCost": { + "description": "Cloud storage cost", + "type": "object", + "properties": { + "discountedUsage": { + "description": "Cloud storage upper limit which is free.", + "type": "string" + }, + "price": { + "description": "Array of cloud storage range prices", + "type": "array", + "items": { + "description": "Cloud storage price within an upper limit.", + "type": "object", + "properties": { + "limit": { + "description": "Upper limit of cloud storage usage", + "type": "string" + }, + "price": { + "description": "Price of cloud storage type", + "type": "string" + } + } + } + } + } + }, + "kind": { + "description": "kind of storage type", + "type": "string" + }, + "name": { + "description": "Name of the storage type", + "type": "string" + }, + "throughputCost": { + "description": "Cloud storage cost", + "type": "object", + "properties": { + "discountedUsage": { + "description": "Cloud storage upper limit which is free.", + "type": "string" + }, + "price": { + "description": "Array of cloud storage range prices", + "type": "array", + "items": { + "description": "Cloud storage price within an upper limit.", + "type": "object", + "properties": { + "limit": { + "description": "Upper limit of cloud storage usage", + "type": "string" + }, + "price": { + "description": "Price of cloud storage type", + "type": "string" + } + } + } + } + } + } + } + } + } } } } } - }, - "delete": { + } + }, + "/v1/clouds/tencent/regions/{region}/vpcs": { + "get": { "security": [ { "ApiKey": [] @@ -54734,9 +51879,23 @@ "tags": [ "v1" ], - "summary": "Delete the custom cloud type cloud provider", - "operationId": "V1CustomCloudTypeCloudProviderDelete", + "summary": "Retrieves a list of VPCs for the specified account", + "operationId": "V1TencentVpcs", "parameters": [ + { + "type": "string", + "description": "Region for which VPCs are requested", + "name": "region", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "Uid for the specific Tencent cloud account", + "name": "cloudAccountUid", + "in": "query", + "required": true + }, { "type": "string", "description": "Scope the request to the specified project uid", @@ -54745,22 +51904,71 @@ } ], "responses": { - "204": { - "description": "The resource was deleted successfully" + "200": { + "description": "(empty)", + "schema": { + "description": "List of Tencent VPCs", + "type": "object", + "required": [ + "vpcs" + ], + "properties": { + "vpcs": { + "type": "array", + "items": { + "description": "Tencent VPC entity", + "type": "object", + "required": [ + "vpcId" + ], + "properties": { + "cidrBlock": { + "description": "Tencent VPC CIDR. The CIDR notation consists of an IP address, a slash character ('/') and a decimal number from 0 to 32", + "type": "string" + }, + "name": { + "description": "Tencent VPC name", + "type": "string" + }, + "subnets": { + "type": "array", + "items": { + "description": "Tencent Subnet entity", + "type": "object", + "properties": { + "az": { + "description": "Availability zone associated with tencent subnet", + "type": "string" + }, + "cidrBlock": { + "description": "Tencent subnet CIDR. The CIDR notation consists of an IP address, a slash character ('/') and a decimal number from 0 to 32", + "type": "string" + }, + "name": { + "description": "Tencent subnet name", + "type": "string" + }, + "subnetId": { + "description": "Tencent subnet id", + "type": "string" + } + } + } + }, + "vpcId": { + "description": "Tencent VPC id", + "type": "string" + } + } + } + } + } + } } } - }, - "parameters": [ - { - "type": "string", - "description": "Unique cloud type", - "name": "cloudType", - "in": "path", - "required": true - } - ] + } }, - "/v1/clouds/cloudTypes/{cloudType}/content/controlPlane": { + "/v1/clouds/tencent/regions/{region}/zones": { "get": { "security": [ { @@ -54773,9 +51981,23 @@ "tags": [ "v1" ], - "summary": "Returns the custom cloud type control plane", - "operationId": "V1CustomCloudTypeControlPlaneGet", + "summary": "Retrieves a list of Tencent availability zones for the specified region", + "operationId": "V1TencentZones", "parameters": [ + { + "type": "string", + "description": "Region for which zones are requested", + "name": "region", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "Uid for the specific Tencent cloud account", + "name": "cloudAccountUid", + "in": "query", + "required": true + }, { "type": "string", "description": "Scope the request to the specified project uid", @@ -54787,19 +52009,41 @@ "200": { "description": "(empty)", "schema": { - "description": "Custom cloudType content response", + "description": "List of Tencent Availability zones", "type": "object", + "required": [ + "zones" + ], "properties": { - "yaml": { - "description": "custom cloud type content", - "type": "string" + "zones": { + "type": "array", + "items": { + "description": "Tencent availability zone", + "type": "object", + "properties": { + "name": { + "description": "Tencent availability zone name", + "type": "string" + }, + "state": { + "description": "Tencent availability zone state", + "type": "string" + }, + "zoneId": { + "description": "Tencent availability zone id", + "type": "string" + } + } + } } } } } } - }, - "put": { + } + }, + "/v1/clouds/vsphere/account/validate": { + "post": { "security": [ { "ApiKey": [] @@ -54808,19 +52052,43 @@ "Authorization": [] } ], - "consumes": [ - "multipart/form-data" - ], + "description": "Returns no contents if account is valid else error.", "tags": [ "v1" ], - "summary": "Update the custom cloud type control plane", - "operationId": "V1CustomCloudTypeControlPlaneUpdate", + "summary": "Check if Vsphere account is valid", + "operationId": "V1VsphereAccountValidate", "parameters": [ { - "type": "file", - "name": "fileName", - "in": "formData" + "description": "Request payload for VSphere cloud account", + "name": "vsphereCloudAccount", + "in": "body", + "required": true, + "schema": { + "type": "object", + "required": [ + "vcenterServer", + "username", + "password" + ], + "properties": { + "insecure": { + "description": "Insecure is a flag that controls whether or not to validate the vSphere server's certificate.", + "type": "boolean", + "x-omitempty": false + }, + "password": { + "type": "string" + }, + "username": { + "type": "string" + }, + "vcenterServer": { + "description": "VcenterServer is the address of the vSphere endpoint", + "type": "string" + } + } + } }, { "type": "string", @@ -54840,8 +52108,10 @@ } } } - }, - "delete": { + } + }, + "/v1/clouds/vsphere/datacenters": { + "get": { "security": [ { "ApiKey": [] @@ -54853,48 +52123,15 @@ "tags": [ "v1" ], - "summary": "Delete the custom cloud type control plane", - "operationId": "V1CustomCloudTypeControlPlaneDelete", + "summary": "Returns the vsphere data centers", + "operationId": "V1VsphereDatacenters", "parameters": [ { "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "204": { - "description": "The resource was deleted successfully" - } - } - }, - "parameters": [ - { - "type": "string", - "description": "Unique cloud type", - "name": "cloudType", - "in": "path", - "required": true - } - ] - }, - "/v1/clouds/cloudTypes/{cloudType}/content/templates/clusterTemplate": { - "get": { - "security": [ - { - "ApiKey": [] + "description": "Uid for the specific OpenStack cloud account", + "name": "cloudAccountUid", + "in": "query" }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Returns the custom cloud type cluster template", - "operationId": "V1CustomCloudTypeClusterTemplateGet", - "parameters": [ { "type": "string", "description": "Scope the request to the specified project uid", @@ -54906,19 +52143,51 @@ "200": { "description": "(empty)", "schema": { - "description": "Custom cloudType content response", + "description": "List of Datacenters with computeclusters", "type": "object", + "required": [ + "items" + ], "properties": { - "yaml": { - "description": "custom cloud type content", - "type": "string" + "items": { + "description": "List of associated datacenters", + "type": "array", + "uniqueItems": true, + "items": { + "description": "List of Datacenter with computeclusters", + "type": "object", + "properties": { + "computeclusters": { + "description": "List of the VSphere compute clusters in datacenter", + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + }, + "datacenter": { + "description": "name of the datacenter of the VSphere", + "type": "string" + }, + "folders": { + "description": "List of the VSphere folders in datacenter", + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + } + } + } } } } } } - }, - "put": { + } + }, + "/v1/clouds/vsphere/datacenters/{uid}/computeclusters/{computecluster}": { + "get": { "security": [ { "ApiKey": [] @@ -54927,93 +52196,33 @@ "Authorization": [] } ], - "consumes": [ - "multipart/form-data" - ], "tags": [ "v1" ], - "summary": "Update the custom cloud type cluster template", - "operationId": "V1CustomCloudTypeClusterTemplateUpdate", + "summary": "Returns the resources for vsphere compute cluster", + "operationId": "V1VsphereComputeClusterResources", "parameters": [ { - "type": "file", - "name": "fileName", - "in": "formData" + "type": "string", + "description": "Uid for the specific VSphere cloud account", + "name": "cloudAccountUid", + "in": "query", + "required": true }, { "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "204": { - "description": "Ok response without content", - "headers": { - "AuditUid": { - "type": "string", - "description": "Audit uid for the request" - } - } - } - } - }, - "delete": { - "security": [ - { - "ApiKey": [] + "description": "computecluster for which resources is requested", + "name": "computecluster", + "in": "path", + "required": true }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Delete the custom cloud type cluster template", - "operationId": "V1CustomCloudTypeClusterTemplateDelete", - "parameters": [ { "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "204": { - "description": "The resource was deleted successfully" - } - } - }, - "parameters": [ - { - "type": "string", - "description": "Unique cloud type", - "name": "cloudType", - "in": "path", - "required": true - } - ] - }, - "/v1/clouds/cloudTypes/{cloudType}/content/templates/controlPlanePoolTemplate": { - "get": { - "security": [ - { - "ApiKey": [] + "description": "VSphere datacenter uid for which resources is requested", + "name": "uid", + "in": "path", + "required": true }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Returns the custom cloud type controlPlane pool template", - "operationId": "V1CustomCloudTypeControlPlanePoolTemplateGet", - "parameters": [ { "type": "string", "description": "Scope the request to the specified project uid", @@ -55025,19 +52234,51 @@ "200": { "description": "(empty)", "schema": { - "description": "Custom cloudType content response", + "description": "Datacenter and its resources like datastore, resoucepool, folders", "type": "object", "properties": { - "yaml": { - "description": "custom cloud type content", + "computecluster": { + "description": "Vsphere compute cluster", + "type": "object", + "properties": { + "datastores": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + }, + "name": { + "type": "string" + }, + "networks": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + }, + "resourcePools": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + } + } + }, + "datacenter": { + "description": "Name of the datacenter", "type": "string" } } } } } - }, - "put": { + } + }, + "/v1/clouds/vsphere/env": { + "get": { "security": [ { "ApiKey": [] @@ -55046,19 +52287,42 @@ "Authorization": [] } ], - "consumes": [ - "multipart/form-data" - ], "tags": [ "v1" ], - "summary": "Update the custom cloud type controlPlane pool template", - "operationId": "V1CustomCloudTypeControlPlanePoolTemplateUpdate", + "summary": "Retrieves vsphere env", + "operationId": "V1VsphereEnv", "parameters": [ { - "type": "file", - "name": "fileName", - "in": "formData" + "description": "Request payload for VSphere cloud account", + "name": "vsphereCloudAccount", + "in": "body", + "required": true, + "schema": { + "type": "object", + "required": [ + "vcenterServer", + "username", + "password" + ], + "properties": { + "insecure": { + "description": "Insecure is a flag that controls whether or not to validate the vSphere server's certificate.", + "type": "boolean", + "x-omitempty": false + }, + "password": { + "type": "string" + }, + "username": { + "type": "string" + }, + "vcenterServer": { + "description": "VcenterServer is the address of the vSphere endpoint", + "type": "string" + } + } + } }, { "type": "string", @@ -55068,18 +52332,24 @@ } ], "responses": { - "204": { - "description": "Ok response without content", - "headers": { - "AuditUid": { - "type": "string", - "description": "Audit uid for the request" + "200": { + "description": "(empty)", + "schema": { + "description": "Vsphere environment entity", + "type": "object", + "properties": { + "version": { + "description": "Version of vsphere environment", + "type": "string" + } } } } } - }, - "delete": { + } + }, + "/v1/clouds/{cloudType}/instance/spotprice": { + "get": { "security": [ { "ApiKey": [] @@ -55091,48 +52361,37 @@ "tags": [ "v1" ], - "summary": "Delete the custom cloud type controlPlane pool template", - "operationId": "V1CustomCloudTypeControlPlanePoolTemplateDelete", + "summary": "Retrieves the cloud instance spot price based on zone and timestamp for a specific cloud", + "operationId": "V1CloudInstanceSpotPriceGet", "parameters": [ { "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "204": { - "description": "The resource was deleted successfully" - } - } - }, - "parameters": [ - { - "type": "string", - "description": "Unique cloud type", - "name": "cloudType", - "in": "path", - "required": true - } - ] - }, - "/v1/clouds/cloudTypes/{cloudType}/content/templates/workerPoolTemplate": { - "get": { - "security": [ + "description": "Cloud type [aws/azure/gcp/tencent]", + "name": "cloudType", + "in": "path", + "required": true + }, { - "ApiKey": [] + "type": "string", + "description": "Instance type for a specific cloud type", + "name": "instanceType", + "in": "query", + "required": true }, { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Returns the custom cloud type worker pool template", - "operationId": "V1CustomCloudTypeWorkerPoolTemplateGet", - "parameters": [ + "type": "string", + "description": "Availability zone for a specific cloud type", + "name": "zone", + "in": "query", + "required": true + }, + { + "type": "string", + "format": "date-time", + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "name": "timestamp", + "in": "query" + }, { "type": "string", "description": "Scope the request to the specified project uid", @@ -55144,19 +52403,23 @@ "200": { "description": "(empty)", "schema": { - "description": "Custom cloudType content response", + "description": "Spot price entity of a particular cloud type", "type": "object", "properties": { - "yaml": { - "description": "custom cloud type content", - "type": "string" + "spotPrice": { + "description": "Spot price of a resource for a particular cloud", + "type": "number", + "format": "float64", + "x-omitempty": false } } } } } - }, - "put": { + } + }, + "/v1/clouds/{cloud}/compute/{type}/rate": { + "get": { "security": [ { "ApiKey": [] @@ -55165,54 +52428,33 @@ "Authorization": [] } ], - "consumes": [ - "multipart/form-data" - ], "tags": [ "v1" ], - "summary": "Update the custom cloud type worker pool template", - "operationId": "V1CustomCloudTypeWorkerPoolTemplateUpdate", + "summary": "Returns the cloud compute rate", + "operationId": "V1CloudComputeRate", "parameters": [ { - "type": "file", - "name": "fileName", - "in": "formData" + "type": "string", + "description": "cloud for which compute rate is requested", + "name": "cloud", + "in": "path", + "required": true }, { "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "204": { - "description": "Ok response without content", - "headers": { - "AuditUid": { - "type": "string", - "description": "Audit uid for the request" - } - } - } - } - }, - "delete": { - "security": [ - { - "ApiKey": [] + "description": "instance type for which compute rate is requested", + "name": "type", + "in": "path", + "required": true }, { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Delete the custom cloud type worker pool template", - "operationId": "V1CustomCloudTypeWorkerPoolTemplateDelete", - "parameters": [ + "type": "string", + "description": "region for which compute rate is requested", + "name": "region", + "in": "query", + "required": true + }, { "type": "string", "description": "Scope the request to the specified project uid", @@ -55221,22 +52463,34 @@ } ], "responses": { - "204": { - "description": "The resource was deleted successfully" + "200": { + "description": "(empty)", + "schema": { + "description": "Cloud cost information", + "type": "object", + "properties": { + "compute": { + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "storage": { + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "total": { + "type": "number", + "format": "float64", + "x-omitempty": false + } + } + } } } - }, - "parameters": [ - { - "type": "string", - "description": "Unique cloud type", - "name": "cloudType", - "in": "path", - "required": true - } - ] + } }, - "/v1/clouds/cloudTypes/{cloudType}/logo": { + "/v1/clouds/{cloud}/storage/{type}/rate": { "get": { "security": [ { @@ -55246,59 +52500,38 @@ "Authorization": [] } ], - "produces": [ - "application/octet-stream" - ], "tags": [ "v1" ], - "summary": "Returns the custom cloud type logo", - "operationId": "V1CustomCloudTypeLogoGet", + "summary": "Returns the cloud storage rate", + "operationId": "V1CloudStorageRate", "parameters": [ { "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "Download the logo", - "schema": { - "type": "string", - "format": "binary" - }, - "headers": { - "Content-Disposition": { - "type": "string" - } - } - } - } - }, - "put": { - "security": [ + "description": "cloud for which compute rate is requested", + "name": "cloud", + "in": "path", + "required": true + }, { - "ApiKey": [] + "type": "string", + "description": "storage type for which compute rate is requested", + "name": "type", + "in": "path", + "required": true }, { - "Authorization": [] - } - ], - "consumes": [ - "multipart/form-data" - ], - "tags": [ - "v1" - ], - "summary": "Update the custom cloud type logo", - "operationId": "V1CustomCloudTypeLogoUpdate", - "parameters": [ + "type": "string", + "description": "region for which compute rate is requested", + "name": "region", + "in": "query", + "required": true + }, { - "type": "file", - "name": "fileName", - "in": "formData" + "type": "integer", + "description": "maxDiskType for which compute rate is requested", + "name": "maxDiskType", + "in": "query" }, { "type": "string", @@ -55308,29 +52541,35 @@ } ], "responses": { - "204": { - "description": "Ok response without content", - "headers": { - "AuditUid": { - "type": "string", - "description": "Audit uid for the request" + "200": { + "description": "(empty)", + "schema": { + "description": "Cloud cost information", + "type": "object", + "properties": { + "compute": { + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "storage": { + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "total": { + "type": "number", + "format": "float64", + "x-omitempty": false + } } } } } - }, - "parameters": [ - { - "type": "string", - "description": "Unique cloud type", - "name": "cloudType", - "in": "path", - "required": true - } - ] + } }, - "/v1/clouds/cloudTypes/{cloudType}/meta": { - "get": { + "/v1/clustergroups": { + "post": { "security": [ { "ApiKey": [] @@ -55342,29 +52581,21 @@ "tags": [ "v1" ], - "summary": "Returns the custom cloud type meta", - "operationId": "V1CustomCloudTypeMetaGet", + "summary": "Create cluster groups", + "operationId": "v1ClusterGroupsCreate", "parameters": [ { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "(empty)", + "name": "body", + "in": "body", "schema": { - "description": "Custom cloud meta entity", - "type": "object", + "description": "Cluster group information", "properties": { "metadata": { "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -55381,7 +52612,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -55393,49 +52624,280 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, "spec": { - "description": "Custom cloud spec response entity", - "type": "object", + "description": "Cluster group specifications request entity", "properties": { - "cloudCategory": { - "description": "Cloud category description", - "type": "string", - "default": "cloud", - "enum": [ - "datacenter", - "cloud", - "edge" - ] + "clusterRefs": { + "type": "array", + "uniqueItems": true, + "items": { + "description": "Cluster group cluster reference", + "properties": { + "clusterName": { + "type": "string" + }, + "clusterUid": { + "type": "string" + } + } + } }, - "displayName": { - "description": "Custom cloud displayName", - "type": "string" + "clustersConfig": { + "description": "Clusters config of cluster group", + "properties": { + "endpointType": { + "description": "Host cluster endpoint type", + "type": "string", + "enum": [ + "Ingress", + "LoadBalancer" + ] + }, + "hostClustersConfig": { + "type": "array", + "uniqueItems": true, + "items": { + "properties": { + "clusterUid": { + "type": "string" + }, + "endpointConfig": { + "properties": { + "ingressConfig": { + "description": "Ingress configuration for exposing the virtual cluster's kube-apiserver", + "properties": { + "host": { + "type": "string" + }, + "port": { + "type": "integer", + "format": "int64" + } + } + }, + "loadBalancerConfig": { + "description": "Load balancer configuration for exposing the virtual cluster's kube-apiserver", + "properties": { + "externalIPs": { + "type": "array", + "items": { + "type": "string" + } + }, + "externalTrafficPolicy": { + "type": "string" + }, + "loadBalancerSourceRanges": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + } + } + }, + "kubernetesDistroType": { + "type": "string", + "default": "k3s", + "enum": [ + "k3s", + "cncf_k8s" + ] + }, + "limitConfig": { + "description": "Cluster group limit config", + "properties": { + "cpu": { + "description": "Deprecated. Use field cpuMilliCore", + "type": "integer", + "format": "int32" + }, + "cpuMilliCore": { + "description": "CPU in milli cores", + "type": "integer", + "format": "int32" + }, + "memory": { + "description": "Deprecated. Use field memoryMiB", + "type": "integer", + "format": "int32" + }, + "memoryMiB": { + "description": "Memory in MiB", + "type": "integer", + "format": "int32" + }, + "overSubscription": { + "description": "Over subscription percentage", + "type": "integer", + "format": "int32" + }, + "storageGiB": { + "description": "Storage in GiB", + "type": "integer", + "format": "int32" + } + } + }, + "values": { + "type": "string" + } + } }, - "isManaged": { - "description": "If the custom cloud is a managed cluster", - "type": "boolean" + "profiles": { + "type": "array", + "items": { + "description": "Cluster profile request payload", + "type": "object", + "properties": { + "packValues": { + "description": "Cluster profile packs array", + "type": "array", + "uniqueItems": true, + "items": { + "description": "Pack values entity to refer the existing pack for the values override", + "type": "object", + "required": [ + "name" + ], + "properties": { + "manifests": { + "description": "Pack manifests are additional content as part of the profile", + "type": "array", + "items": { + "description": "Manifest update request payload", + "required": [ + "name" + ], + "properties": { + "content": { + "description": "Manifest content in yaml", + "type": "string" + }, + "name": { + "description": "Manifest name", + "type": "string" + }, + "uid": { + "description": "Manifest uid", + "type": "string" + } + } + } + }, + "name": { + "description": "Pack name", + "type": "string" + }, + "tag": { + "description": "Pack version tag", + "type": "string" + }, + "type": { + "type": "string", + "default": "spectro", + "enum": [ + "spectro", + "helm", + "manifest", + "oci" + ] + }, + "values": { + "description": "Pack values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", + "type": "string" + } + } + } + }, + "replaceWithProfile": { + "description": "Cluster profile uid to be replaced with new profile", + "type": "string" + }, + "uid": { + "description": "Cluster profile uid", + "type": "string" + }, + "variables": { + "type": "array", + "items": { + "description": "Variable with value which will be used within the packs of cluster profile", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Variable name", + "type": "string" + }, + "value": { + "description": "Actual value of the variable to be used within the cluster", + "type": "string" + } + } + } + } + } + } }, - "logo": { - "description": "Custom cloud logo", - "type": "string" + "type": { + "type": "string", + "enum": [ + "hostCluster" + ] } } } } } + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "schema": { + "type": "object", + "required": [ + "uid" + ], + "properties": { + "uid": { + "type": "string" + } + } + }, + "headers": { + "AuditUid": { + "type": "string", + "description": "Audit uid for the request" + } + } } } - }, - "put": { + } + }, + "/v1/clustergroups/developerCredit/usage/{scope}": { + "get": { "security": [ { "ApiKey": [] @@ -55447,98 +52909,100 @@ "tags": [ "v1" ], - "summary": "Update the custom cloud type meta", - "operationId": "V1CustomCloudTypeMetaUpdate", + "summary": "Get cluster group developer credit usage by scope", + "operationId": "v1ClusterGroupsDeveloperCreditUsageGet", "parameters": [ { - "description": "Request payload for custom cloud meta entity", - "name": "body", - "in": "body", - "required": true, + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "200": { + "description": "Cluster group developer credit usage", "schema": { - "description": "Custom cloud request entity", - "type": "object", + "description": "Cluster group resource allocated and usage information", "properties": { - "metadata": { - "description": "ObjectMeta input entity for object creation", - "type": "object", + "allocatedCredit": { + "description": "Credits allocated for each tenant/user", "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } + "cpu": { + "description": "cpu in cores", + "type": "number", + "format": "int32", + "x-omitempty": false }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { - "type": "string" - } + "memoryGiB": { + "description": "memory in GiB", + "type": "number", + "format": "int32", + "x-omitempty": false }, - "name": { - "description": "Name of the resource.", - "type": "string" + "storageGiB": { + "description": "storage in GiB", + "type": "integer", + "format": "int32", + "x-omitempty": false + }, + "virtualClustersLimit": { + "description": "number of active virtual clusters", + "type": "number", + "format": "int32", + "x-omitempty": false } } }, - "spec": { - "description": "Custom cloud request entity spec", - "type": "object", + "usedCredit": { + "description": "Credits allocated for each tenant/user", "properties": { - "cloudCategory": { - "description": "Cloud category description", - "type": "string", - "default": "cloud", - "enum": [ - "datacenter", - "cloud", - "edge" - ] + "cpu": { + "description": "cpu in cores", + "type": "number", + "format": "int32", + "x-omitempty": false }, - "displayName": { - "description": "Custom cloud displayName", - "type": "string" + "memoryGiB": { + "description": "memory in GiB", + "type": "number", + "format": "int32", + "x-omitempty": false }, - "isControlPlaneManaged": { - "description": "If the custom cloud is a managed cluster", - "type": "boolean" + "storageGiB": { + "description": "storage in GiB", + "type": "integer", + "format": "int32", + "x-omitempty": false }, - "logo": { - "description": "Custom cloud logo", - "type": "string" + "virtualClustersLimit": { + "description": "number of active virtual clusters", + "type": "number", + "format": "int32", + "x-omitempty": false } } } } } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "204": { - "description": "The resource was updated successfully" } } }, "parameters": [ { + "enum": [ + "system", + "tenant" + ], "type": "string", - "description": "Unique cloud type", - "name": "cloudType", + "name": "scope", "in": "path", "required": true } ] }, - "/v1/clouds/coxedge/account/validate": { - "post": { + "/v1/clustergroups/hostCluster": { + "get": { "security": [ { "ApiKey": [] @@ -55550,80 +53014,8 @@ "tags": [ "v1" ], - "summary": "Validate the specified CoxEdge account credentials", - "operationId": "V1CoxEdgeAccountValidate", - "parameters": [ - { - "description": "Request payload to validate CoxEdge cloud account", - "name": "account", - "in": "body", - "required": true, - "schema": { - "description": "CoxEdge cloud account", - "type": "object", - "required": [ - "apiBaseUrl", - "apiKey" - ], - "properties": { - "apiBaseUrl": { - "description": "The base url - used to make api calls", - "type": "string" - }, - "apiKey": { - "description": "CoxEdge cloud account ApiKey", - "type": "string" - }, - "environment": { - "description": "The environment belonging to the organization", - "type": "string" - }, - "organizationId": { - "description": "The Id of organization", - "type": "string" - }, - "service": { - "description": "The service for which the organization is allowed to provision resources", - "type": "string" - } - } - } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "204": { - "description": "Ok response without content", - "headers": { - "AuditUid": { - "type": "string", - "description": "Audit uid for the request" - } - } - } - } - } - }, - "/v1/clouds/coxedge/default/baseurls": { - "get": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Retrieves a list of default base urls", - "operationId": "V1CoxEdgeBaseUrls", + "summary": "Retrieves a list of cluster groups host cluster summary", + "operationId": "v1ClusterGroupsHostClusterSummary", "parameters": [ { "type": "string", @@ -55634,18 +53026,364 @@ ], "responses": { "200": { - "description": "(empty)", + "description": "An array of cluster groups of host cluster type summary", "schema": { - "description": "List of CoxEdge base urls", "type": "object", "required": [ - "baseUrls" + "summaries" ], "properties": { - "baseUrls": { + "summaries": { "type": "array", + "uniqueItems": true, "items": { - "type": "string" + "description": "Cluster group summay", + "properties": { + "metadata": { + "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", + "type": "object", + "properties": { + "annotations": { + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "creationTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "deletionTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "labels": { + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "lastModifiedTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "name": { + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + }, + "uid": { + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", + "type": "string" + } + } + }, + "spec": { + "description": "Cluster group summay spec", + "properties": { + "clusterProfileTemplates": { + "type": "array", + "items": { + "description": "Cluster profile template meta information", + "type": "object", + "properties": { + "cloudType": { + "type": "string" + }, + "name": { + "description": "Cluster profile name", + "type": "string" + }, + "packs": { + "description": "Cluster profile packs array", + "type": "array", + "items": { + "description": "PackRef server/name:tag to point to a pack PackRef is used when construct a ClusterProfile PackSpec is used for UI to render the parameters form ClusterProfile will not know inner details of a pack ClusterProfile only contain pack name:tag, and the param values user entered for it", + "type": "object", + "required": [ + "layer", + "name" + ], + "properties": { + "annotations": { + "description": "Annotations is used to allow packref to add more arbitrary information one example is to add git reference for values.yaml", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "digest": { + "description": "digest is used to specify the version should be installed by palette when pack upgrade available, change this digest to trigger upgrade", + "type": "string" + }, + "inValidReason": { + "type": "string" + }, + "isInvalid": { + "description": "pack is invalid when the associated tag is deleted from the registry", + "type": "boolean" + }, + "layer": { + "type": "string", + "enum": [ + "kernel", + "os", + "k8s", + "cni", + "csi", + "addon" + ] + }, + "logo": { + "description": "path to the pack logo", + "type": "string" + }, + "manifests": { + "type": "array", + "items": { + "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", + "type": "object", + "properties": { + "kind": { + "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "uid": { + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", + "type": "string" + } + } + } + }, + "name": { + "description": "pack name", + "type": "string" + }, + "packUid": { + "description": "PackUID is Hubble packUID, not palette Pack.UID It is used by Hubble only.", + "type": "string" + }, + "params": { + "description": "params passed as env variables to be consumed at installation time", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "presets": { + "type": "array", + "items": { + "description": "PackPreset defines the preset pack values", + "type": "object", + "properties": { + "add": { + "type": "string", + "x-omitempty": false + }, + "displayName": { + "type": "string", + "x-omitempty": false + }, + "group": { + "type": "string", + "x-omitempty": false + }, + "name": { + "type": "string", + "x-omitempty": false + }, + "remove": { + "type": "array", + "items": { + "type": "string" + }, + "x-omitempty": false + } + } + } + }, + "registryUid": { + "description": "pack registry uid", + "type": "string" + }, + "schema": { + "type": "array", + "items": { + "description": "PackSchema defines the schema definition, hints for the pack values", + "type": "object", + "properties": { + "format": { + "type": "string", + "x-omitempty": false + }, + "hints": { + "type": "array", + "items": { + "type": "string" + }, + "x-omitempty": false + }, + "listOptions": { + "type": "array", + "items": { + "type": "string" + }, + "x-omitempty": false + }, + "name": { + "type": "string", + "x-omitempty": false + }, + "readonly": { + "type": "boolean", + "x-omitempty": false + }, + "regex": { + "type": "string", + "x-omitempty": false + }, + "required": { + "type": "boolean", + "x-omitempty": false + }, + "type": { + "type": "string", + "x-omitempty": false + } + } + } + }, + "server": { + "description": "pack registry server or helm repo", + "type": "string" + }, + "tag": { + "description": "pack tag", + "type": "string" + }, + "type": { + "description": "type of the pack", + "type": "string", + "enum": [ + "spectro", + "helm", + "manifest" + ] + }, + "values": { + "description": "values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", + "type": "string" + }, + "version": { + "description": "pack version", + "type": "string" + } + } + } + }, + "scope": { + "description": "scope or context(system, tenant or project)", + "type": "string" + }, + "type": { + "description": "Cluster profile type [ \"cluster\", \"infra\", \"add-on\", \"system\" ]", + "type": "string" + }, + "uid": { + "description": "Cluster profile uid", + "type": "string" + }, + "version": { + "type": "integer", + "format": "int32" + } + } + } + }, + "cpu": { + "description": "Cluster group resource allocated and usage information", + "properties": { + "allocated": { + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "used": { + "type": "number", + "format": "float64", + "x-omitempty": false + } + } + }, + "endpointType": { + "type": "string", + "enum": [ + "Ingress", + "LoadBalancer" + ] + }, + "hostClusters": { + "type": "array", + "uniqueItems": true, + "items": { + "description": "Object resource reference", + "type": "object", + "properties": { + "kind": { + "type": "string" + }, + "name": { + "type": "string" + }, + "projectUid": { + "type": "string" + }, + "tenantUid": { + "type": "string" + }, + "uid": { + "type": "string" + } + } + } + }, + "hostClustersCount": { + "type": "integer", + "x-omitempty": false + }, + "memory": { + "description": "Cluster group resource allocated and usage information", + "properties": { + "allocated": { + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "used": { + "type": "number", + "format": "float64", + "x-omitempty": false + } + } + }, + "scope": { + "type": "string" + }, + "virtualClustersCount": { + "type": "integer", + "x-omitempty": false + } + } + } + } } } } @@ -55654,7 +53392,7 @@ } } }, - "/v1/clouds/coxedge/environments": { + "/v1/clustergroups/hostCluster/metadata": { "get": { "security": [ { @@ -55667,22 +53405,9 @@ "tags": [ "v1" ], - "summary": "Retrieves a list of environments for the specified account", - "operationId": "V1CoxEdgeEnvironmentsGet", + "summary": "Retrieves a list of cluster groups host cluster metadata", + "operationId": "v1ClusterGroupsHostClusterMetadata", "parameters": [ - { - "type": "string", - "description": "Uid for the specific CoxEdge cloud account", - "name": "cloudAccountUid", - "in": "query", - "required": true - }, - { - "type": "string", - "description": "OrganizationId for the specific CoxEdge account", - "name": "organizationId", - "in": "query" - }, { "type": "string", "description": "Scope the request to the specified project uid", @@ -55692,30 +53417,27 @@ ], "responses": { "200": { - "description": "List of CoxEdge environments", + "description": "An array of cluster groups host cluster metadata items", "schema": { - "description": "List of CoxEdge environments", "type": "object", "required": [ - "environments" + "items" ], "properties": { - "environments": { + "items": { "type": "array", + "uniqueItems": true, "items": { - "description": "CoxEdge environment entity", + "description": "Object scope identity meta", "type": "object", "properties": { - "id": { - "description": "CoxEdge environment id", + "name": { "type": "string" }, - "isDeleted": { - "description": "CoxEdge environment state", - "type": "boolean" + "scope": { + "type": "string" }, - "name": { - "description": "CoxEdge environment name", + "uid": { "type": "string" } } @@ -55725,8 +53447,10 @@ } } } - }, - "post": { + } + }, + "/v1/clustergroups/validate/name": { + "get": { "security": [ { "ApiKey": [] @@ -55738,38 +53462,14 @@ "tags": [ "v1" ], - "summary": "Retrieves a list of environments for baseUrl and apiKey", - "operationId": "V1CoxEdgeEnvironments", + "summary": "Validates the cluster groups name", + "operationId": "v1ClusterGroupsValidateName", "parameters": [ { - "description": "Request payload to get CoxEdge environments", - "name": "spec", - "in": "body", - "required": true, - "schema": { - "description": "Request payload to get CoxEdge environments", - "type": "object", - "properties": { - "credentials": { - "description": "CoxEdge credentials to get organizations", - "type": "object", - "properties": { - "apiBaseUrl": { - "description": "CoxEdge baseUrl - for api calls", - "type": "string" - }, - "apiKey": { - "description": "CoxEdge ApiKey - secret for api calls", - "type": "string" - } - } - }, - "organizationId": { - "description": "CoxEdge organizationId", - "type": "string" - } - } - } + "type": "string", + "name": "name", + "in": "query", + "required": true }, { "type": "string", @@ -55779,43 +53479,19 @@ } ], "responses": { - "200": { - "description": "List of CoxEdge environments", - "schema": { - "description": "List of CoxEdge environments", - "type": "object", - "required": [ - "environments" - ], - "properties": { - "environments": { - "type": "array", - "items": { - "description": "CoxEdge environment entity", - "type": "object", - "properties": { - "id": { - "description": "CoxEdge environment id", - "type": "string" - }, - "isDeleted": { - "description": "CoxEdge environment state", - "type": "boolean" - }, - "name": { - "description": "CoxEdge environment name", - "type": "string" - } - } - } - } + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "type": "string", + "description": "Audit uid for the request" } } } } } }, - "/v1/clouds/coxedge/organizations": { + "/v1/clustergroups/{uid}": { "get": { "security": [ { @@ -55828,16 +53504,9 @@ "tags": [ "v1" ], - "summary": "Retrieves a list of organizations for the specified account", - "operationId": "V1CoxEdgeOrganizationsGet", + "summary": "Returns the specified cluster groups", + "operationId": "v1ClusterGroupsUidGet", "parameters": [ - { - "type": "string", - "description": "Uid for the specific CoxEdge cloud account", - "name": "cloudAccountUid", - "in": "query", - "required": true - }, { "type": "string", "description": "Scope the request to the specified project uid", @@ -55847,32 +53516,457 @@ ], "responses": { "200": { - "description": "List of CoxEdge organizations", + "description": "OK", "schema": { - "description": "List of CoxEdge organizations", - "type": "object", - "required": [ - "organizations" - ], + "description": "Cluster group information", "properties": { - "organizations": { - "type": "array", - "items": { - "description": "CoxEdge Organization entity", - "type": "object", - "properties": { - "id": { - "description": "CoxEdge organization id", + "metadata": { + "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", + "type": "object", + "properties": { + "annotations": { + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", + "type": "object", + "additionalProperties": { "type": "string" - }, - "isDeleted": { - "description": "CoxEdge organization state", - "type": "boolean" - }, - "name": { - "description": "CoxEdge organization name", + } + }, + "creationTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "deletionTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "labels": { + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", + "type": "object", + "additionalProperties": { "type": "string" } + }, + "lastModifiedTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "name": { + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + }, + "uid": { + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", + "type": "string" + } + } + }, + "spec": { + "description": "Cluster group specifications", + "properties": { + "clusterProfileTemplates": { + "description": "ClusterProfileTemplate is a copy of the draft version or latest published version of the clusterprofileSpec. It consists of list of add on profiles at a cluster group level which will be enforced on all virtual cluster. ClusterProfileTemplate will be updated from the clusterprofile pointed by ClusterProfileRef", + "type": "array", + "items": { + "description": "ClusterProfileTemplate contains details of a clusterprofile definition", + "type": "object", + "properties": { + "cloudType": { + "type": "string" + }, + "name": { + "type": "string" + }, + "packServerRefs": { + "description": "PackServerRefs is only used on Hubble side it is reference to pack registry servers which PackRef belongs to in hubble, pack server is a top level object, so use a reference to point to it packs within a clusterprofile can come from different pack servers, so this is an array", + "type": "array", + "items": { + "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", + "type": "object", + "properties": { + "kind": { + "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "uid": { + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", + "type": "string" + } + } + } + }, + "packServerSecret": { + "description": "This secret is used only on Palette side use case is similar to k8s image pull secret this single secret internally should contains all the pack servers in PackServerRefs if empty, means no credential is needed to access the pack server For spectro saas, Ally will set this field before pass to palette", + "type": "string" + }, + "packs": { + "description": "Packs definitions here are final definitions. If ClonedFrom and ParamsOverwrite is present, then Packs are the final merge result of ClonedFrom and ParamsOverwrite So orchestration engine will just take the Packs and do the work, no need to worry about parameters merge", + "type": "array", + "items": { + "description": "PackRef server/name:tag to point to a pack PackRef is used when construct a ClusterProfile PackSpec is used for UI to render the parameters form ClusterProfile will not know inner details of a pack ClusterProfile only contain pack name:tag, and the param values user entered for it", + "type": "object", + "required": [ + "layer", + "name" + ], + "properties": { + "annotations": { + "description": "Annotations is used to allow packref to add more arbitrary information one example is to add git reference for values.yaml", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "digest": { + "description": "digest is used to specify the version should be installed by palette when pack upgrade available, change this digest to trigger upgrade", + "type": "string" + }, + "inValidReason": { + "type": "string" + }, + "isInvalid": { + "description": "pack is invalid when the associated tag is deleted from the registry", + "type": "boolean" + }, + "layer": { + "type": "string", + "enum": [ + "kernel", + "os", + "k8s", + "cni", + "csi", + "addon" + ] + }, + "logo": { + "description": "path to the pack logo", + "type": "string" + }, + "manifests": { + "type": "array", + "items": { + "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", + "type": "object", + "properties": { + "kind": { + "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "uid": { + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", + "type": "string" + } + } + } + }, + "name": { + "description": "pack name", + "type": "string" + }, + "packUid": { + "description": "PackUID is Hubble packUID, not palette Pack.UID It is used by Hubble only.", + "type": "string" + }, + "params": { + "description": "params passed as env variables to be consumed at installation time", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "presets": { + "type": "array", + "items": { + "description": "PackPreset defines the preset pack values", + "type": "object", + "properties": { + "add": { + "type": "string", + "x-omitempty": false + }, + "displayName": { + "type": "string", + "x-omitempty": false + }, + "group": { + "type": "string", + "x-omitempty": false + }, + "name": { + "type": "string", + "x-omitempty": false + }, + "remove": { + "type": "array", + "items": { + "type": "string" + }, + "x-omitempty": false + } + } + } + }, + "registryUid": { + "description": "pack registry uid", + "type": "string" + }, + "schema": { + "type": "array", + "items": { + "description": "PackSchema defines the schema definition, hints for the pack values", + "type": "object", + "properties": { + "format": { + "type": "string", + "x-omitempty": false + }, + "hints": { + "type": "array", + "items": { + "type": "string" + }, + "x-omitempty": false + }, + "listOptions": { + "type": "array", + "items": { + "type": "string" + }, + "x-omitempty": false + }, + "name": { + "type": "string", + "x-omitempty": false + }, + "readonly": { + "type": "boolean", + "x-omitempty": false + }, + "regex": { + "type": "string", + "x-omitempty": false + }, + "required": { + "type": "boolean", + "x-omitempty": false + }, + "type": { + "type": "string", + "x-omitempty": false + } + } + } + }, + "server": { + "description": "pack registry server or helm repo", + "type": "string" + }, + "tag": { + "description": "pack tag", + "type": "string" + }, + "type": { + "description": "type of the pack", + "type": "string", + "enum": [ + "spectro", + "helm", + "manifest" + ] + }, + "values": { + "description": "values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", + "type": "string" + }, + "version": { + "description": "pack version", + "type": "string" + } + } + } + }, + "profileVersion": { + "description": "version start from 1.0.0, matching the index of ClusterProfileSpec.Versions[] will be used by clusterSpec to identify which version is applied to the cluster", + "type": "string" + }, + "relatedObject": { + "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", + "type": "object", + "properties": { + "kind": { + "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "uid": { + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", + "type": "string" + } + } + }, + "type": { + "type": "string" + }, + "uid": { + "type": "string" + }, + "version": { + "description": "Deprecated. Use profileVersion", + "type": "integer", + "format": "int32" + } + } + } + }, + "clusterRefs": { + "type": "array", + "uniqueItems": true, + "items": { + "description": "Cluster group cluster reference", + "properties": { + "clusterName": { + "type": "string" + }, + "clusterUid": { + "type": "string" + } + } + } + }, + "clustersConfig": { + "description": "Clusters config of cluster group", + "properties": { + "endpointType": { + "description": "Host cluster endpoint type", + "type": "string", + "enum": [ + "Ingress", + "LoadBalancer" + ] + }, + "hostClustersConfig": { + "type": "array", + "uniqueItems": true, + "items": { + "properties": { + "clusterUid": { + "type": "string" + }, + "endpointConfig": { + "properties": { + "ingressConfig": { + "description": "Ingress configuration for exposing the virtual cluster's kube-apiserver", + "properties": { + "host": { + "type": "string" + }, + "port": { + "type": "integer", + "format": "int64" + } + } + }, + "loadBalancerConfig": { + "description": "Load balancer configuration for exposing the virtual cluster's kube-apiserver", + "properties": { + "externalIPs": { + "type": "array", + "items": { + "type": "string" + } + }, + "externalTrafficPolicy": { + "type": "string" + }, + "loadBalancerSourceRanges": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + } + } + }, + "kubernetesDistroType": { + "type": "string", + "default": "k3s", + "enum": [ + "k3s", + "cncf_k8s" + ] + }, + "limitConfig": { + "description": "Cluster group limit config", + "properties": { + "cpu": { + "description": "Deprecated. Use field cpuMilliCore", + "type": "integer", + "format": "int32" + }, + "cpuMilliCore": { + "description": "CPU in milli cores", + "type": "integer", + "format": "int32" + }, + "memory": { + "description": "Deprecated. Use field memoryMiB", + "type": "integer", + "format": "int32" + }, + "memoryMiB": { + "description": "Memory in MiB", + "type": "integer", + "format": "int32" + }, + "overSubscription": { + "description": "Over subscription percentage", + "type": "integer", + "format": "int32" + }, + "storageGiB": { + "description": "Storage in GiB", + "type": "integer", + "format": "int32" + } + } + }, + "values": { + "type": "string" + } + } + }, + "type": { + "type": "string", + "enum": [ + "hostCluster" + ] + } + } + }, + "status": { + "description": "Cluster group status", + "properties": { + "isActive": { + "type": "boolean", + "x-omitempty": false } } } @@ -55881,7 +53975,7 @@ } } }, - "post": { + "delete": { "security": [ { "ApiKey": [] @@ -55893,29 +53987,9 @@ "tags": [ "v1" ], - "summary": "Retrieves a list of organizations for baseUrl and apiKey", - "operationId": "V1CoxEdgeOrganizations", + "summary": "Deletes the specified cluster group", + "operationId": "v1ClusterGroupsUidDelete", "parameters": [ - { - "description": "Request payload to get CoxEdge organizations", - "name": "spec", - "in": "body", - "required": true, - "schema": { - "description": "CoxEdge credentials to get organizations", - "type": "object", - "properties": { - "apiBaseUrl": { - "description": "CoxEdge baseUrl - for api calls", - "type": "string" - }, - "apiKey": { - "description": "CoxEdge ApiKey - secret for api calls", - "type": "string" - } - } - } - }, { "type": "string", "description": "Scope the request to the specified project uid", @@ -55924,44 +53998,22 @@ } ], "responses": { - "200": { - "description": "List of CoxEdge organizations", - "schema": { - "description": "List of CoxEdge organizations", - "type": "object", - "required": [ - "organizations" - ], - "properties": { - "organizations": { - "type": "array", - "items": { - "description": "CoxEdge Organization entity", - "type": "object", - "properties": { - "id": { - "description": "CoxEdge organization id", - "type": "string" - }, - "isDeleted": { - "description": "CoxEdge organization state", - "type": "boolean" - }, - "name": { - "description": "CoxEdge organization name", - "type": "string" - } - } - } - } - } - } + "204": { + "description": "The resource was deleted successfully" } } - } - }, - "/v1/clouds/coxedge/regions": { - "get": { + }, + "parameters": [ + { + "type": "string", + "name": "uid", + "in": "path", + "required": true + } + ] + }, + "/v1/clustergroups/{uid}/hostCluster": { + "put": { "security": [ { "ApiKey": [] @@ -55973,289 +54025,138 @@ "tags": [ "v1" ], - "summary": "Retrieves a list of CoxEdge regions for the specified account", - "operationId": "V1CoxEdgeRegions", + "summary": "Updates cluster reference and host cluster config", + "operationId": "v1ClusterGroupsUidHostClusterUpdate", "parameters": [ { - "type": "string", - "description": "Uid for the specific AWS cloud account", - "name": "cloudAccountUid", - "in": "query" - }, - { - "type": "string", - "description": "CoxEdge organization id", - "name": "organizationId", - "in": "query" - }, - { - "type": "string", - "description": "CoxEdge service name", - "name": "service", - "in": "query" - }, - { - "type": "string", - "description": "CoxEdge environment name", - "name": "environment", - "in": "query" - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "(empty)", + "name": "body", + "in": "body", "schema": { - "description": "List of CoxEdge regions", - "type": "object", - "required": [ - "regions" - ], + "description": "Clusters and clusters config of cluster group", "properties": { - "regions": { + "clusterRefs": { "type": "array", + "uniqueItems": true, "items": { - "description": "CoxEdge region entity", - "type": "object", + "description": "Cluster group cluster reference", "properties": { - "code": { - "description": "Code of the CoxEdge region", + "clusterName": { "type": "string" }, - "location": { - "description": "Cluster location information", - "type": "object", - "properties": { - "countryCode": { - "description": "country code for cluster location", - "type": "string" - }, - "countryName": { - "description": "country name for cluster location", - "type": "string" - }, - "geoLoc": { - "description": "Geolocation Latlong entity", - "type": "object", - "properties": { - "latitude": { - "description": "Latitude of a resource", - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "longitude": { - "description": "Longitude of a resource", - "type": "number", - "format": "float64", - "x-omitempty": false - } - } - }, - "regionCode": { - "description": "region code for cluster location", - "type": "string" - }, - "regionName": { - "description": "region name for cluster location", - "type": "string" - } - } - }, - "name": { - "description": "Name of the CoxEdge region", + "clusterUid": { "type": "string" } } } - } - } - } - } - } - } - }, - "/v1/clouds/coxedge/regions/{region}/instancetypes": { - "get": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Retrieves a list of CoxEdge instance types", - "operationId": "V1CoxEdgeInstanceTypes", - "parameters": [ - { - "type": "string", - "description": "Region for which CoxEdge instances are listed", - "name": "region", - "in": "path", - "required": true - }, - { - "type": "number", - "format": "double", - "description": "Filter for instances having cpu greater than or equal", - "name": "cpuGtEq", - "in": "query" - }, - { - "type": "number", - "format": "double", - "description": "Filter for instances having memory greater than or equal", - "name": "memoryGtEq", - "in": "query" - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "(empty)", - "schema": { - "description": "List of CoxEdge instance types", - "type": "object", - "properties": { - "instanceTypes": { - "type": "array", - "items": { - "description": "Cloud Instance type details", - "type": "object", - "properties": { - "category": { - "description": "Category of instance type", - "type": "string", - "x-go-name": "Category" - }, - "cost": { - "description": "Instance cost entity", - "type": "object", + }, + "clustersConfig": { + "description": "Clusters config of cluster group", + "properties": { + "endpointType": { + "description": "Host cluster endpoint type", + "type": "string", + "enum": [ + "Ingress", + "LoadBalancer" + ] + }, + "hostClustersConfig": { + "type": "array", + "uniqueItems": true, + "items": { "properties": { - "price": { - "description": "Array of cloud instance price", - "type": "array", - "items": { - "description": "Cloud instance price", - "type": "object", - "properties": { - "onDemand": { - "description": "OnDemand price of instance", - "type": "number", - "format": "double" - }, - "os": { - "description": "Os associated with instance price. Allowed values - [linux, windows]", - "type": "string", - "enum": [ - "linux", - "windows" - ] - }, - "spot": { - "description": "Spot price of instance", - "type": "number", - "format": "double" + "clusterUid": { + "type": "string" + }, + "endpointConfig": { + "properties": { + "ingressConfig": { + "description": "Ingress configuration for exposing the virtual cluster's kube-apiserver", + "properties": { + "host": { + "type": "string" + }, + "port": { + "type": "integer", + "format": "int64" + } + } + }, + "loadBalancerConfig": { + "description": "Load balancer configuration for exposing the virtual cluster's kube-apiserver", + "properties": { + "externalIPs": { + "type": "array", + "items": { + "type": "string" + } + }, + "externalTrafficPolicy": { + "type": "string" + }, + "loadBalancerSourceRanges": { + "type": "array", + "items": { + "type": "string" + } + } } } } } } - }, - "cpu": { - "description": "Cpu of instance type", - "type": "number", - "format": "double", - "x-go-name": "Cpu" - }, - "gpu": { - "description": "Gpu of instance type", - "type": "number", - "format": "double", - "x-go-name": "Gpu" - }, - "memory": { - "description": "Memory of instance type", - "type": "number", - "format": "double", - "x-go-name": "Memory" - }, - "nonSupportedZones": { - "description": "Non supported zones of the instance in a particular region", - "type": "array", - "items": { - "type": "string" - } - }, - "price": { - "description": "Price of instance type", - "type": "number", - "format": "double", - "x-go-name": "Price" - }, - "supportedArchitectures": { - "description": "Supported architecture of the instance", - "type": "array", - "items": { - "type": "string" + } + }, + "kubernetesDistroType": { + "type": "string", + "default": "k3s", + "enum": [ + "k3s", + "cncf_k8s" + ] + }, + "limitConfig": { + "description": "Cluster group limit config", + "properties": { + "cpu": { + "description": "Deprecated. Use field cpuMilliCore", + "type": "integer", + "format": "int32" + }, + "cpuMilliCore": { + "description": "CPU in milli cores", + "type": "integer", + "format": "int32" + }, + "memory": { + "description": "Deprecated. Use field memoryMiB", + "type": "integer", + "format": "int32" + }, + "memoryMiB": { + "description": "Memory in MiB", + "type": "integer", + "format": "int32" + }, + "overSubscription": { + "description": "Over subscription percentage", + "type": "integer", + "format": "int32" + }, + "storageGiB": { + "description": "Storage in GiB", + "type": "integer", + "format": "int32" } - }, - "type": { - "description": "Type of instance type", - "type": "string", - "x-go-name": "Type" } + }, + "values": { + "type": "string" } } } } } - } - } - } - }, - "/v1/clouds/coxedge/services": { - "get": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Retrieves a list of services for the specified account", - "operationId": "V1CoxEdgeServicesGet", - "parameters": [ - { - "type": "string", - "description": "Uid for the specific CoxEdge cloud account", - "name": "cloudAccountUid", - "in": "query", - "required": true - }, - { - "type": "string", - "description": "OrganizationId for the specific CoxEdge account", - "name": "organizationId", - "in": "query" }, { "type": "string", @@ -56265,122 +54166,22 @@ } ], "responses": { - "200": { - "description": "List of CoxEdge services", - "schema": { - "description": "List of CoxEdge services", - "type": "object", - "required": [ - "services" - ], - "properties": { - "services": { - "type": "array", - "items": { - "description": "CoxEdge service entity", - "type": "object", - "properties": { - "code": { - "description": "CoxEdge service code", - "type": "string" - }, - "id": { - "description": "CoxEdge service id", - "type": "string" - }, - "name": { - "description": "CoxEdge service name", - "type": "string" - } - } - } - } - } - } + "204": { + "description": "The resource was updated successfully" } } }, - "post": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Retrieves a list of services for baseUrl and apiKey", - "operationId": "V1CoxEdgeServices", - "parameters": [ - { - "description": "Request payload to get CoxEdge services", - "name": "spec", - "in": "body", - "required": true, - "schema": { - "description": "CoxEdge credentials to get organizations", - "type": "object", - "properties": { - "apiBaseUrl": { - "description": "CoxEdge baseUrl - for api calls", - "type": "string" - }, - "apiKey": { - "description": "CoxEdge ApiKey - secret for api calls", - "type": "string" - } - } - } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "(empty)", - "schema": { - "description": "List of CoxEdge services", - "type": "object", - "required": [ - "services" - ], - "properties": { - "services": { - "type": "array", - "items": { - "description": "CoxEdge service entity", - "type": "object", - "properties": { - "code": { - "description": "CoxEdge service code", - "type": "string" - }, - "id": { - "description": "CoxEdge service id", - "type": "string" - }, - "name": { - "description": "CoxEdge service name", - "type": "string" - } - } - } - } - } - } - } + "parameters": [ + { + "type": "string", + "name": "uid", + "in": "path", + "required": true } - } + ] }, - "/v1/clouds/eks/properties/validate": { - "post": { + "/v1/clustergroups/{uid}/meta": { + "put": { "security": [ { "ApiKey": [] @@ -56392,240 +54193,51 @@ "tags": [ "v1" ], - "summary": "Validate EKS properties", - "operationId": "V1EksPropertiesValidate", + "summary": "Updates the specified cluster groups meta", + "operationId": "v1ClusterGroupsUidMetaUpdate", "parameters": [ { - "description": "Request payload for EKS properties validate spec", - "name": "properties", + "name": "body", "in": "body", - "required": true, "schema": { - "description": "Eks properties validate spec", + "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", "type": "object", "properties": { - "cloudAccountUid": { - "type": "string" - }, - "name": { - "type": "string" - }, - "region": { - "type": "string" - }, - "sshKeyName": { - "type": "string" - }, - "subnets": { - "type": "array", - "items": { + "annotations": { + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", + "type": "object", + "additionalProperties": { "type": "string" } }, - "vpcId": { - "type": "string" - } - } - } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "204": { - "description": "Ok response without content", - "headers": { - "AuditUid": { - "type": "string", - "description": "Audit uid for the request" - } - } - } - } - } - }, - "/v1/clouds/gcp/account/validate": { - "post": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Validate the specified GCP account credentials", - "operationId": "V1GcpAccountValidate", - "parameters": [ - { - "description": "Uid for the specific GCP cloud account", - "name": "gcpCloudAccount", - "in": "body", - "required": true, - "schema": { - "description": "Gcp cloud account spec", - "type": "object", - "properties": { - "spec": { - "description": "Gcp cloud account entity which takes json credentials or reference to the file where credentials are stored", + "creationTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "deletionTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "labels": { + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", - "properties": { - "jsonCredentials": { - "description": "Gcp cloud account json credentials", - "type": "string" - }, - "jsonCredentialsFileUid": { - "description": "Reference of the credentials stored in the file", - "type": "string" - } - } - } - } - } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "204": { - "description": "Ok response without content", - "headers": { - "AuditUid": { - "type": "string", - "description": "Audit uid for the request" - } - } - } - } - } - }, - "/v1/clouds/gcp/azs/validate": { - "post": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Validate the specified GCP az", - "operationId": "V1GcpAzValidate", - "parameters": [ - { - "description": "Uid for the specific GCP cloud account", - "name": "entity", - "in": "body", - "required": true, - "schema": { - "description": "Az validate entity", - "type": "object", - "properties": { - "azs": { - "description": "Gcp Azs", - "type": "array", - "items": { + "additionalProperties": { "type": "string" } }, - "project": { - "description": "Gcp project", - "type": "string" + "lastModifiedTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" }, - "region": { - "description": "Gcp region", + "name": { + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "Cloud account uid", - "type": "string" - } - } - } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "204": { - "description": "Ok response without content", - "headers": { - "AuditUid": { - "type": "string", - "description": "Audit uid for the request" - } - } - } - } - } - }, - "/v1/clouds/gcp/bucketname/validate": { - "post": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Validate the specified GCP bucket name credentials", - "operationId": "V1GcpBucketNameValidate", - "parameters": [ - { - "description": "Request payload for GCP account name validate", - "name": "body", - "in": "body", - "required": true, - "schema": { - "description": "Gcp cloud account name validate spec", - "type": "object", - "required": [ - "credentials", - "bucketName" - ], - "properties": { - "bucketName": { - "description": "Bucket name in the GCP", - "type": "string" - }, - "credentials": { - "description": "Gcp cloud account entity which takes json credentials or reference to the file where credentials are stored", - "type": "object", - "properties": { - "jsonCredentials": { - "description": "Gcp cloud account json credentials", - "type": "string" - }, - "jsonCredentialsFileUid": { - "description": "Reference of the credentials stored in the file", - "type": "string" - } - } - }, - "projectId": { - "description": "ProjectId in the GCP", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -56640,123 +54252,20 @@ ], "responses": { "204": { - "description": "Ok response without content", - "headers": { - "AuditUid": { - "type": "string", - "description": "Audit uid for the request" - } - } - } - } - } - }, - "/v1/clouds/gcp/image/container/validate": { - "get": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Validates the image with tag", - "operationId": "V1GcpContainerImageValidate", - "parameters": [ - { - "type": "string", - "description": "image path in the container", - "name": "imagePath", - "in": "query", - "required": true - }, - { - "type": "string", - "description": "tag in the GCP container", - "name": "tag", - "in": "query", - "required": true - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "204": { - "description": "Ok response without content", - "headers": { - "AuditUid": { - "type": "string", - "description": "Audit uid for the request" - } - } + "description": "The resource was updated successfully" } } - } - }, - "/v1/clouds/gcp/images/{imageName}/url": { - "get": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Returns the Gcp image url for the specified image location", - "operationId": "V1GcpImageUrl", - "parameters": [ - { - "type": "string", - "description": "imageName for which GCP image url is requested", - "name": "imageName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "(empty)", - "schema": { - "description": "Gcp image url entity", - "type": "object", - "properties": { - "imageFamily": { - "description": "The name of the image family to which this image belongs", - "type": "string" - }, - "imageUrl": { - "description": "Server-defined URL for the resource", - "type": "string" - }, - "name": { - "description": "Name of the resource", - "type": "string" - } - } - } - } + }, + "parameters": [ + { + "type": "string", + "name": "uid", + "in": "path", + "required": true } - } + ] }, - "/v1/clouds/gcp/projects": { + "/v1/clustergroups/{uid}/packs/resolvedValues": { "get": { "security": [ { @@ -56769,16 +54278,9 @@ "tags": [ "v1" ], - "summary": "Retrieves a list of GCP projects for the specified account", - "operationId": "V1GcpProjects", + "summary": "Returns the specified clustergroup's profile packs resolved values", + "operationId": "v1ClusterGroupsUidPacksResolvedValuesGet", "parameters": [ - { - "type": "string", - "description": "Uid for the specific GCP cloud account", - "name": "cloudAccountUid", - "in": "query", - "required": true - }, { "type": "string", "description": "Scope the request to the specified project uid", @@ -56788,24 +54290,26 @@ ], "responses": { "200": { - "description": "(empty)", + "description": "OK", "schema": { - "description": "List of GCP Projects", + "description": "Cluster profiles resolved values response", "type": "object", "properties": { - "projects": { - "description": "List of GCP Projects", + "profiles": { "type": "array", + "uniqueItems": true, "items": { - "description": "GCP project organizes all Google Cloud resources", - "type": "object", + "description": "Cluster profile resolved pack values", "properties": { - "id": { - "description": "GCP project id", - "type": "string" + "resolved": { + "description": "Cluster profile pack resolved values", + "type": "object", + "additionalProperties": { + "type": "string" + } }, - "name": { - "description": "GCP project name", + "uid": { + "description": "Cluster profile uid", "type": "string" } } @@ -56815,76 +54319,35 @@ } } } - } - }, - "/v1/clouds/gcp/projects/{project}/regions": { - "get": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Retrieves a list of GCP regions", - "operationId": "V1GcpRegions", - "parameters": [ - { - "type": "string", - "description": "Uid for the specific GCP cloud account", - "name": "cloudAccountUid", - "in": "query", - "required": true - }, - { - "type": "string", - "description": "Project Name for which GCP zones are requested", - "name": "project", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "(empty)", - "schema": { - "description": "List of GCP Regions", - "type": "object", - "properties": { - "regions": { - "type": "array", - "items": { - "description": "Geographical region made up of zones where you can host your GCP resources", - "type": "object", - "properties": { - "name": { - "description": "GCP region name", - "type": "string" - }, - "status": { - "description": "GCP region status", - "type": "string" - } - } - } + }, + "parameters": [ + { + "type": "string", + "description": "Cluster group uid", + "name": "uid", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "schema": { + "description": "Cluster profiles param reference entity", + "type": "object", + "properties": { + "references": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" } } } } } - } + ] }, - "/v1/clouds/gcp/projects/{project}/regions/{region}/networks": { + "/v1/clustergroups/{uid}/profiles": { "get": { "security": [ { @@ -56897,29 +54360,14 @@ "tags": [ "v1" ], - "summary": "Retrieves a list of GCP networks for the specified account", - "operationId": "V1GcpNetworks", + "summary": "Returns the associated profiles of a specified cluster group", + "operationId": "v1ClusterGroupsUidProfilesGet", "parameters": [ { "type": "string", - "description": "Uid for the specific GCP cloud account", - "name": "cloudAccountUid", - "in": "query", - "required": true - }, - { - "type": "string", - "description": "Region for which GCP networks are requested", - "name": "region", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Project Name for which GCP networks are requested", - "name": "project", - "in": "path", - "required": true + "description": "includes pack meta such as schema, presets", + "name": "includePackMeta", + "in": "query" }, { "type": "string", @@ -56930,36 +54378,560 @@ ], "responses": { "200": { - "description": "(empty)", + "description": "OK", "schema": { - "description": "List of GCP networks", "type": "object", + "required": [ + "profiles" + ], "properties": { - "networks": { + "profiles": { "type": "array", "items": { - "description": "GCP network enity is a virtual version of a physical network", + "description": "Cluster profile response", "type": "object", "properties": { - "name": { - "description": "GCP network name", - "type": "string" - }, - "subnets": { - "description": "List of GCP subnet", - "type": "array", - "items": { - "description": "Subnets are regional resources, and have IP address ranges associated with them", - "type": "object", - "properties": { - "id": { - "description": "GCP subnet id", + "metadata": { + "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", + "type": "object", + "properties": { + "annotations": { + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", + "type": "object", + "additionalProperties": { "type": "string" - }, - "name": { - "description": "GCP subnet name", + } + }, + "creationTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "deletionTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "labels": { + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", + "type": "object", + "additionalProperties": { "type": "string" } + }, + "lastModifiedTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "name": { + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + }, + "uid": { + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", + "type": "string" + } + } + }, + "spec": { + "description": "Cluster profile spec response", + "type": "object", + "properties": { + "cloudType": { + "description": "Cluster profile cloud type", + "type": "string" + }, + "packs": { + "description": "Cluster profile packs array", + "type": "array", + "uniqueItems": true, + "items": { + "description": "Cluster profile packs object", + "type": "object", + "properties": { + "metadata": { + "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", + "type": "object", + "properties": { + "annotations": { + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "creationTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "deletionTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "labels": { + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "lastModifiedTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "name": { + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + }, + "uid": { + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", + "type": "string" + } + } + }, + "spec": { + "description": "Pack object", + "type": "object", + "properties": { + "addonSubType": { + "description": "Pack add-on sub type such as monitoring, db etc", + "type": "string" + }, + "addonType": { + "description": "Pack add-on type such as logging, monitoring, security etc", + "type": "string" + }, + "annotations": { + "description": "Pack annotations is used to allow pack to add more arbitrary configurations", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "cloudTypes": { + "description": "Pack supported cloud types", + "type": "array", + "items": { + "type": "string" + } + }, + "digest": { + "description": "Pack digest", + "type": "string" + }, + "displayName": { + "description": "Pack display name", + "type": "string" + }, + "eol": { + "description": "Pack end of life, date format: yyyy-MM-dd", + "type": "string" + }, + "group": { + "description": "Pack group", + "type": "string" + }, + "layer": { + "type": "string", + "enum": [ + "kernel", + "os", + "k8s", + "cni", + "csi", + "addon" + ] + }, + "logoUrl": { + "description": "Pack logo url", + "type": "string" + }, + "manifests": { + "description": "Pack manifests are additional content as part of the cluster profile", + "type": "array", + "items": { + "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", + "type": "object", + "properties": { + "kind": { + "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "uid": { + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", + "type": "string" + } + } + } + }, + "name": { + "description": "Pack name", + "type": "string" + }, + "presets": { + "description": "Pack presets are the set of configurations applied on user selection of presets", + "type": "array", + "items": { + "description": "PackPreset defines the preset pack values", + "type": "object", + "properties": { + "add": { + "type": "string", + "x-omitempty": false + }, + "displayName": { + "type": "string", + "x-omitempty": false + }, + "group": { + "type": "string", + "x-omitempty": false + }, + "name": { + "type": "string", + "x-omitempty": false + }, + "remove": { + "type": "array", + "items": { + "type": "string" + }, + "x-omitempty": false + } + } + } + }, + "registryUid": { + "description": "Pack registry uid", + "type": "string" + }, + "schema": { + "description": "Pack schema contains constraints such as data type, format, hints for the pack values", + "type": "array", + "items": { + "description": "PackSchema defines the schema definition, hints for the pack values", + "type": "object", + "properties": { + "format": { + "type": "string", + "x-omitempty": false + }, + "hints": { + "type": "array", + "items": { + "type": "string" + }, + "x-omitempty": false + }, + "listOptions": { + "type": "array", + "items": { + "type": "string" + }, + "x-omitempty": false + }, + "name": { + "type": "string", + "x-omitempty": false + }, + "readonly": { + "type": "boolean", + "x-omitempty": false + }, + "regex": { + "type": "string", + "x-omitempty": false + }, + "required": { + "type": "boolean", + "x-omitempty": false + }, + "type": { + "type": "string", + "x-omitempty": false + } + } + } + }, + "template": { + "description": "Pack template configuration", + "properties": { + "manifest": { + "description": "Pack template manifest content", + "type": "string" + }, + "parameters": { + "description": "Pack template parameters", + "properties": { + "inputParameters": { + "description": "Pack template input parameters array", + "type": "array", + "items": { + "description": "Pack template parameter", + "properties": { + "description": { + "description": "Pack template parameter description", + "type": "string" + }, + "displayName": { + "description": "Pack template parameter display name", + "type": "string" + }, + "format": { + "description": "Pack template parameter format", + "type": "string" + }, + "hidden": { + "description": "Pack template parameter hidden flag, if true then the parameter is hidden in the UI", + "type": "boolean" + }, + "listOptions": { + "description": "Pack template parameter list options as string array", + "type": "array", + "items": { + "type": "string" + } + }, + "name": { + "description": "Pack template parameter name", + "type": "string" + }, + "optional": { + "description": "Pack template parameter optional flag, if true then the parameter value is not mandatory", + "type": "boolean" + }, + "options": { + "description": "Pack template parameter options array", + "type": "object", + "additionalProperties": { + "description": "Pack template parameter option", + "type": "object", + "properties": { + "dependencies": { + "description": "Pack template parameter dependencies", + "type": "array", + "items": { + "description": "Pack template dependency", + "type": "object", + "properties": { + "layer": { + "description": "Pack template dependency pack layer", + "type": "string" + }, + "name": { + "description": "Pack template dependency pack name", + "type": "string" + }, + "readOnly": { + "description": "If true then dependency pack values can't be overridden", + "type": "boolean" + } + } + } + }, + "description": { + "description": "Pack template parameter description", + "type": "string" + }, + "label": { + "description": "Pack template parameter label", + "type": "string" + } + } + } + }, + "readOnly": { + "description": "Pack template parameter readonly flag, if true then the parameter value can't be overridden", + "type": "boolean" + }, + "regex": { + "description": "Pack template parameter regex, if set then parameter value must match with specified regex", + "type": "string" + }, + "targetKey": { + "description": "Pack template parameter target key which is mapped to the key defined in the pack values", + "type": "string" + }, + "type": { + "description": "Pack template parameter data type", + "type": "string" + }, + "value": { + "description": "Pack template parameter value", + "type": "string" + } + } + } + }, + "outputParameters": { + "description": "Pack template output parameters array", + "type": "array", + "items": { + "description": "Pack template parameter", + "properties": { + "description": { + "description": "Pack template parameter description", + "type": "string" + }, + "displayName": { + "description": "Pack template parameter display name", + "type": "string" + }, + "format": { + "description": "Pack template parameter format", + "type": "string" + }, + "hidden": { + "description": "Pack template parameter hidden flag, if true then the parameter is hidden in the UI", + "type": "boolean" + }, + "listOptions": { + "description": "Pack template parameter list options as string array", + "type": "array", + "items": { + "type": "string" + } + }, + "name": { + "description": "Pack template parameter name", + "type": "string" + }, + "optional": { + "description": "Pack template parameter optional flag, if true then the parameter value is not mandatory", + "type": "boolean" + }, + "options": { + "description": "Pack template parameter options array", + "type": "object", + "additionalProperties": { + "description": "Pack template parameter option", + "type": "object", + "properties": { + "dependencies": { + "description": "Pack template parameter dependencies", + "type": "array", + "items": { + "description": "Pack template dependency", + "type": "object", + "properties": { + "layer": { + "description": "Pack template dependency pack layer", + "type": "string" + }, + "name": { + "description": "Pack template dependency pack name", + "type": "string" + }, + "readOnly": { + "description": "If true then dependency pack values can't be overridden", + "type": "boolean" + } + } + } + }, + "description": { + "description": "Pack template parameter description", + "type": "string" + }, + "label": { + "description": "Pack template parameter label", + "type": "string" + } + } + } + }, + "readOnly": { + "description": "Pack template parameter readonly flag, if true then the parameter value can't be overridden", + "type": "boolean" + }, + "regex": { + "description": "Pack template parameter regex, if set then parameter value must match with specified regex", + "type": "string" + }, + "targetKey": { + "description": "Pack template parameter target key which is mapped to the key defined in the pack values", + "type": "string" + }, + "type": { + "description": "Pack template parameter data type", + "type": "string" + }, + "value": { + "description": "Pack template parameter value", + "type": "string" + } + } + } + } + } + }, + "values": { + "description": "Pack template values", + "type": "string" + } + } + }, + "type": { + "type": "string", + "default": "spectro", + "enum": [ + "spectro", + "helm", + "manifest", + "oci" + ] + }, + "values": { + "description": "Pack values", + "type": "string" + }, + "version": { + "description": "Pack version", + "type": "string" + } + } + }, + "status": { + "description": "Pack status", + "type": "object" + } + } + } + }, + "relatedObject": { + "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", + "type": "object", + "properties": { + "kind": { + "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "uid": { + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", + "type": "string" + } + } + }, + "type": { + "description": "Cluster profile type [ \"cluster\", \"infra\", \"add-on\", \"system\" ]", + "type": "string" + }, + "version": { + "description": "Cluster profile version", + "type": "integer", + "format": "int32" } } } @@ -56970,10 +54942,8 @@ } } } - } - }, - "/v1/clouds/gcp/projects/{project}/regions/{region}/zones": { - "get": { + }, + "put": { "security": [ { "ApiKey": [] @@ -56985,64 +54955,154 @@ "tags": [ "v1" ], - "summary": "Retrieves a list of GCP zones for the specified account and region", - "operationId": "V1GcpZones", + "summary": "Updates the specified cluster groups profiles", + "operationId": "v1ClusterGroupsUidProfilesUpdate", "parameters": [ { - "type": "string", - "description": "Uid for the specific GCP cloud account", - "name": "cloudAccountUid", - "in": "query", - "required": true - }, - { - "type": "string", - "description": "Region for which GCP zones are requested", - "name": "region", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Project Name for which GCP zones are requested", - "name": "project", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "(empty)", + "name": "body", + "in": "body", "schema": { - "description": "List of GCP zones", "type": "object", + "required": [ + "profiles" + ], "properties": { - "zones": { + "profiles": { "type": "array", "items": { - "description": "A zone is a deployment area for Google Cloud resources within a region", + "description": "Cluster profile request payload", "type": "object", "properties": { - "name": { - "description": "GCP zone name", + "packValues": { + "description": "Cluster profile packs array", + "type": "array", + "uniqueItems": true, + "items": { + "description": "Pack values entity to refer the existing pack for the values override", + "type": "object", + "required": [ + "name" + ], + "properties": { + "manifests": { + "description": "Pack manifests are additional content as part of the profile", + "type": "array", + "items": { + "description": "Manifest update request payload", + "required": [ + "name" + ], + "properties": { + "content": { + "description": "Manifest content in yaml", + "type": "string" + }, + "name": { + "description": "Manifest name", + "type": "string" + }, + "uid": { + "description": "Manifest uid", + "type": "string" + } + } + } + }, + "name": { + "description": "Pack name", + "type": "string" + }, + "tag": { + "description": "Pack version tag", + "type": "string" + }, + "type": { + "type": "string", + "default": "spectro", + "enum": [ + "spectro", + "helm", + "manifest", + "oci" + ] + }, + "values": { + "description": "Pack values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", + "type": "string" + } + } + } + }, + "replaceWithProfile": { + "description": "Cluster profile uid to be replaced with new profile", + "type": "string" + }, + "uid": { + "description": "Cluster profile uid", "type": "string" + }, + "variables": { + "type": "array", + "items": { + "description": "Variable with value which will be used within the packs of cluster profile", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Variable name", + "type": "string" + }, + "value": { + "description": "Actual value of the variable to be used within the cluster", + "type": "string" + } + } + } } } } + }, + "spcApplySettings": { + "type": "object", + "properties": { + "actionType": { + "type": "string", + "enum": [ + "DownloadAndInstall", + "DownloadAndInstallLater" + ] + } + } } } } + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" } } - } + }, + "parameters": [ + { + "type": "string", + "description": "ClusterGroup uid", + "name": "uid", + "in": "path", + "required": true + } + ] }, - "/v1/clouds/gcp/projects/{project}/validate": { + "/v1/clusterprofiles": { "post": { "security": [ { @@ -57055,28 +55115,219 @@ "tags": [ "v1" ], - "summary": "Validate the specified GCP project", - "operationId": "V1GcpProjectValidate", + "summary": "Creates a cluster profile", + "operationId": "v1ClusterProfilesCreate", "parameters": [ { - "type": "string", - "description": "GCP project uid", - "name": "project", - "in": "path", - "required": true - }, - { - "description": "Uid for the specific GCP cloud account", - "name": "cloudAccountUid", + "name": "body", "in": "body", - "required": true, "schema": { - "description": "Cloud account uid entity", + "description": "Cluster profile request payload", "type": "object", "properties": { - "uid": { - "description": "Cloud account uid", - "type": "string" + "metadata": { + "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", + "type": "object", + "properties": { + "annotations": { + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "creationTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "deletionTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "labels": { + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "lastModifiedTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "name": { + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + }, + "uid": { + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", + "type": "string" + } + } + }, + "spec": { + "type": "object", + "properties": { + "template": { + "description": "Cluster profile template spec", + "type": "object", + "properties": { + "cloudType": { + "type": "string" + }, + "packs": { + "description": "Cluster profile packs array", + "type": "array", + "uniqueItems": true, + "items": { + "description": "Pack request payload", + "type": "object", + "required": [ + "name" + ], + "properties": { + "layer": { + "description": "Pack layer", + "type": "string" + }, + "manifests": { + "description": "Pack manifests are additional content as part of the profile", + "type": "array", + "items": { + "description": "Manifest request payload", + "properties": { + "content": { + "description": "Manifest content", + "type": "string" + }, + "name": { + "description": "Manifest name", + "type": "string" + } + } + } + }, + "name": { + "description": "Pack name", + "type": "string" + }, + "registryUid": { + "description": "Pack registry uid", + "type": "string" + }, + "tag": { + "description": "Pack tag", + "type": "string" + }, + "type": { + "type": "string", + "default": "spectro", + "enum": [ + "spectro", + "helm", + "manifest", + "oci" + ] + }, + "uid": { + "description": "Pack uid", + "type": "string" + }, + "values": { + "description": "Pack values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", + "type": "string" + } + } + } + }, + "type": { + "type": "string", + "default": "cluster", + "enum": [ + "cluster", + "infra", + "add-on", + "system" + ] + } + } + }, + "variables": { + "description": "List of unique variable fields defined for a cluster profile with schema constraints", + "type": "array", + "uniqueItems": true, + "items": { + "description": "Unique variable field with schema definition", + "type": "object", + "required": [ + "name" + ], + "properties": { + "defaultValue": { + "description": "The default value of the variable", + "type": "string" + }, + "description": { + "description": "Variable description", + "type": "string" + }, + "displayName": { + "description": "Unique display name of the variable", + "type": "string" + }, + "format": { + "description": "Format type of the variable value", + "type": "string", + "default": "string", + "enum": [ + "string", + "number", + "boolean", + "ipv4", + "ipv4cidr", + "ipv6", + "version" + ] + }, + "hidden": { + "description": "If true, then variable will be hidden for overriding the value. By default the hidden flag will be set to false", + "type": "boolean", + "x-omitempty": false + }, + "immutable": { + "description": "If true, then variable value can't be editable. By default the immutable flag will be set to false", + "type": "boolean", + "x-omitempty": false + }, + "isSensitive": { + "description": "If true, then default value will be masked. By default the isSensitive flag will be set to false", + "type": "boolean", + "x-omitempty": false + }, + "name": { + "description": "Variable name", + "type": "string" + }, + "regex": { + "description": "Regular expression pattern which the variable value must match", + "type": "string" + }, + "required": { + "description": "Flag to specify if the variable is optional or mandatory. If it is mandatory then default value must be provided", + "type": "boolean", + "x-omitempty": false + } + } + } + }, + "version": { + "description": "Cluster profile version", + "type": "string" + } + } } } } @@ -57089,8 +55340,19 @@ } ], "responses": { - "204": { - "description": "Ok response without content", + "201": { + "description": "Created successfully", + "schema": { + "type": "object", + "required": [ + "uid" + ], + "properties": { + "uid": { + "type": "string" + } + } + }, "headers": { "AuditUid": { "type": "string", @@ -57101,8 +55363,8 @@ } } }, - "/v1/clouds/gcp/projects/{project}/zones": { - "get": { + "/v1/clusterprofiles/bulk": { + "delete": { "security": [ { "ApiKey": [] @@ -57114,22 +55376,26 @@ "tags": [ "v1" ], - "summary": "Retrieves a list of GCP zones for the specified account", - "operationId": "V1GcpAvailabilityZones", + "summary": "Deletes list of cluster profiles", + "operationId": "v1ClusterProfilesBulkDelete", "parameters": [ { - "type": "string", - "description": "Uid for the specific GCP cloud account", - "name": "cloudAccountUid", - "in": "query", - "required": true - }, - { - "type": "string", - "description": "Project Name for which GCP zones are requested", - "name": "project", - "in": "path", - "required": true + "name": "body", + "in": "body", + "schema": { + "required": [ + "uids" + ], + "properties": { + "uids": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + } + } + } }, { "type": "string", @@ -57140,23 +55406,38 @@ ], "responses": { "200": { - "description": "(empty)", + "description": "OK", "schema": { - "description": "List of GCP zones", - "type": "object", "properties": { - "zones": { + "deletedCount": { + "type": "integer", + "x-omitempty": false + }, + "failures": { "type": "array", + "uniqueItems": true, "items": { - "description": "A zone is a deployment area for Google Cloud resources within a region", - "type": "object", "properties": { + "errMsg": { + "type": "string" + }, "name": { - "description": "GCP zone name", + "type": "string" + }, + "uid": { "type": "string" } } - } + }, + "x-omitempty": false + }, + "isSucceeded": { + "type": "boolean", + "x-omitempty": false + }, + "message": { + "type": "string", + "x-omitempty": false } } } @@ -57164,7 +55445,7 @@ } } }, - "/v1/clouds/gcp/properties/validate": { + "/v1/clusterprofiles/import": { "post": { "security": [ { @@ -57177,32 +55458,250 @@ "tags": [ "v1" ], - "summary": "Validate GCP properties", - "operationId": "V1GcpPropertiesValidate", + "summary": "Imports a cluster profile", + "operationId": "v1ClusterProfilesImport", "parameters": [ { - "description": "Request payload for GCP properties validate spec", - "name": "properties", + "type": "boolean", + "description": "If true then cluster profile will be published post successful import", + "name": "publish", + "in": "query" + }, + { + "name": "body", "in": "body", - "required": true, "schema": { - "description": "Gcp properties validate spec", + "description": "Cluster profile import request payload", "type": "object", "properties": { - "azs": { - "type": "array", - "items": { - "type": "string" + "metadata": { + "description": "Cluster profile import metadata", + "type": "object", + "properties": { + "description": { + "description": "Cluster profile description", + "type": "string" + }, + "labels": { + "description": "Cluster profile labels", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "name": { + "description": "Cluster profile name", + "type": "string" + } } }, - "cloudAccountUid": { - "type": "string" - }, - "projectId": { - "type": "string" - }, - "region": { - "type": "string" + "spec": { + "description": "Cluster profile import spec", + "type": "object", + "properties": { + "template": { + "description": "Cluster profile import template", + "type": "object", + "properties": { + "cloudType": { + "description": "Cluster profile cloud type", + "type": "string" + }, + "packs": { + "description": "Cluster profile packs array", + "type": "array", + "uniqueItems": true, + "items": { + "description": "Pack import request payload", + "type": "object", + "properties": { + "layer": { + "description": "Pack layer [ \"os\", \"k8s\", \"cni\", \"csi\", \"addon\" ]", + "type": "string" + }, + "manifests": { + "description": "Pack manifests array", + "type": "array", + "items": { + "description": "Pack manifest import objct", + "type": "object", + "properties": { + "content": { + "description": "Pack manifest content in yaml", + "type": "string" + }, + "name": { + "description": "Pack manifest name", + "type": "string" + } + } + } + }, + "name": { + "description": "Pack name", + "type": "string" + }, + "registry": { + "description": "Pack registry import entity", + "type": "object", + "properties": { + "matchingRegistries": { + "type": "array", + "items": { + "description": "Pack registry metadata", + "type": "object", + "properties": { + "isPrivate": { + "description": "If true then pack registry is private and is not accessible for the pack sync", + "type": "boolean", + "x-omitempty": false + }, + "kind": { + "description": "Pack registry kind [ \"pack\", \"helm\", \"oci\" ]", + "type": "string" + }, + "name": { + "description": "Pack registry name", + "type": "string" + }, + "providerType": { + "description": "OCI registry provider type [ \"helm\", \"pack\", \"zarf\" ]", + "type": "string" + }, + "uid": { + "description": "Pack registry uid", + "type": "string" + } + } + } + }, + "metadata": { + "description": "Pack registry metadata", + "type": "object", + "properties": { + "isPrivate": { + "description": "If true then pack registry is private and is not accessible for the pack sync", + "type": "boolean", + "x-omitempty": false + }, + "kind": { + "description": "Pack registry kind [ \"pack\", \"helm\", \"oci\" ]", + "type": "string" + }, + "name": { + "description": "Pack registry name", + "type": "string" + }, + "providerType": { + "description": "OCI registry provider type [ \"helm\", \"pack\", \"zarf\" ]", + "type": "string" + }, + "uid": { + "description": "Pack registry uid", + "type": "string" + } + } + } + } + }, + "tag": { + "description": "Pack version tag", + "type": "string" + }, + "type": { + "description": "Pack type [ \"spectro\", \"helm\", \"manifest\", \"oci\" ]", + "type": "string" + }, + "values": { + "description": "Pack values are the customizable configurations for the pack", + "type": "string" + }, + "version": { + "description": "Pack version", + "type": "string" + } + } + } + }, + "type": { + "description": "Cluster profile type [ \"cluster\", \"infra\", \"add-on\", \"system\" ]", + "type": "string" + } + } + }, + "variables": { + "description": "List of unique variable fields defined for a cluster profile with schema constraints", + "type": "array", + "uniqueItems": true, + "items": { + "description": "Unique variable field with schema definition", + "type": "object", + "required": [ + "name" + ], + "properties": { + "defaultValue": { + "description": "The default value of the variable", + "type": "string" + }, + "description": { + "description": "Variable description", + "type": "string" + }, + "displayName": { + "description": "Unique display name of the variable", + "type": "string" + }, + "format": { + "description": "Format type of the variable value", + "type": "string", + "default": "string", + "enum": [ + "string", + "number", + "boolean", + "ipv4", + "ipv4cidr", + "ipv6", + "version" + ] + }, + "hidden": { + "description": "If true, then variable will be hidden for overriding the value. By default the hidden flag will be set to false", + "type": "boolean", + "x-omitempty": false + }, + "immutable": { + "description": "If true, then variable value can't be editable. By default the immutable flag will be set to false", + "type": "boolean", + "x-omitempty": false + }, + "isSensitive": { + "description": "If true, then default value will be masked. By default the isSensitive flag will be set to false", + "type": "boolean", + "x-omitempty": false + }, + "name": { + "description": "Variable name", + "type": "string" + }, + "regex": { + "description": "Regular expression pattern which the variable value must match", + "type": "string" + }, + "required": { + "description": "Flag to specify if the variable is optional or mandatory. If it is mandatory then default value must be provided", + "type": "boolean", + "x-omitempty": false + } + } + } + }, + "version": { + "description": "Cluster profile version", + "type": "string" + } + } } } } @@ -57215,8 +55714,19 @@ } ], "responses": { - "204": { - "description": "Ok response without content", + "201": { + "description": "Created successfully", + "schema": { + "type": "object", + "required": [ + "uid" + ], + "properties": { + "uid": { + "type": "string" + } + } + }, "headers": { "AuditUid": { "type": "string", @@ -57227,8 +55737,8 @@ } } }, - "/v1/clouds/gcp/regions/{region}/instancetypes": { - "get": { + "/v1/clusterprofiles/import/file": { + "post": { "security": [ { "ApiKey": [] @@ -57237,38 +55747,36 @@ "Authorization": [] } ], + "consumes": [ + "multipart/form-data" + ], "tags": [ "v1" ], - "summary": "Retrieves a list of GCP instance types", - "operationId": "V1GcpInstanceTypes", + "summary": "Imports a cluster profile via file", + "operationId": "v1ClusterProfilesImportFile", "parameters": [ { - "type": "string", - "description": "Region for which GCP instance types are requested", - "name": "region", - "in": "path", - "required": true - }, - { - "type": "number", - "format": "double", - "description": "Filter for instances having cpu greater than or equal", - "name": "cpuGtEq", + "type": "boolean", + "description": "If true then cluster profile will be published post successful import", + "name": "publish", "in": "query" }, { - "type": "number", - "format": "double", - "description": "Filter for instances having memory greater than or equal", - "name": "memoryGtEq", - "in": "query" + "type": "file", + "description": "Cluster profile import file", + "name": "importFile", + "in": "formData" }, { - "type": "number", - "format": "double", - "description": "Filter for instances having gpu greater than or equal", - "name": "gpuGtEq", + "enum": [ + "yaml", + "json" + ], + "type": "string", + "default": "json", + "description": "Cluster profile import file format [\"yaml\", \"json\"]", + "name": "format", "in": "query" }, { @@ -57279,112 +55787,31 @@ } ], "responses": { - "200": { - "description": "(empty)", + "201": { + "description": "Created successfully", "schema": { - "description": "Retrieves a list of GCP instance types", "type": "object", + "required": [ + "uid" + ], "properties": { - "instanceTypes": { - "description": "List of GCP instance types", - "type": "array", - "items": { - "description": "Cloud Instance type details", - "type": "object", - "properties": { - "category": { - "description": "Category of instance type", - "type": "string", - "x-go-name": "Category" - }, - "cost": { - "description": "Instance cost entity", - "type": "object", - "properties": { - "price": { - "description": "Array of cloud instance price", - "type": "array", - "items": { - "description": "Cloud instance price", - "type": "object", - "properties": { - "onDemand": { - "description": "OnDemand price of instance", - "type": "number", - "format": "double" - }, - "os": { - "description": "Os associated with instance price. Allowed values - [linux, windows]", - "type": "string", - "enum": [ - "linux", - "windows" - ] - }, - "spot": { - "description": "Spot price of instance", - "type": "number", - "format": "double" - } - } - } - } - } - }, - "cpu": { - "description": "Cpu of instance type", - "type": "number", - "format": "double", - "x-go-name": "Cpu" - }, - "gpu": { - "description": "Gpu of instance type", - "type": "number", - "format": "double", - "x-go-name": "Gpu" - }, - "memory": { - "description": "Memory of instance type", - "type": "number", - "format": "double", - "x-go-name": "Memory" - }, - "nonSupportedZones": { - "description": "Non supported zones of the instance in a particular region", - "type": "array", - "items": { - "type": "string" - } - }, - "price": { - "description": "Price of instance type", - "type": "number", - "format": "double", - "x-go-name": "Price" - }, - "supportedArchitectures": { - "description": "Supported architecture of the instance", - "type": "array", - "items": { - "type": "string" - } - }, - "type": { - "description": "Type of instance type", - "type": "string", - "x-go-name": "Type" - } - } - } + "uid": { + "type": "string" } } + }, + "headers": { + "AuditUid": { + "type": "string", + "description": "Audit uid for the request" + } } } } } }, - "/v1/clouds/gcp/regions/{region}/storagetypes": { - "get": { + "/v1/clusterprofiles/import/validate": { + "post": { "security": [ { "ApiKey": [] @@ -57396,15 +55823,247 @@ "tags": [ "v1" ], - "summary": "Retrieves a list of Gcp storage types", - "operationId": "V1GcpStorageTypes", + "summary": "Validates cluster profile import", + "operationId": "v1ClusterProfilesImportValidate", "parameters": [ { - "type": "string", - "description": "Region for which GCP storage types are requested", - "name": "region", - "in": "path", - "required": true + "name": "body", + "in": "body", + "schema": { + "description": "Cluster profile import request payload", + "type": "object", + "properties": { + "metadata": { + "description": "Cluster profile import metadata", + "type": "object", + "properties": { + "description": { + "description": "Cluster profile description", + "type": "string" + }, + "labels": { + "description": "Cluster profile labels", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "name": { + "description": "Cluster profile name", + "type": "string" + } + } + }, + "spec": { + "description": "Cluster profile import spec", + "type": "object", + "properties": { + "template": { + "description": "Cluster profile import template", + "type": "object", + "properties": { + "cloudType": { + "description": "Cluster profile cloud type", + "type": "string" + }, + "packs": { + "description": "Cluster profile packs array", + "type": "array", + "uniqueItems": true, + "items": { + "description": "Pack import request payload", + "type": "object", + "properties": { + "layer": { + "description": "Pack layer [ \"os\", \"k8s\", \"cni\", \"csi\", \"addon\" ]", + "type": "string" + }, + "manifests": { + "description": "Pack manifests array", + "type": "array", + "items": { + "description": "Pack manifest import objct", + "type": "object", + "properties": { + "content": { + "description": "Pack manifest content in yaml", + "type": "string" + }, + "name": { + "description": "Pack manifest name", + "type": "string" + } + } + } + }, + "name": { + "description": "Pack name", + "type": "string" + }, + "registry": { + "description": "Pack registry import entity", + "type": "object", + "properties": { + "matchingRegistries": { + "type": "array", + "items": { + "description": "Pack registry metadata", + "type": "object", + "properties": { + "isPrivate": { + "description": "If true then pack registry is private and is not accessible for the pack sync", + "type": "boolean", + "x-omitempty": false + }, + "kind": { + "description": "Pack registry kind [ \"pack\", \"helm\", \"oci\" ]", + "type": "string" + }, + "name": { + "description": "Pack registry name", + "type": "string" + }, + "providerType": { + "description": "OCI registry provider type [ \"helm\", \"pack\", \"zarf\" ]", + "type": "string" + }, + "uid": { + "description": "Pack registry uid", + "type": "string" + } + } + } + }, + "metadata": { + "description": "Pack registry metadata", + "type": "object", + "properties": { + "isPrivate": { + "description": "If true then pack registry is private and is not accessible for the pack sync", + "type": "boolean", + "x-omitempty": false + }, + "kind": { + "description": "Pack registry kind [ \"pack\", \"helm\", \"oci\" ]", + "type": "string" + }, + "name": { + "description": "Pack registry name", + "type": "string" + }, + "providerType": { + "description": "OCI registry provider type [ \"helm\", \"pack\", \"zarf\" ]", + "type": "string" + }, + "uid": { + "description": "Pack registry uid", + "type": "string" + } + } + } + } + }, + "tag": { + "description": "Pack version tag", + "type": "string" + }, + "type": { + "description": "Pack type [ \"spectro\", \"helm\", \"manifest\", \"oci\" ]", + "type": "string" + }, + "values": { + "description": "Pack values are the customizable configurations for the pack", + "type": "string" + }, + "version": { + "description": "Pack version", + "type": "string" + } + } + } + }, + "type": { + "description": "Cluster profile type [ \"cluster\", \"infra\", \"add-on\", \"system\" ]", + "type": "string" + } + } + }, + "variables": { + "description": "List of unique variable fields defined for a cluster profile with schema constraints", + "type": "array", + "uniqueItems": true, + "items": { + "description": "Unique variable field with schema definition", + "type": "object", + "required": [ + "name" + ], + "properties": { + "defaultValue": { + "description": "The default value of the variable", + "type": "string" + }, + "description": { + "description": "Variable description", + "type": "string" + }, + "displayName": { + "description": "Unique display name of the variable", + "type": "string" + }, + "format": { + "description": "Format type of the variable value", + "type": "string", + "default": "string", + "enum": [ + "string", + "number", + "boolean", + "ipv4", + "ipv4cidr", + "ipv6", + "version" + ] + }, + "hidden": { + "description": "If true, then variable will be hidden for overriding the value. By default the hidden flag will be set to false", + "type": "boolean", + "x-omitempty": false + }, + "immutable": { + "description": "If true, then variable value can't be editable. By default the immutable flag will be set to false", + "type": "boolean", + "x-omitempty": false + }, + "isSensitive": { + "description": "If true, then default value will be masked. By default the isSensitive flag will be set to false", + "type": "boolean", + "x-omitempty": false + }, + "name": { + "description": "Variable name", + "type": "string" + }, + "regex": { + "description": "Regular expression pattern which the variable value must match", + "type": "string" + }, + "required": { + "description": "Flag to specify if the variable is optional or mandatory. If it is mandatory then default value must be provided", + "type": "boolean", + "x-omitempty": false + } + } + } + }, + "version": { + "description": "Cluster profile version", + "type": "string" + } + } + } + } + } }, { "type": "string", @@ -57415,109 +56074,237 @@ ], "responses": { "200": { - "description": "(empty)", + "description": "Cluster profile import validated response", "schema": { - "description": "List of GCP storage types", + "description": "Cluster profile import request payload", "type": "object", "properties": { - "storageTypes": { - "type": "array", - "items": { - "description": "Cloud cloud Storage type details", - "type": "object", - "properties": { - "cost": { - "description": "Cloud storage cost", - "type": "object", - "properties": { - "discountedUsage": { - "description": "Cloud storage upper limit which is free.", - "type": "string" - }, - "price": { - "description": "Array of cloud storage range prices", - "type": "array", - "items": { - "description": "Cloud storage price within an upper limit.", - "type": "object", - "properties": { - "limit": { - "description": "Upper limit of cloud storage usage", - "type": "string" - }, - "price": { - "description": "Price of cloud storage type", - "type": "string" + "metadata": { + "description": "Cluster profile import metadata", + "type": "object", + "properties": { + "description": { + "description": "Cluster profile description", + "type": "string" + }, + "labels": { + "description": "Cluster profile labels", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "name": { + "description": "Cluster profile name", + "type": "string" + } + } + }, + "spec": { + "description": "Cluster profile import spec", + "type": "object", + "properties": { + "template": { + "description": "Cluster profile import template", + "type": "object", + "properties": { + "cloudType": { + "description": "Cluster profile cloud type", + "type": "string" + }, + "packs": { + "description": "Cluster profile packs array", + "type": "array", + "uniqueItems": true, + "items": { + "description": "Pack import request payload", + "type": "object", + "properties": { + "layer": { + "description": "Pack layer [ \"os\", \"k8s\", \"cni\", \"csi\", \"addon\" ]", + "type": "string" + }, + "manifests": { + "description": "Pack manifests array", + "type": "array", + "items": { + "description": "Pack manifest import objct", + "type": "object", + "properties": { + "content": { + "description": "Pack manifest content in yaml", + "type": "string" + }, + "name": { + "description": "Pack manifest name", + "type": "string" + } + } + } + }, + "name": { + "description": "Pack name", + "type": "string" + }, + "registry": { + "description": "Pack registry import entity", + "type": "object", + "properties": { + "matchingRegistries": { + "type": "array", + "items": { + "description": "Pack registry metadata", + "type": "object", + "properties": { + "isPrivate": { + "description": "If true then pack registry is private and is not accessible for the pack sync", + "type": "boolean", + "x-omitempty": false + }, + "kind": { + "description": "Pack registry kind [ \"pack\", \"helm\", \"oci\" ]", + "type": "string" + }, + "name": { + "description": "Pack registry name", + "type": "string" + }, + "providerType": { + "description": "OCI registry provider type [ \"helm\", \"pack\", \"zarf\" ]", + "type": "string" + }, + "uid": { + "description": "Pack registry uid", + "type": "string" + } + } + } + }, + "metadata": { + "description": "Pack registry metadata", + "type": "object", + "properties": { + "isPrivate": { + "description": "If true then pack registry is private and is not accessible for the pack sync", + "type": "boolean", + "x-omitempty": false + }, + "kind": { + "description": "Pack registry kind [ \"pack\", \"helm\", \"oci\" ]", + "type": "string" + }, + "name": { + "description": "Pack registry name", + "type": "string" + }, + "providerType": { + "description": "OCI registry provider type [ \"helm\", \"pack\", \"zarf\" ]", + "type": "string" + }, + "uid": { + "description": "Pack registry uid", + "type": "string" + } + } + } } + }, + "tag": { + "description": "Pack version tag", + "type": "string" + }, + "type": { + "description": "Pack type [ \"spectro\", \"helm\", \"manifest\", \"oci\" ]", + "type": "string" + }, + "values": { + "description": "Pack values are the customizable configurations for the pack", + "type": "string" + }, + "version": { + "description": "Pack version", + "type": "string" } } } + }, + "type": { + "description": "Cluster profile type [ \"cluster\", \"infra\", \"add-on\", \"system\" ]", + "type": "string" } - }, - "iopsCost": { - "description": "Cloud storage cost", + } + }, + "variables": { + "description": "List of unique variable fields defined for a cluster profile with schema constraints", + "type": "array", + "uniqueItems": true, + "items": { + "description": "Unique variable field with schema definition", "type": "object", + "required": [ + "name" + ], "properties": { - "discountedUsage": { - "description": "Cloud storage upper limit which is free.", + "defaultValue": { + "description": "The default value of the variable", "type": "string" }, - "price": { - "description": "Array of cloud storage range prices", - "type": "array", - "items": { - "description": "Cloud storage price within an upper limit.", - "type": "object", - "properties": { - "limit": { - "description": "Upper limit of cloud storage usage", - "type": "string" - }, - "price": { - "description": "Price of cloud storage type", - "type": "string" - } - } - } - } - } - }, - "kind": { - "description": "kind of storage type", - "type": "string" - }, - "name": { - "description": "Name of the storage type", - "type": "string" - }, - "throughputCost": { - "description": "Cloud storage cost", - "type": "object", - "properties": { - "discountedUsage": { - "description": "Cloud storage upper limit which is free.", + "description": { + "description": "Variable description", "type": "string" }, - "price": { - "description": "Array of cloud storage range prices", - "type": "array", - "items": { - "description": "Cloud storage price within an upper limit.", - "type": "object", - "properties": { - "limit": { - "description": "Upper limit of cloud storage usage", - "type": "string" - }, - "price": { - "description": "Price of cloud storage type", - "type": "string" - } - } - } + "displayName": { + "description": "Unique display name of the variable", + "type": "string" + }, + "format": { + "description": "Format type of the variable value", + "type": "string", + "default": "string", + "enum": [ + "string", + "number", + "boolean", + "ipv4", + "ipv4cidr", + "ipv6", + "version" + ] + }, + "hidden": { + "description": "If true, then variable will be hidden for overriding the value. By default the hidden flag will be set to false", + "type": "boolean", + "x-omitempty": false + }, + "immutable": { + "description": "If true, then variable value can't be editable. By default the immutable flag will be set to false", + "type": "boolean", + "x-omitempty": false + }, + "isSensitive": { + "description": "If true, then default value will be masked. By default the isSensitive flag will be set to false", + "type": "boolean", + "x-omitempty": false + }, + "name": { + "description": "Variable name", + "type": "string" + }, + "regex": { + "description": "Regular expression pattern which the variable value must match", + "type": "string" + }, + "required": { + "description": "Flag to specify if the variable is optional or mandatory. If it is mandatory then default value must be provided", + "type": "boolean", + "x-omitempty": false } } } + }, + "version": { + "description": "Cluster profile version", + "type": "string" } } } @@ -57527,8 +56314,8 @@ } } }, - "/v1/clouds/maas/account/validate": { - "post": { + "/v1/clusterprofiles/macros": { + "get": { "security": [ { "ApiKey": [] @@ -57537,63 +56324,45 @@ "Authorization": [] } ], - "description": "Returns no contents if account is valid else error.", "tags": [ "v1" ], - "summary": "Check if Maas account is valid", - "operationId": "V1MaasAccountValidate", + "summary": "Retrieves a list of macros", + "operationId": "v1MacrosList", "parameters": [ { - "description": "Request payload for Maas cloud account", - "name": "account", - "in": "body", - "required": true, + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "200": { + "description": "OK", "schema": { - "type": "object", - "required": [ - "apiKey", - "apiEndpoint" - ], "properties": { - "apiEndpoint": { - "type": "string" - }, - "apiKey": { - "type": "string" - }, - "preferredSubnets": { - "description": "list of preferred subnets order in the list reflects order in which subnets will be selected for ip address selection in apiserver dns endpoint this way user can specify external or preferable subnet \"10.11.130.0/24,10.10.10.0/24\"", + "macros": { "type": "array", + "uniqueItems": true, "items": { - "type": "string", - "default": "" + "properties": { + "name": { + "type": "string" + }, + "value": { + "type": "string" + } + } } } } } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "204": { - "description": "Ok response without content", - "headers": { - "AuditUid": { - "type": "string", - "description": "Audit uid for the request" - } - } } } } }, - "/v1/clouds/maas/azs": { + "/v1/clusterprofiles/validate/name": { "get": { "security": [ { @@ -57603,79 +56372,23 @@ "Authorization": [] } ], + "description": "Validates the cluster profile name and version", "tags": [ "v1" ], - "summary": "Retrieves a list of Maas zones for a particular account uid", - "operationId": "V1MaasZonesGet", + "summary": "Validates the cluster profile metadata", + "operationId": "v1ClusterProfilesValidateNameVersion", "parameters": [ { "type": "string", - "description": "Uid for the specific Maas cloud account", - "name": "cloudAccountUid", + "description": "Cluster profile name", + "name": "name", "in": "query" }, { "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "(empty)", - "schema": { - "description": "List of Maas zones", - "type": "object", - "required": [ - "items" - ], - "properties": { - "items": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Maas zone", - "type": "object", - "properties": { - "description": { - "description": "Description of Maas domain", - "type": "string" - }, - "name": { - "description": "Name of Maas zone", - "type": "string" - } - } - } - } - } - } - } - } - } - }, - "/v1/clouds/maas/domains": { - "get": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Retrieves a list of Maas domains", - "operationId": "V1MaasDomainsGet", - "parameters": [ - { - "type": "string", - "description": "Uid for the specific Maas cloud account", - "name": "cloudAccountUid", + "description": "Cluster profile version", + "name": "version", "in": "query" }, { @@ -57686,37 +56399,20 @@ } ], "responses": { - "200": { - "description": "(empty)", - "schema": { - "description": "List of Maas domains", - "type": "object", - "required": [ - "items" - ], - "properties": { - "items": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Maas domain", - "type": "object", - "properties": { - "name": { - "description": "Name of Maas domain", - "type": "string" - } - } - } - } + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "type": "string", + "description": "Audit uid for the request" } } } } } }, - "/v1/clouds/maas/resourcePools": { - "get": { + "/v1/clusterprofiles/validate/packs": { + "post": { "security": [ { "ApiKey": [] @@ -57728,77 +56424,96 @@ "tags": [ "v1" ], - "summary": "Retrieves a list of Maas pools for a particular account uid", - "operationId": "V1MaasPoolsGet", + "summary": "Validates cluster profile packs", + "operationId": "v1ClusterProfilesValidatePacks", "parameters": [ { - "type": "string", - "description": "Uid for the specific Maas cloud account", - "name": "cloudAccountUid", - "in": "query" - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "(empty)", + "name": "body", + "in": "body", "schema": { - "description": "List of Maas pools", + "description": "Cluster profile template spec", "type": "object", - "required": [ - "items" - ], "properties": { - "items": { + "cloudType": { + "type": "string" + }, + "packs": { + "description": "Cluster profile packs array", "type": "array", "uniqueItems": true, "items": { - "description": "Maas pool", + "description": "Pack request payload", "type": "object", + "required": [ + "name" + ], "properties": { - "description": { - "description": "Description of Maas domain", + "layer": { + "description": "Pack layer", "type": "string" }, + "manifests": { + "description": "Pack manifests are additional content as part of the profile", + "type": "array", + "items": { + "description": "Manifest request payload", + "properties": { + "content": { + "description": "Manifest content", + "type": "string" + }, + "name": { + "description": "Manifest name", + "type": "string" + } + } + } + }, "name": { - "description": "Name of Maas pool", + "description": "Pack name", + "type": "string" + }, + "registryUid": { + "description": "Pack registry uid", + "type": "string" + }, + "tag": { + "description": "Pack tag", + "type": "string" + }, + "type": { + "type": "string", + "default": "spectro", + "enum": [ + "spectro", + "helm", + "manifest", + "oci" + ] + }, + "uid": { + "description": "Pack uid", + "type": "string" + }, + "values": { + "description": "Pack values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", "type": "string" } } } + }, + "type": { + "type": "string", + "default": "cluster", + "enum": [ + "cluster", + "infra", + "add-on", + "system" + ] } } } - } - } - } - }, - "/v1/clouds/maas/subnets": { - "get": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Retrieves a list of Maas subnets for a particular account uid", - "operationId": "V1MaasSubnetsGet", - "parameters": [ - { - "type": "string", - "description": "Uid for the specific Maas cloud account", - "name": "cloudAccountUid", - "in": "query" }, { "type": "string", @@ -57809,47 +56524,41 @@ ], "responses": { "200": { - "description": "(empty)", + "description": "Cluster profile packs validation response", "schema": { - "description": "List of Maas subnets", + "description": "Cluster profile validator response", "type": "object", - "required": [ - "items" - ], "properties": { - "items": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Maas subnet", - "type": "object", - "properties": { - "id": { - "description": "Id of Maas subnet", - "type": "integer" - }, - "name": { - "description": "Name of Maas subnet", - "type": "string" - }, - "space": { - "description": "Space associated with Maas subnet", - "type": "string" - }, - "vlans": { - "description": "Maas vlan entity", + "packs": { + "description": "Constraint validator response", + "type": "object", + "properties": { + "results": { + "type": "array", + "uniqueItems": true, + "items": { + "description": "Constraint validator result", "type": "object", "properties": { - "fabric": { - "description": "Fabric associated with Maas Vlan", + "displayName": { "type": "string" }, - "id": { - "description": "Id of Maas Vlan", - "type": "integer" + "errors": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + } + } + } }, "name": { - "description": "Name of Maas Vlan", "type": "string" } } @@ -57863,7 +56572,7 @@ } } }, - "/v1/clouds/maas/tags": { + "/v1/clusterprofiles/{uid}": { "get": { "security": [ { @@ -57876,15 +56585,9 @@ "tags": [ "v1" ], - "summary": "Retrieves a list of Maas tags for a particular account uid", - "operationId": "V1MaasTagsGet", + "summary": "Returns a specified cluster profile", + "operationId": "v1ClusterProfilesGet", "parameters": [ - { - "type": "string", - "description": "Uid for the specific Maas cloud account", - "name": "cloudAccountUid", - "in": "query" - }, { "type": "string", "description": "Scope the request to the specified project uid", @@ -57894,41 +56597,653 @@ ], "responses": { "200": { - "description": "(empty)", + "description": "OK", "schema": { - "description": "List of Maas tags", + "description": "ClusterProfile is the Schema for the clusterprofiles API", "type": "object", - "required": [ - "items" - ], "properties": { - "items": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Maas tag", - "type": "object", - "properties": { - "comment": { - "description": "Comment on Maas tag", - "type": "string" - }, - "definition": { - "description": "Definition of Maas tag", - "type": "string" - }, - "kernelOpts": { - "description": "Kernel Opts on Maas tag", + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", + "type": "object", + "properties": { + "annotations": { + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", + "type": "object", + "additionalProperties": { "type": "string" - }, - "name": { - "description": "Name of Maas tag", + } + }, + "creationTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "deletionTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "labels": { + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", + "type": "object", + "additionalProperties": { "type": "string" - }, - "resourceUri": { - "description": "Description of Maas tag", + } + }, + "lastModifiedTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "name": { + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + }, + "uid": { + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", + "type": "string" + } + } + }, + "spec": { + "description": "ClusterProfileTemplate can be in draft mode, or published mode User only see the latest published template, and (or) the draft template User can apply either the draft version or the latest published version to a cluster when user create a draft version, just copy the Published template, increment the version, and keep changing the draft template without increment the draft version when user publish a draft, the version is fixed, and won't be able to make any modification on published template For each clusterprofile that has a published version, there will be a ClusterProfileArchive automatically created when user publish a draft, the published version will also be copied over to the corresponding ClusterProfileArchive it is just in case in the future for whatever reason we may want to expose earlier versions", + "type": "object", + "properties": { + "draft": { + "description": "ClusterProfileTemplate contains details of a clusterprofile definition", + "type": "object", + "properties": { + "cloudType": { + "type": "string" + }, + "name": { + "type": "string" + }, + "packServerRefs": { + "description": "PackServerRefs is only used on Hubble side it is reference to pack registry servers which PackRef belongs to in hubble, pack server is a top level object, so use a reference to point to it packs within a clusterprofile can come from different pack servers, so this is an array", + "type": "array", + "items": { + "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", + "type": "object", + "properties": { + "kind": { + "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "uid": { + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", + "type": "string" + } + } + } + }, + "packServerSecret": { + "description": "This secret is used only on Palette side use case is similar to k8s image pull secret this single secret internally should contains all the pack servers in PackServerRefs if empty, means no credential is needed to access the pack server For spectro saas, Ally will set this field before pass to palette", + "type": "string" + }, + "packs": { + "description": "Packs definitions here are final definitions. If ClonedFrom and ParamsOverwrite is present, then Packs are the final merge result of ClonedFrom and ParamsOverwrite So orchestration engine will just take the Packs and do the work, no need to worry about parameters merge", + "type": "array", + "items": { + "description": "PackRef server/name:tag to point to a pack PackRef is used when construct a ClusterProfile PackSpec is used for UI to render the parameters form ClusterProfile will not know inner details of a pack ClusterProfile only contain pack name:tag, and the param values user entered for it", + "type": "object", + "required": [ + "layer", + "name" + ], + "properties": { + "annotations": { + "description": "Annotations is used to allow packref to add more arbitrary information one example is to add git reference for values.yaml", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "digest": { + "description": "digest is used to specify the version should be installed by palette when pack upgrade available, change this digest to trigger upgrade", + "type": "string" + }, + "inValidReason": { + "type": "string" + }, + "isInvalid": { + "description": "pack is invalid when the associated tag is deleted from the registry", + "type": "boolean" + }, + "layer": { + "type": "string", + "enum": [ + "kernel", + "os", + "k8s", + "cni", + "csi", + "addon" + ] + }, + "logo": { + "description": "path to the pack logo", + "type": "string" + }, + "manifests": { + "type": "array", + "items": { + "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", + "type": "object", + "properties": { + "kind": { + "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "uid": { + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", + "type": "string" + } + } + } + }, + "name": { + "description": "pack name", + "type": "string" + }, + "packUid": { + "description": "PackUID is Hubble packUID, not palette Pack.UID It is used by Hubble only.", + "type": "string" + }, + "params": { + "description": "params passed as env variables to be consumed at installation time", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "presets": { + "type": "array", + "items": { + "description": "PackPreset defines the preset pack values", + "type": "object", + "properties": { + "add": { + "type": "string", + "x-omitempty": false + }, + "displayName": { + "type": "string", + "x-omitempty": false + }, + "group": { + "type": "string", + "x-omitempty": false + }, + "name": { + "type": "string", + "x-omitempty": false + }, + "remove": { + "type": "array", + "items": { + "type": "string" + }, + "x-omitempty": false + } + } + } + }, + "registryUid": { + "description": "pack registry uid", + "type": "string" + }, + "schema": { + "type": "array", + "items": { + "description": "PackSchema defines the schema definition, hints for the pack values", + "type": "object", + "properties": { + "format": { + "type": "string", + "x-omitempty": false + }, + "hints": { + "type": "array", + "items": { + "type": "string" + }, + "x-omitempty": false + }, + "listOptions": { + "type": "array", + "items": { + "type": "string" + }, + "x-omitempty": false + }, + "name": { + "type": "string", + "x-omitempty": false + }, + "readonly": { + "type": "boolean", + "x-omitempty": false + }, + "regex": { + "type": "string", + "x-omitempty": false + }, + "required": { + "type": "boolean", + "x-omitempty": false + }, + "type": { + "type": "string", + "x-omitempty": false + } + } + } + }, + "server": { + "description": "pack registry server or helm repo", + "type": "string" + }, + "tag": { + "description": "pack tag", + "type": "string" + }, + "type": { + "description": "type of the pack", + "type": "string", + "enum": [ + "spectro", + "helm", + "manifest" + ] + }, + "values": { + "description": "values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", + "type": "string" + }, + "version": { + "description": "pack version", + "type": "string" + } + } + } + }, + "profileVersion": { + "description": "version start from 1.0.0, matching the index of ClusterProfileSpec.Versions[] will be used by clusterSpec to identify which version is applied to the cluster", + "type": "string" + }, + "relatedObject": { + "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", + "type": "object", + "properties": { + "kind": { + "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "uid": { + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", + "type": "string" + } + } + }, + "type": { + "type": "string" + }, + "uid": { + "type": "string" + }, + "version": { + "description": "Deprecated. Use profileVersion", + "type": "integer", + "format": "int32" + } + } + }, + "published": { + "description": "ClusterProfileTemplate contains details of a clusterprofile definition", + "type": "object", + "properties": { + "cloudType": { + "type": "string" + }, + "name": { + "type": "string" + }, + "packServerRefs": { + "description": "PackServerRefs is only used on Hubble side it is reference to pack registry servers which PackRef belongs to in hubble, pack server is a top level object, so use a reference to point to it packs within a clusterprofile can come from different pack servers, so this is an array", + "type": "array", + "items": { + "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", + "type": "object", + "properties": { + "kind": { + "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "uid": { + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", + "type": "string" + } + } + } + }, + "packServerSecret": { + "description": "This secret is used only on Palette side use case is similar to k8s image pull secret this single secret internally should contains all the pack servers in PackServerRefs if empty, means no credential is needed to access the pack server For spectro saas, Ally will set this field before pass to palette", + "type": "string" + }, + "packs": { + "description": "Packs definitions here are final definitions. If ClonedFrom and ParamsOverwrite is present, then Packs are the final merge result of ClonedFrom and ParamsOverwrite So orchestration engine will just take the Packs and do the work, no need to worry about parameters merge", + "type": "array", + "items": { + "description": "PackRef server/name:tag to point to a pack PackRef is used when construct a ClusterProfile PackSpec is used for UI to render the parameters form ClusterProfile will not know inner details of a pack ClusterProfile only contain pack name:tag, and the param values user entered for it", + "type": "object", + "required": [ + "layer", + "name" + ], + "properties": { + "annotations": { + "description": "Annotations is used to allow packref to add more arbitrary information one example is to add git reference for values.yaml", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "digest": { + "description": "digest is used to specify the version should be installed by palette when pack upgrade available, change this digest to trigger upgrade", + "type": "string" + }, + "inValidReason": { + "type": "string" + }, + "isInvalid": { + "description": "pack is invalid when the associated tag is deleted from the registry", + "type": "boolean" + }, + "layer": { + "type": "string", + "enum": [ + "kernel", + "os", + "k8s", + "cni", + "csi", + "addon" + ] + }, + "logo": { + "description": "path to the pack logo", + "type": "string" + }, + "manifests": { + "type": "array", + "items": { + "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", + "type": "object", + "properties": { + "kind": { + "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "uid": { + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", + "type": "string" + } + } + } + }, + "name": { + "description": "pack name", + "type": "string" + }, + "packUid": { + "description": "PackUID is Hubble packUID, not palette Pack.UID It is used by Hubble only.", + "type": "string" + }, + "params": { + "description": "params passed as env variables to be consumed at installation time", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "presets": { + "type": "array", + "items": { + "description": "PackPreset defines the preset pack values", + "type": "object", + "properties": { + "add": { + "type": "string", + "x-omitempty": false + }, + "displayName": { + "type": "string", + "x-omitempty": false + }, + "group": { + "type": "string", + "x-omitempty": false + }, + "name": { + "type": "string", + "x-omitempty": false + }, + "remove": { + "type": "array", + "items": { + "type": "string" + }, + "x-omitempty": false + } + } + } + }, + "registryUid": { + "description": "pack registry uid", + "type": "string" + }, + "schema": { + "type": "array", + "items": { + "description": "PackSchema defines the schema definition, hints for the pack values", + "type": "object", + "properties": { + "format": { + "type": "string", + "x-omitempty": false + }, + "hints": { + "type": "array", + "items": { + "type": "string" + }, + "x-omitempty": false + }, + "listOptions": { + "type": "array", + "items": { + "type": "string" + }, + "x-omitempty": false + }, + "name": { + "type": "string", + "x-omitempty": false + }, + "readonly": { + "type": "boolean", + "x-omitempty": false + }, + "regex": { + "type": "string", + "x-omitempty": false + }, + "required": { + "type": "boolean", + "x-omitempty": false + }, + "type": { + "type": "string", + "x-omitempty": false + } + } + } + }, + "server": { + "description": "pack registry server or helm repo", + "type": "string" + }, + "tag": { + "description": "pack tag", + "type": "string" + }, + "type": { + "description": "type of the pack", + "type": "string", + "enum": [ + "spectro", + "helm", + "manifest" + ] + }, + "values": { + "description": "values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", + "type": "string" + }, + "version": { + "description": "pack version", + "type": "string" + } + } + } + }, + "profileVersion": { + "description": "version start from 1.0.0, matching the index of ClusterProfileSpec.Versions[] will be used by clusterSpec to identify which version is applied to the cluster", + "type": "string" + }, + "relatedObject": { + "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", + "type": "object", + "properties": { + "kind": { + "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "uid": { + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", + "type": "string" + } + } + }, + "type": { + "type": "string" + }, + "uid": { + "type": "string" + }, + "version": { + "description": "Deprecated. Use profileVersion", + "type": "integer", + "format": "int32" + } + } + }, + "version": { + "type": "string" + }, + "versions": { + "description": "Cluster profile's list of all the versions", + "type": "array", + "items": { + "description": "Cluster profile with version", + "properties": { + "uid": { + "type": "string" + }, + "version": { + "type": "string" + } + } + } + } + } + }, + "status": { + "description": "ClusterProfileStatus defines the observed state of ClusterProfile", + "type": "object", + "properties": { + "hasUserMacros": { + "description": "If it is true then profile pack values has a reference to user defined macros", + "type": "boolean", + "x-omitempty": false + }, + "inUseClusterUids": { + "description": "Deprecated. Use inUseClusters", + "type": "array", + "items": { "type": "string" } + }, + "inUseClusters": { + "type": "array", + "items": { + "description": "Object resource reference", + "type": "object", + "properties": { + "kind": { + "type": "string" + }, + "name": { + "type": "string" + }, + "projectUid": { + "type": "string" + }, + "tenantUid": { + "type": "string" + }, + "uid": { + "type": "string" + } + } + } + }, + "isPublished": { + "type": "boolean", + "x-omitempty": false } } } @@ -57936,10 +57251,8 @@ } } } - } - }, - "/v1/clouds/openstack/account/validate": { - "post": { + }, + "put": { "security": [ { "ApiKey": [] @@ -57948,61 +57261,162 @@ "Authorization": [] } ], - "description": "Returns no contents if account is valid else error.", "tags": [ "v1" ], - "summary": "Check if OpenStack account is valid", - "operationId": "V1OpenStackAccountValidate", + "summary": "Updates the specified cluster profile", + "operationId": "v1ClusterProfilesUpdate", "parameters": [ { - "description": "Request payload for OpenStack cloud account", - "name": "openstackCloudAccount", + "name": "body", "in": "body", - "required": true, "schema": { - "description": "auth-url,project,username,password,domain,cacert etc", + "description": "Cluster profile update request payload", "type": "object", - "required": [ - "identityEndpoint", - "username", - "password" - ], "properties": { - "caCert": { - "description": "Ca cert for OpenStack", - "type": "string" - }, - "defaultDomain": { - "description": "Default Domain name", - "type": "string" - }, - "defaultProject": { - "description": "Default Project name", - "type": "string" - }, - "identityEndpoint": { - "description": "Identity endpoint for OpenStack", - "type": "string" - }, - "insecure": { - "description": "For self signed certs in IdentityEndpoint", - "type": "boolean" - }, - "parentRegion": { - "description": "Parent region of OpenStack", - "type": "string" - }, - "password": { - "description": "Password of OpenStack account", - "type": "string" - }, - "username": { - "description": "Username of OpenStack account", - "type": "string" - } - } - } + "metadata": { + "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", + "type": "object", + "properties": { + "annotations": { + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "creationTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "deletionTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "labels": { + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "lastModifiedTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "name": { + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + }, + "uid": { + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", + "type": "string" + } + } + }, + "spec": { + "description": "Cluster profile update spec", + "type": "object", + "properties": { + "template": { + "description": "Cluster profile template update spec", + "type": "object", + "properties": { + "packs": { + "description": "Cluster profile packs array", + "type": "array", + "uniqueItems": true, + "items": { + "description": "Pack input entity with values to overwrite and manifests for the intial creation", + "type": "object", + "required": [ + "name" + ], + "properties": { + "layer": { + "description": "Pack layer", + "type": "string" + }, + "manifests": { + "description": "Pack manifests are additional content as part of the profile", + "type": "array", + "items": { + "description": "Manifest update request payload", + "required": [ + "name" + ], + "properties": { + "content": { + "description": "Manifest content in yaml", + "type": "string" + }, + "name": { + "description": "Manifest name", + "type": "string" + }, + "uid": { + "description": "Manifest uid", + "type": "string" + } + } + } + }, + "name": { + "description": "Pack name", + "type": "string" + }, + "registryUid": { + "description": "Pack registry uid", + "type": "string" + }, + "tag": { + "description": "Pack tag", + "type": "string" + }, + "type": { + "type": "string", + "default": "spectro", + "enum": [ + "spectro", + "helm", + "manifest", + "oci" + ] + }, + "uid": { + "description": "Pack uid", + "type": "string" + }, + "values": { + "description": "Pack values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", + "type": "string" + } + } + } + }, + "type": { + "type": "string", + "default": "cluster", + "enum": [ + "cluster", + "infra", + "add-on", + "system" + ] + } + } + }, + "version": { + "description": "Cluster profile version", + "type": "string" + } + } + } + } + } }, { "type": "string", @@ -58013,19 +57427,11 @@ ], "responses": { "204": { - "description": "Ok response without content", - "headers": { - "AuditUid": { - "type": "string", - "description": "Audit uid for the request" - } - } + "description": "The resource was updated successfully" } } - } - }, - "/v1/clouds/openstack/azs": { - "get": { + }, + "delete": { "security": [ { "ApiKey": [] @@ -58037,33 +57443,9 @@ "tags": [ "v1" ], - "summary": "Retrieves a list of OpenStack azs for a particular account uid", - "operationId": "V1OpenStackAzsGet", + "summary": "Deletes the specified cluster profile", + "operationId": "v1ClusterProfilesDelete", "parameters": [ - { - "type": "string", - "description": "Uid for the specific OpenStack cloud account", - "name": "cloudAccountUid", - "in": "query" - }, - { - "type": "string", - "description": "project for which OpenStack azs are requested", - "name": "project", - "in": "query" - }, - { - "type": "string", - "description": "region for which OpenStack azs are requested", - "name": "region", - "in": "query" - }, - { - "type": "string", - "description": "domain for which OpenStack azs are requested", - "name": "domain", - "in": "query" - }, { "type": "string", "description": "Scope the request to the specified project uid", @@ -58072,37 +57454,29 @@ } ], "responses": { - "200": { - "description": "(empty)", - "schema": { - "description": "List of OpenStack azs", - "type": "object", - "required": [ - "azs" - ], - "properties": { - "azs": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "OpenStack az entity", - "type": "object", - "properties": { - "name": { - "description": "Name of OpenStack az", - "type": "string" - } - } - } - } - } - } + "204": { + "description": "The resource was deleted successfully" } } - } + }, + "parameters": [ + { + "type": "string", + "description": "Cluster profile uid", + "name": "uid", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "Comma seperated pack meta such as schema, presets", + "name": "includePackMeta", + "in": "query" + } + ] }, - "/v1/clouds/openstack/flavors": { - "get": { + "/v1/clusterprofiles/{uid}/clone": { + "post": { "security": [ { "ApiKey": [] @@ -58114,32 +57488,57 @@ "tags": [ "v1" ], - "summary": "Returns the OpenStack flavors", - "operationId": "V1OpenStackFlavorsGet", + "summary": "Creates a clone of the specified cluster profile", + "operationId": "v1ClusterProfilesUidClone", "parameters": [ { - "type": "string", - "description": "Uid for the specific OpenStack cloud account", - "name": "cloudAccountUid", - "in": "query" - }, - { - "type": "string", - "description": "project for which OpenStack flavors are requested", - "name": "project", - "in": "query" - }, - { - "type": "string", - "description": "region for which OpenStack flavors are requested", - "name": "region", - "in": "query" - }, - { - "type": "string", - "description": "domain for which OpenStack flavors are requested", - "name": "domain", - "in": "query" + "name": "body", + "in": "body", + "schema": { + "description": "Cluster profile clone request payload", + "type": "object", + "properties": { + "metadata": { + "description": "Cluster profile clone metadata", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Cloned cluster profile name", + "type": "string" + }, + "target": { + "description": "Cluster profile clone meta input entity", + "type": "object", + "required": [ + "scope" + ], + "properties": { + "projectUid": { + "description": "Cloned cluster profile project uid", + "type": "string" + }, + "scope": { + "type": "string", + "enum": [ + "system", + "tenant", + "project", + "resource" + ] + } + } + }, + "version": { + "description": "Cloned cluster profile version", + "type": "string" + } + } + } + } + } }, { "type": "string", @@ -58149,57 +57548,40 @@ } ], "responses": { - "200": { - "description": "(empty)", + "201": { + "description": "Created successfully", "schema": { - "description": "List of OpenStack flavours", "type": "object", "required": [ - "items" + "uid" ], "properties": { - "items": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "OpenStack flavor entity. Flavor represent (virtual) hardware configurations for server resources", - "type": "object", - "properties": { - "disk": { - "description": "Disk is the amount of root disk, measured in GB", - "type": "integer" - }, - "ephemeral": { - "description": "Ephemeral is the amount of ephemeral disk space, measured in GB", - "type": "integer" - }, - "id": { - "description": "ID is the flavor's unique ID", - "type": "string" - }, - "memory": { - "description": "Amount of memory, measured in MB", - "type": "integer" - }, - "name": { - "description": "Name is the name of the flavor", - "type": "string" - }, - "vcpus": { - "description": "VCPUs indicates how many (virtual) CPUs are available for this flavor", - "type": "integer" - } - } - } + "uid": { + "type": "string" } } + }, + "headers": { + "AuditUid": { + "type": "string", + "description": "Audit uid for the request" + } } } } - } + }, + "parameters": [ + { + "type": "string", + "description": "Cluster profile uid", + "name": "uid", + "in": "path", + "required": true + } + ] }, - "/v1/clouds/openstack/keypairs": { - "get": { + "/v1/clusterprofiles/{uid}/clone/validate": { + "post": { "security": [ { "ApiKey": [] @@ -58208,116 +57590,55 @@ "Authorization": [] } ], + "description": "Validates the cloned cluster profile name, version and target project uid", "tags": [ "v1" ], - "summary": "Returns the OpenStack keypair", - "operationId": "V1OpenStackKeypairsGet", + "summary": "Validates the cluster profile clone", + "operationId": "v1ClusterProfilesUidCloneValidate", "parameters": [ { - "type": "string", - "description": "Uid for the specific OpenStack cloud account", - "name": "cloudAccountUid", - "in": "query" - }, - { - "type": "string", - "description": "project for which OpenStack keypairs are requested", - "name": "project", - "in": "query" - }, - { - "type": "string", - "description": "region for which OpenStack keypairs are requested", - "name": "region", - "in": "query" - }, - { - "type": "string", - "description": "domain for which OpenStack keypairs are requested", - "name": "domain", - "in": "query" - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "(empty)", + "name": "body", + "in": "body", "schema": { - "description": "List of OpenStack keypairs", + "description": "Cluster profile clone metadata", "type": "object", "required": [ - "items" + "name" ], "properties": { - "items": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "OpenStack keypair. KeyPair is an SSH key known to the OpenStack Cloud that is available to be injected into servers", - "type": "object", - "properties": { - "name": { - "description": "Name is used to refer to this keypair from other services within this region", - "type": "string" - }, - "publicKey": { - "description": "PublicKey is the public key from this pair, in OpenSSH format", - "type": "string" - } + "name": { + "description": "Cloned cluster profile name", + "type": "string" + }, + "target": { + "description": "Cluster profile clone meta input entity", + "type": "object", + "required": [ + "scope" + ], + "properties": { + "projectUid": { + "description": "Cloned cluster profile project uid", + "type": "string" + }, + "scope": { + "type": "string", + "enum": [ + "system", + "tenant", + "project", + "resource" + ] } } + }, + "version": { + "description": "Cloned cluster profile version", + "type": "string" } } } - } - } - } - }, - "/v1/clouds/openstack/networks": { - "get": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Returns the OpenStack networks", - "operationId": "V1OpenStackNetworksGet", - "parameters": [ - { - "type": "string", - "description": "Uid for the specific OpenStack cloud account", - "name": "cloudAccountUid", - "in": "query" - }, - { - "type": "string", - "description": "project for which OpenStack networks are requested", - "name": "project", - "in": "query" - }, - { - "type": "string", - "description": "region for which OpenStack networks are requested", - "name": "region", - "in": "query" - }, - { - "type": "string", - "description": "domain for which OpenStack networks are requested", - "name": "domain", - "in": "query" }, { "type": "string", @@ -58327,67 +57648,28 @@ } ], "responses": { - "200": { - "description": "(empty)", - "schema": { - "description": "List of OpenStack networks", - "type": "object", - "required": [ - "items" - ], - "properties": { - "items": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "OpenStack network", - "type": "object", - "properties": { - "description": { - "description": "Description of OpenStack network", - "type": "string" - }, - "id": { - "description": "Id of OpenStack network", - "type": "string" - }, - "name": { - "description": "Name of OpenStack network", - "type": "string" - }, - "subnets": { - "description": "Subnets associated with OpenStack network", - "type": "array", - "uniqueItems": true, - "items": { - "description": "OpenStack subnet entity", - "type": "object", - "properties": { - "description": { - "description": "Description for the network", - "type": "string" - }, - "id": { - "description": "UUID for the network", - "type": "string" - }, - "name": { - "description": "Human-readable name for the network. Might not be unique", - "type": "string" - } - } - } - } - } - } - } + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "type": "string", + "description": "Audit uid for the request" } } } } - } + }, + "parameters": [ + { + "type": "string", + "description": "Cluster profile uid", + "name": "uid", + "in": "path", + "required": true + } + ] }, - "/v1/clouds/openstack/projects": { + "/v1/clusterprofiles/{uid}/export": { "get": { "security": [ { @@ -58397,18 +57679,15 @@ "Authorization": [] } ], + "produces": [ + "application/octet-stream" + ], "tags": [ "v1" ], - "summary": "Returns the OpenStack projects", - "operationId": "V1OpenStackProjectsGet", + "summary": "Export the specified cluster profile", + "operationId": "V1ClusterProfilesUidExport", "parameters": [ - { - "type": "string", - "description": "Uid for the specific OpenStack cloud account", - "name": "cloudAccountUid", - "in": "query" - }, { "type": "string", "description": "Scope the request to the specified project uid", @@ -58418,51 +57697,41 @@ ], "responses": { "200": { - "description": "(empty)", + "description": "Exports cluster profile as a file", "schema": { - "description": "Array of OpenStack projects", - "type": "object", - "required": [ - "items" - ], - "properties": { - "items": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Project represents an OpenStack Identity Project", - "type": "object", - "properties": { - "description": { - "description": "Description is the description of the project", - "type": "string" - }, - "domainId": { - "description": "DomainID is the domain ID the project belongs to", - "type": "string" - }, - "id": { - "description": "ID is the unique ID of the project", - "type": "string" - }, - "name": { - "description": "Name is the name of the project", - "type": "string" - }, - "parentProjectId": { - "description": "ParentID is the parent_id of the project", - "type": "string" - } - } - } - } + "type": "string", + "format": "binary" + }, + "headers": { + "Content-Disposition": { + "type": "string" } } } } - } + }, + "parameters": [ + { + "type": "string", + "description": "Cluster profile uid", + "name": "uid", + "in": "path", + "required": true + }, + { + "enum": [ + "yaml", + "json" + ], + "type": "string", + "default": "json", + "description": "Cluster profile export file format [ \"yaml\", \"json\" ]", + "name": "format", + "in": "query" + } + ] }, - "/v1/clouds/openstack/regions": { + "/v1/clusterprofiles/{uid}/export/terraform": { "get": { "security": [ { @@ -58472,18 +57741,15 @@ "Authorization": [] } ], + "produces": [ + "application/octet-stream" + ], "tags": [ "v1" ], - "summary": "Returns the OpenStack regions", - "operationId": "V1OpenStackRegionsGet", + "summary": "Downloads the specified cluster profile", + "operationId": "V1ClusterProfilesUidExportTerraform", "parameters": [ - { - "type": "string", - "description": "Uid for the specific OpenStack cloud account", - "name": "cloudAccountUid", - "in": "query" - }, { "type": "string", "description": "Scope the request to the specified project uid", @@ -58493,69 +57759,42 @@ ], "responses": { "200": { - "description": "(empty)", + "description": "Downloads cluster profile export file", "schema": { - "description": "List of OpenStack regions and domains", - "type": "object", - "required": [ - "regions", - "domains" - ], - "properties": { - "domains": { - "description": "List of OpenStack domains", - "type": "array", - "uniqueItems": true, - "items": { - "description": "OpenStack domain. A Domain is a collection of projects, users, and roles", - "type": "object", - "properties": { - "description": { - "description": "Description is the description of the Domain", - "type": "string" - }, - "id": { - "description": "ID is the unique ID of the domain", - "type": "string" - }, - "name": { - "description": "Name is the name of the domain", - "type": "string" - } - } - } - }, - "regions": { - "description": "List of OpenStack regions", - "type": "array", - "uniqueItems": true, - "items": { - "description": "OpenStack region entity", - "type": "object", - "properties": { - "description": { - "description": "Description of OpenStack region", - "type": "string" - }, - "id": { - "description": "Id of OpenStack region", - "type": "string" - }, - "parentRegionId": { - "description": "Parent region id of OpenStack region", - "type": "string" - } - } - } - } + "type": "string", + "format": "binary" + }, + "headers": { + "Content-Disposition": { + "type": "string" } } } } - } + }, + "parameters": [ + { + "type": "string", + "description": "Cluster profile uid", + "name": "uid", + "in": "path", + "required": true + }, + { + "enum": [ + "yaml", + "json" + ], + "type": "string", + "default": "yaml", + "description": "Cluster profile export file format [ \"yaml\", \"json\" ]", + "name": "format", + "in": "query" + } + ] }, - "/v1/clouds/tencent/account/validate": { - "post": { + "/v1/clusterprofiles/{uid}/metadata": { + "patch": { "security": [ { "ApiKey": [] @@ -58567,28 +57806,52 @@ "tags": [ "v1" ], - "summary": "Validate the specified Tencent account credentials", - "operationId": "V1TencentAccountValidate", + "summary": "Updates the specified cluster profile metadata", + "operationId": "v1ClusterProfilesUidMetadataUpdate", "parameters": [ { - "description": "Request payload to validate tencent cloud account", - "name": "account", + "name": "body", "in": "body", - "required": true, "schema": { + "description": "Cluster profile metadata request payload", "type": "object", "required": [ - "secretId", - "secretKey" + "metadata" ], "properties": { - "secretId": { - "description": "Tencent api secretID", - "type": "string" + "metadata": { + "description": "ObjectMeta input entity for object creation", + "type": "object", + "properties": { + "annotations": { + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "labels": { + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "name": { + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + } + } }, - "secretKey": { - "description": "Tencent api secret key", - "type": "string" + "spec": { + "description": "Cluster profile update spec", + "type": "object", + "properties": { + "version": { + "description": "Cluster profile version", + "type": "string" + } + } } } } @@ -58602,19 +57865,22 @@ ], "responses": { "204": { - "description": "Ok response without content", - "headers": { - "AuditUid": { - "type": "string", - "description": "Audit uid for the request" - } - } + "description": "The resource was updated successfully" } } - } + }, + "parameters": [ + { + "type": "string", + "description": "Cluster profile uid", + "name": "uid", + "in": "path", + "required": true + } + ] }, - "/v1/clouds/tencent/regions": { - "get": { + "/v1/clusterprofiles/{uid}/packRefs": { + "patch": { "security": [ { "ApiKey": [] @@ -58626,16 +57892,9 @@ "tags": [ "v1" ], - "summary": "Retrieves a list of Tencent regions for the specified account", - "operationId": "V1TencentRegions", + "summary": "Updates cluster profile packs ref", + "operationId": "v1ClusterProfilesPacksRefUpdate", "parameters": [ - { - "type": "string", - "description": "Uid for the specific Tencent cloud account", - "name": "cloudAccountUid", - "in": "query", - "required": true - }, { "type": "string", "description": "Scope the request to the specified project uid", @@ -58644,40 +57903,114 @@ } ], "responses": { - "200": { - "description": "(empty)", - "schema": { - "description": "List of tencent regions", - "type": "object", - "required": [ - "regions" - ], - "properties": { - "regions": { - "description": "Tencent regions entity", - "type": "array", - "items": { - "description": "Tencent region entity", - "type": "object", - "properties": { - "name": { - "description": "Name of tencent region", - "type": "string" - }, - "state": { - "description": "State of tencent region", - "type": "string" + "204": { + "description": "The resource was updated successfully" + } + } + }, + "parameters": [ + { + "type": "string", + "description": "Cluster profile uid", + "name": "uid", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "Cluster profile notification uid", + "name": "notify", + "in": "query" + }, + { + "name": "body", + "in": "body", + "schema": { + "description": "Cluster profile notification update request payload", + "type": "object", + "properties": { + "packs": { + "description": "Cluster profile packs array", + "type": "array", + "uniqueItems": true, + "items": { + "description": "Pack input entity with values to overwrite and manifests for the intial creation", + "type": "object", + "required": [ + "name" + ], + "properties": { + "layer": { + "description": "Pack layer", + "type": "string" + }, + "manifests": { + "description": "Pack manifests are additional content as part of the profile", + "type": "array", + "items": { + "description": "Manifest update request payload", + "required": [ + "name" + ], + "properties": { + "content": { + "description": "Manifest content in yaml", + "type": "string" + }, + "name": { + "description": "Manifest name", + "type": "string" + }, + "uid": { + "description": "Manifest uid", + "type": "string" + } + } } + }, + "name": { + "description": "Pack name", + "type": "string" + }, + "registryUid": { + "description": "Pack registry uid", + "type": "string" + }, + "tag": { + "description": "Pack tag", + "type": "string" + }, + "type": { + "type": "string", + "default": "spectro", + "enum": [ + "spectro", + "helm", + "manifest", + "oci" + ] + }, + "uid": { + "description": "Pack uid", + "type": "string" + }, + "values": { + "description": "Pack values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", + "type": "string" } } } + }, + "uid": { + "description": "Cluster profile uid", + "type": "string" } } } } - } + ] }, - "/v1/clouds/tencent/regions/{region}/instancetypes": { + "/v1/clusterprofiles/{uid}/packs": { "get": { "security": [ { @@ -58690,44 +58023,9 @@ "tags": [ "v1" ], - "summary": "Retrieves a list of Tencent instance types", - "operationId": "V1TencentInstanceTypes", + "summary": "Returns the specified cluster profile packs", + "operationId": "v1ClusterProfilesUidPacksGet", "parameters": [ - { - "type": "string", - "description": "Region for which tencent instances are listed", - "name": "region", - "in": "path", - "required": true - }, - { - "type": "number", - "format": "double", - "description": "Filter for instances having cpu greater than or equal", - "name": "cpuGtEq", - "in": "query" - }, - { - "type": "number", - "format": "double", - "description": "Filter for instances having memory greater than or equal", - "name": "memoryGtEq", - "in": "query" - }, - { - "type": "number", - "format": "double", - "description": "Filter for instances having gpu greater than or equal", - "name": "gpuGtEq", - "in": "query" - }, - { - "type": "string", - "description": "Uid for the specific tencent cloud account", - "name": "cloudAccountUid", - "in": "query", - "required": true - }, { "type": "string", "description": "Scope the request to the specified project uid", @@ -58737,402 +58035,474 @@ ], "responses": { "200": { - "description": "(empty)", + "description": "OK", "schema": { - "description": "List of Tencent instance types", + "description": "List of cluster profile packs", "type": "object", + "required": [ + "items" + ], "properties": { - "instanceTypes": { + "items": { + "description": "Cluster profile packs array", "type": "array", + "uniqueItems": true, "items": { - "description": "Cloud Instance type details", + "description": "Cluster profile packs object", "type": "object", "properties": { - "category": { - "description": "Category of instance type", - "type": "string", - "x-go-name": "Category" - }, - "cost": { - "description": "Instance cost entity", + "metadata": { + "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", "type": "object", "properties": { - "price": { - "description": "Array of cloud instance price", - "type": "array", - "items": { - "description": "Cloud instance price", - "type": "object", - "properties": { - "onDemand": { - "description": "OnDemand price of instance", - "type": "number", - "format": "double" - }, - "os": { - "description": "Os associated with instance price. Allowed values - [linux, windows]", - "type": "string", - "enum": [ - "linux", - "windows" - ] - }, - "spot": { - "description": "Spot price of instance", - "type": "number", - "format": "double" - } - } + "annotations": { + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "creationTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "deletionTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "labels": { + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", + "type": "object", + "additionalProperties": { + "type": "string" } + }, + "lastModifiedTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "name": { + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + }, + "uid": { + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", + "type": "string" } } }, - "cpu": { - "description": "Cpu of instance type", - "type": "number", - "format": "double", - "x-go-name": "Cpu" - }, - "gpu": { - "description": "Gpu of instance type", - "type": "number", - "format": "double", - "x-go-name": "Gpu" - }, - "memory": { - "description": "Memory of instance type", - "type": "number", - "format": "double", - "x-go-name": "Memory" - }, - "nonSupportedZones": { - "description": "Non supported zones of the instance in a particular region", - "type": "array", - "items": { - "type": "string" - } - }, - "price": { - "description": "Price of instance type", - "type": "number", - "format": "double", - "x-go-name": "Price" - }, - "supportedArchitectures": { - "description": "Supported architecture of the instance", - "type": "array", - "items": { - "type": "string" - } - }, - "type": { - "description": "Type of instance type", - "type": "string", - "x-go-name": "Type" - } - } - } - } - } - } - } - } - } - }, - "/v1/clouds/tencent/regions/{region}/keypairs": { - "get": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Retrieves a list of keypairs for the specified account", - "operationId": "V1TencentKeypairs", - "parameters": [ - { - "type": "string", - "description": "Region for which keypairs are requested", - "name": "region", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Uid for the specific Tencent cloud account", - "name": "cloudAccountUid", - "in": "query", - "required": true - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "(empty)", - "schema": { - "description": "List of Tencent keypairs", - "type": "object", - "properties": { - "keypairs": { - "type": "array", - "items": { - "description": "Tencent Keypair entity", - "type": "object", - "properties": { - "id": { - "description": "Tencent keypair id", - "type": "string" - }, - "name": { - "description": "Tencent keypair name", - "type": "string" - }, - "publickey": { - "description": "Tencent public key", - "type": "string" - } - } - } - } - } - } - } - } - } - }, - "/v1/clouds/tencent/regions/{region}/securitygroups": { - "get": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Retrieves a list of secutity groups for the specified account", - "operationId": "V1TencentSecurityGroups", - "parameters": [ - { - "type": "string", - "description": "Region for which security groups are requested", - "name": "region", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Uid for the specific Tencent cloud account", - "name": "cloudAccountUid", - "in": "query", - "required": true - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "(empty)", - "schema": { - "description": "List of Tencent security groups", - "type": "object", - "properties": { - "groups": { - "type": "array", - "items": { - "description": "Tencent Security Group. A security group is a virtual firewall that features stateful data packet filtering", - "type": "object", - "properties": { - "id": { - "description": "Tencent security group id", - "type": "string" - }, - "isDefault": { - "description": "Whether it is the default security group, the default security group does not support deletion.", - "type": "boolean" - }, - "name": { - "description": "Tencent security group name", - "type": "string" - }, - "projectId": { - "description": "Tencent security group associated to a project", - "type": "string" - } - } - } - } - } - } - } - } - } - }, - "/v1/clouds/tencent/regions/{region}/storagetypes": { - "get": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Retrieves a list of Tencent storage types", - "operationId": "V1TencentStorageTypes", - "parameters": [ - { - "type": "string", - "description": "Region for which tencent storages are listed", - "name": "region", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Uid for the specific tencent cloud account", - "name": "cloudAccountUid", - "in": "query", - "required": true - }, - { - "type": "string", - "description": "Zone for which tencent storages are listed", - "name": "zone", - "in": "query", - "required": true - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "(empty)", - "schema": { - "description": "List of Tencent storage types", - "type": "object", - "properties": { - "storageTypes": { - "type": "array", - "items": { - "description": "Cloud cloud Storage type details", - "type": "object", - "properties": { - "cost": { - "description": "Cloud storage cost", + "spec": { + "description": "Pack object", "type": "object", "properties": { - "discountedUsage": { - "description": "Cloud storage upper limit which is free.", + "addonSubType": { + "description": "Pack add-on sub type such as monitoring, db etc", "type": "string" }, - "price": { - "description": "Array of cloud storage range prices", + "addonType": { + "description": "Pack add-on type such as logging, monitoring, security etc", + "type": "string" + }, + "annotations": { + "description": "Pack annotations is used to allow pack to add more arbitrary configurations", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "cloudTypes": { + "description": "Pack supported cloud types", "type": "array", "items": { - "description": "Cloud storage price within an upper limit.", + "type": "string" + } + }, + "digest": { + "description": "Pack digest", + "type": "string" + }, + "displayName": { + "description": "Pack display name", + "type": "string" + }, + "eol": { + "description": "Pack end of life, date format: yyyy-MM-dd", + "type": "string" + }, + "group": { + "description": "Pack group", + "type": "string" + }, + "layer": { + "type": "string", + "enum": [ + "kernel", + "os", + "k8s", + "cni", + "csi", + "addon" + ] + }, + "logoUrl": { + "description": "Pack logo url", + "type": "string" + }, + "manifests": { + "description": "Pack manifests are additional content as part of the cluster profile", + "type": "array", + "items": { + "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", "type": "object", "properties": { - "limit": { - "description": "Upper limit of cloud storage usage", + "kind": { + "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", "type": "string" }, - "price": { - "description": "Price of cloud storage type", + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "uid": { + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } } - } - } - }, - "iopsCost": { - "description": "Cloud storage cost", - "type": "object", - "properties": { - "discountedUsage": { - "description": "Cloud storage upper limit which is free.", + }, + "name": { + "description": "Pack name", "type": "string" }, - "price": { - "description": "Array of cloud storage range prices", + "presets": { + "description": "Pack presets are the set of configurations applied on user selection of presets", "type": "array", "items": { - "description": "Cloud storage price within an upper limit.", + "description": "PackPreset defines the preset pack values", "type": "object", "properties": { - "limit": { - "description": "Upper limit of cloud storage usage", - "type": "string" + "add": { + "type": "string", + "x-omitempty": false }, - "price": { - "description": "Price of cloud storage type", - "type": "string" + "displayName": { + "type": "string", + "x-omitempty": false + }, + "group": { + "type": "string", + "x-omitempty": false + }, + "name": { + "type": "string", + "x-omitempty": false + }, + "remove": { + "type": "array", + "items": { + "type": "string" + }, + "x-omitempty": false } } } - } - } - }, - "kind": { - "description": "kind of storage type", - "type": "string" - }, - "name": { - "description": "Name of the storage type", - "type": "string" - }, - "throughputCost": { - "description": "Cloud storage cost", - "type": "object", - "properties": { - "discountedUsage": { - "description": "Cloud storage upper limit which is free.", + }, + "registryUid": { + "description": "Pack registry uid", "type": "string" }, - "price": { - "description": "Array of cloud storage range prices", + "schema": { + "description": "Pack schema contains constraints such as data type, format, hints for the pack values", "type": "array", "items": { - "description": "Cloud storage price within an upper limit.", + "description": "PackSchema defines the schema definition, hints for the pack values", "type": "object", "properties": { - "limit": { - "description": "Upper limit of cloud storage usage", - "type": "string" + "format": { + "type": "string", + "x-omitempty": false }, - "price": { - "description": "Price of cloud storage type", - "type": "string" + "hints": { + "type": "array", + "items": { + "type": "string" + }, + "x-omitempty": false + }, + "listOptions": { + "type": "array", + "items": { + "type": "string" + }, + "x-omitempty": false + }, + "name": { + "type": "string", + "x-omitempty": false + }, + "readonly": { + "type": "boolean", + "x-omitempty": false + }, + "regex": { + "type": "string", + "x-omitempty": false + }, + "required": { + "type": "boolean", + "x-omitempty": false + }, + "type": { + "type": "string", + "x-omitempty": false + } + } + } + }, + "template": { + "description": "Pack template configuration", + "properties": { + "manifest": { + "description": "Pack template manifest content", + "type": "string" + }, + "parameters": { + "description": "Pack template parameters", + "properties": { + "inputParameters": { + "description": "Pack template input parameters array", + "type": "array", + "items": { + "description": "Pack template parameter", + "properties": { + "description": { + "description": "Pack template parameter description", + "type": "string" + }, + "displayName": { + "description": "Pack template parameter display name", + "type": "string" + }, + "format": { + "description": "Pack template parameter format", + "type": "string" + }, + "hidden": { + "description": "Pack template parameter hidden flag, if true then the parameter is hidden in the UI", + "type": "boolean" + }, + "listOptions": { + "description": "Pack template parameter list options as string array", + "type": "array", + "items": { + "type": "string" + } + }, + "name": { + "description": "Pack template parameter name", + "type": "string" + }, + "optional": { + "description": "Pack template parameter optional flag, if true then the parameter value is not mandatory", + "type": "boolean" + }, + "options": { + "description": "Pack template parameter options array", + "type": "object", + "additionalProperties": { + "description": "Pack template parameter option", + "type": "object", + "properties": { + "dependencies": { + "description": "Pack template parameter dependencies", + "type": "array", + "items": { + "description": "Pack template dependency", + "type": "object", + "properties": { + "layer": { + "description": "Pack template dependency pack layer", + "type": "string" + }, + "name": { + "description": "Pack template dependency pack name", + "type": "string" + }, + "readOnly": { + "description": "If true then dependency pack values can't be overridden", + "type": "boolean" + } + } + } + }, + "description": { + "description": "Pack template parameter description", + "type": "string" + }, + "label": { + "description": "Pack template parameter label", + "type": "string" + } + } + } + }, + "readOnly": { + "description": "Pack template parameter readonly flag, if true then the parameter value can't be overridden", + "type": "boolean" + }, + "regex": { + "description": "Pack template parameter regex, if set then parameter value must match with specified regex", + "type": "string" + }, + "targetKey": { + "description": "Pack template parameter target key which is mapped to the key defined in the pack values", + "type": "string" + }, + "type": { + "description": "Pack template parameter data type", + "type": "string" + }, + "value": { + "description": "Pack template parameter value", + "type": "string" + } + } + } + }, + "outputParameters": { + "description": "Pack template output parameters array", + "type": "array", + "items": { + "description": "Pack template parameter", + "properties": { + "description": { + "description": "Pack template parameter description", + "type": "string" + }, + "displayName": { + "description": "Pack template parameter display name", + "type": "string" + }, + "format": { + "description": "Pack template parameter format", + "type": "string" + }, + "hidden": { + "description": "Pack template parameter hidden flag, if true then the parameter is hidden in the UI", + "type": "boolean" + }, + "listOptions": { + "description": "Pack template parameter list options as string array", + "type": "array", + "items": { + "type": "string" + } + }, + "name": { + "description": "Pack template parameter name", + "type": "string" + }, + "optional": { + "description": "Pack template parameter optional flag, if true then the parameter value is not mandatory", + "type": "boolean" + }, + "options": { + "description": "Pack template parameter options array", + "type": "object", + "additionalProperties": { + "description": "Pack template parameter option", + "type": "object", + "properties": { + "dependencies": { + "description": "Pack template parameter dependencies", + "type": "array", + "items": { + "description": "Pack template dependency", + "type": "object", + "properties": { + "layer": { + "description": "Pack template dependency pack layer", + "type": "string" + }, + "name": { + "description": "Pack template dependency pack name", + "type": "string" + }, + "readOnly": { + "description": "If true then dependency pack values can't be overridden", + "type": "boolean" + } + } + } + }, + "description": { + "description": "Pack template parameter description", + "type": "string" + }, + "label": { + "description": "Pack template parameter label", + "type": "string" + } + } + } + }, + "readOnly": { + "description": "Pack template parameter readonly flag, if true then the parameter value can't be overridden", + "type": "boolean" + }, + "regex": { + "description": "Pack template parameter regex, if set then parameter value must match with specified regex", + "type": "string" + }, + "targetKey": { + "description": "Pack template parameter target key which is mapped to the key defined in the pack values", + "type": "string" + }, + "type": { + "description": "Pack template parameter data type", + "type": "string" + }, + "value": { + "description": "Pack template parameter value", + "type": "string" + } + } + } + } } + }, + "values": { + "description": "Pack template values", + "type": "string" } } + }, + "type": { + "type": "string", + "default": "spectro", + "enum": [ + "spectro", + "helm", + "manifest", + "oci" + ] + }, + "values": { + "description": "Pack values", + "type": "string" + }, + "version": { + "description": "Pack version", + "type": "string" } } + }, + "status": { + "description": "Pack status", + "type": "object" } } } @@ -59141,10 +58511,8 @@ } } } - } - }, - "/v1/clouds/tencent/regions/{region}/vpcs": { - "get": { + }, + "post": { "security": [ { "ApiKey": [] @@ -59156,124 +58524,77 @@ "tags": [ "v1" ], - "summary": "Retrieves a list of VPCs for the specified account", - "operationId": "V1TencentVpcs", + "summary": "Adds a new pack to the specified cluster profile and returns the created pack uid", + "operationId": "v1ClusterProfilesUidPacksAdd", "parameters": [ { - "type": "string", - "description": "Region for which VPCs are requested", - "name": "region", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Uid for the specific Tencent cloud account", - "name": "cloudAccountUid", - "in": "query", - "required": true - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "(empty)", + "name": "body", + "in": "body", "schema": { - "description": "List of Tencent VPCs", - "type": "object", - "required": [ - "vpcs" - ], + "description": "Pack request payload", "properties": { - "vpcs": { - "type": "array", - "items": { - "description": "Tencent VPC entity", - "type": "object", - "required": [ - "vpcId" - ], - "properties": { - "cidrBlock": { - "description": "Tencent VPC CIDR. The CIDR notation consists of an IP address, a slash character ('/') and a decimal number from 0 to 32", - "type": "string" - }, - "name": { - "description": "Tencent VPC name", - "type": "string" - }, - "subnets": { - "type": "array", - "items": { - "description": "Tencent Subnet entity", - "type": "object", - "properties": { - "az": { - "description": "Availability zone associated with tencent subnet", - "type": "string" - }, - "cidrBlock": { - "description": "Tencent subnet CIDR. The CIDR notation consists of an IP address, a slash character ('/') and a decimal number from 0 to 32", - "type": "string" - }, - "name": { - "description": "Tencent subnet name", - "type": "string" - }, - "subnetId": { - "description": "Tencent subnet id", - "type": "string" - } + "pack": { + "description": "Pack request payload", + "type": "object", + "required": [ + "name" + ], + "properties": { + "layer": { + "description": "Pack layer", + "type": "string" + }, + "manifests": { + "description": "Pack manifests are additional content as part of the profile", + "type": "array", + "items": { + "description": "Manifest request payload", + "properties": { + "content": { + "description": "Manifest content", + "type": "string" + }, + "name": { + "description": "Manifest name", + "type": "string" } } - }, - "vpcId": { - "description": "Tencent VPC id", - "type": "string" } + }, + "name": { + "description": "Pack name", + "type": "string" + }, + "registryUid": { + "description": "Pack registry uid", + "type": "string" + }, + "tag": { + "description": "Pack tag", + "type": "string" + }, + "type": { + "type": "string", + "default": "spectro", + "enum": [ + "spectro", + "helm", + "manifest", + "oci" + ] + }, + "uid": { + "description": "Pack uid", + "type": "string" + }, + "values": { + "description": "Pack values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", + "type": "string" } } } } } - } - } - } - }, - "/v1/clouds/tencent/regions/{region}/zones": { - "get": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Retrieves a list of Tencent availability zones for the specified region", - "operationId": "V1TencentZones", - "parameters": [ - { - "type": "string", - "description": "Region for which zones are requested", - "name": "region", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Uid for the specific Tencent cloud account", - "name": "cloudAccountUid", - "in": "query", - "required": true }, { "type": "string", @@ -59283,100 +58604,19 @@ } ], "responses": { - "200": { - "description": "(empty)", - "schema": { - "description": "List of Tencent Availability zones", - "type": "object", - "required": [ - "zones" - ], - "properties": { - "zones": { - "type": "array", - "items": { - "description": "Tencent availability zone", - "type": "object", - "properties": { - "name": { - "description": "Tencent availability zone name", - "type": "string" - }, - "state": { - "description": "Tencent availability zone state", - "type": "string" - }, - "zoneId": { - "description": "Tencent availability zone id", - "type": "string" - } - } - } - } - } - } - } - } - } - }, - "/v1/clouds/vsphere/account/validate": { - "post": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "description": "Returns no contents if account is valid else error.", - "tags": [ - "v1" - ], - "summary": "Check if Vsphere account is valid", - "operationId": "V1VsphereAccountValidate", - "parameters": [ - { - "description": "Request payload for VSphere cloud account", - "name": "vsphereCloudAccount", - "in": "body", - "required": true, + "201": { + "description": "Created successfully", "schema": { "type": "object", "required": [ - "vcenterServer", - "username", - "password" + "uid" ], "properties": { - "insecure": { - "description": "Insecure is a flag that controls whether or not to validate the vSphere server's certificate.", - "type": "boolean", - "x-omitempty": false - }, - "password": { - "type": "string" - }, - "username": { - "type": "string" - }, - "vcenterServer": { - "description": "VcenterServer is the address of the vSphere endpoint", + "uid": { "type": "string" } } - } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "204": { - "description": "Ok response without content", + }, "headers": { "AuditUid": { "type": "string", @@ -59385,9 +58625,24 @@ } } } - } + }, + "parameters": [ + { + "type": "string", + "description": "Cluster profile uid", + "name": "uid", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "Comma seperated pack meta such as schema, presets", + "name": "includePackMeta", + "in": "query" + } + ] }, - "/v1/clouds/vsphere/datacenters": { + "/v1/clusterprofiles/{uid}/packs/manifests": { "get": { "security": [ { @@ -59400,106 +58655,9 @@ "tags": [ "v1" ], - "summary": "Returns the vsphere data centers", - "operationId": "V1VsphereDatacenters", + "summary": "Returns the specified cluster profile pack manifests", + "operationId": "v1ClusterProfilesUidPacksManifestsGet", "parameters": [ - { - "type": "string", - "description": "Uid for the specific OpenStack cloud account", - "name": "cloudAccountUid", - "in": "query" - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "(empty)", - "schema": { - "description": "List of Datacenters with computeclusters", - "type": "object", - "required": [ - "items" - ], - "properties": { - "items": { - "description": "List of associated datacenters", - "type": "array", - "uniqueItems": true, - "items": { - "description": "List of Datacenter with computeclusters", - "type": "object", - "properties": { - "computeclusters": { - "description": "List of the VSphere compute clusters in datacenter", - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - }, - "datacenter": { - "description": "name of the datacenter of the VSphere", - "type": "string" - }, - "folders": { - "description": "List of the VSphere folders in datacenter", - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - } - } - } - } - } - } - } - } - } - }, - "/v1/clouds/vsphere/datacenters/{uid}/computeclusters/{computecluster}": { - "get": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Returns the resources for vsphere compute cluster", - "operationId": "V1VsphereComputeClusterResources", - "parameters": [ - { - "type": "string", - "description": "Uid for the specific VSphere cloud account", - "name": "cloudAccountUid", - "in": "query", - "required": true - }, - { - "type": "string", - "description": "computecluster for which resources is requested", - "name": "computecluster", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "VSphere datacenter uid for which resources is requested", - "name": "uid", - "in": "path", - "required": true - }, { "type": "string", "description": "Scope the request to the specified project uid", @@ -59509,123 +58667,322 @@ ], "responses": { "200": { - "description": "(empty)", + "description": "OK", "schema": { - "description": "Datacenter and its resources like datastore, resoucepool, folders", + "description": "Cluster profile pack manifests", "type": "object", "properties": { - "computecluster": { - "description": "Vsphere compute cluster", + "metadata": { + "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", "type": "object", "properties": { - "datastores": { - "type": "array", - "uniqueItems": true, - "items": { + "annotations": { + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", + "type": "object", + "additionalProperties": { "type": "string" } }, - "name": { - "type": "string" + "creationTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" }, - "networks": { - "type": "array", - "uniqueItems": true, - "items": { + "deletionTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "labels": { + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", + "type": "object", + "additionalProperties": { "type": "string" } }, - "resourcePools": { + "lastModifiedTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "name": { + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + }, + "uid": { + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", + "type": "string" + } + } + }, + "spec": { + "type": "object", + "properties": { + "packs": { + "description": "Cluster profile packs array", "type": "array", "uniqueItems": true, "items": { - "type": "string" + "description": "Cluster profile pack manifests", + "type": "object", + "properties": { + "metadata": { + "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", + "type": "object", + "properties": { + "annotations": { + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "creationTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "deletionTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "labels": { + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "lastModifiedTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "name": { + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + }, + "uid": { + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", + "type": "string" + } + } + }, + "spec": { + "description": "Pack manifests spec", + "type": "object", + "properties": { + "addonType": { + "description": "Pack add-on type such as logging, monitoring, security etc", + "type": "string" + }, + "annotations": { + "description": "Pack annotations is used to allow pack to add more arbitrary configurations", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "cloudTypes": { + "description": "Pack supported cloud types", + "type": "array", + "items": { + "type": "string" + } + }, + "digest": { + "description": "Pack digest", + "type": "string" + }, + "displayName": { + "description": "Pack display name", + "type": "string" + }, + "eol": { + "description": "Pack end of life, date format: yyyy-MM-dd", + "type": "string" + }, + "group": { + "description": "Pack group", + "type": "string" + }, + "layer": { + "type": "string", + "enum": [ + "kernel", + "os", + "k8s", + "cni", + "csi", + "addon" + ] + }, + "logoUrl": { + "description": "Pack logo url", + "type": "string" + }, + "manifests": { + "description": "Pack manifests are additional content as part of the cluster profile", + "type": "array", + "items": { + "description": "Manifest object", + "properties": { + "content": { + "description": "Manifest content in yaml", + "type": "string" + }, + "name": { + "description": "Manifest name", + "type": "string" + }, + "uid": { + "description": "Manifest uid", + "type": "string" + } + } + } + }, + "name": { + "description": "Pack name", + "type": "string" + }, + "presets": { + "description": "Pack presets are the set of configurations applied on user selection of presets", + "type": "array", + "items": { + "description": "PackPreset defines the preset pack values", + "type": "object", + "properties": { + "add": { + "type": "string", + "x-omitempty": false + }, + "displayName": { + "type": "string", + "x-omitempty": false + }, + "group": { + "type": "string", + "x-omitempty": false + }, + "name": { + "type": "string", + "x-omitempty": false + }, + "remove": { + "type": "array", + "items": { + "type": "string" + }, + "x-omitempty": false + } + } + } + }, + "registryUid": { + "description": "Pack registry uid", + "type": "string" + }, + "schema": { + "description": "Pack schema contains constraints such as data type, format, hints for the pack values", + "type": "array", + "items": { + "description": "PackSchema defines the schema definition, hints for the pack values", + "type": "object", + "properties": { + "format": { + "type": "string", + "x-omitempty": false + }, + "hints": { + "type": "array", + "items": { + "type": "string" + }, + "x-omitempty": false + }, + "listOptions": { + "type": "array", + "items": { + "type": "string" + }, + "x-omitempty": false + }, + "name": { + "type": "string", + "x-omitempty": false + }, + "readonly": { + "type": "boolean", + "x-omitempty": false + }, + "regex": { + "type": "string", + "x-omitempty": false + }, + "required": { + "type": "boolean", + "x-omitempty": false + }, + "type": { + "type": "string", + "x-omitempty": false + } + } + } + }, + "type": { + "type": "string", + "default": "spectro", + "enum": [ + "spectro", + "helm", + "manifest", + "oci" + ] + }, + "values": { + "description": "Pack values", + "type": "string" + }, + "version": { + "description": "Pack version", + "type": "string" + } + } + }, + "status": { + "description": "Pack status", + "type": "object" + } + } } } } - }, - "datacenter": { - "description": "Name of the datacenter", - "type": "string" } } } } } - } - }, - "/v1/clouds/vsphere/env": { - "get": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Retrieves vsphere env", - "operationId": "V1VsphereEnv", - "parameters": [ - { - "description": "Request payload for VSphere cloud account", - "name": "vsphereCloudAccount", - "in": "body", - "required": true, - "schema": { - "type": "object", - "required": [ - "vcenterServer", - "username", - "password" - ], - "properties": { - "insecure": { - "description": "Insecure is a flag that controls whether or not to validate the vSphere server's certificate.", - "type": "boolean", - "x-omitempty": false - }, - "password": { - "type": "string" - }, - "username": { - "type": "string" - }, - "vcenterServer": { - "description": "VcenterServer is the address of the vSphere endpoint", - "type": "string" - } - } - } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "(empty)", - "schema": { - "description": "Vsphere environment entity", - "type": "object", - "properties": { - "version": { - "description": "Version of vsphere environment", - "type": "string" - } - } - } - } + }, + "parameters": [ + { + "type": "string", + "description": "Cluster profile uid", + "name": "uid", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "Comma seperated pack meta such as schema, presets", + "name": "includePackMeta", + "in": "query" } - } + ] }, - "/v1/clouds/{cloudType}/instance/spotprice": { + "/v1/clusterprofiles/{uid}/packs/resolvedValues": { "get": { "security": [ { @@ -59638,37 +58995,9 @@ "tags": [ "v1" ], - "summary": "Retrieves the cloud instance spot price based on zone and timestamp for a specific cloud", - "operationId": "V1CloudInstanceSpotPriceGet", + "summary": "Returns the specified cluster profile packs resolved values", + "operationId": "v1ClusterProfilesUidPacksResolvedValuesGet", "parameters": [ - { - "type": "string", - "description": "Cloud type [aws/azure/gcp/tencent]", - "name": "cloudType", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Instance type for a specific cloud type", - "name": "instanceType", - "in": "query", - "required": true - }, - { - "type": "string", - "description": "Availability zone for a specific cloud type", - "name": "zone", - "in": "query", - "required": true - }, - { - "type": "string", - "format": "date-time", - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "name": "timestamp", - "in": "query" - }, { "type": "string", "description": "Scope the request to the specified project uid", @@ -59678,96 +59007,49 @@ ], "responses": { "200": { - "description": "(empty)", + "description": "OK", "schema": { - "description": "Spot price entity of a particular cloud type", - "type": "object", + "description": "Pack resolved values", "properties": { - "spotPrice": { - "description": "Spot price of a resource for a particular cloud", - "type": "number", - "format": "float64", - "x-omitempty": false + "resolved": { + "description": "Pack resolved values map", + "type": "object", + "additionalProperties": { + "type": "string" + } } } } } } - } - }, - "/v1/clouds/{cloud}/compute/{type}/rate": { - "get": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Returns the cloud compute rate", - "operationId": "V1CloudComputeRate", - "parameters": [ - { - "type": "string", - "description": "cloud for which compute rate is requested", - "name": "cloud", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "instance type for which compute rate is requested", - "name": "type", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "region for which compute rate is requested", - "name": "region", - "in": "query", - "required": true - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "(empty)", - "schema": { - "description": "Cloud cost information", - "type": "object", - "properties": { - "compute": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "storage": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "total": { - "type": "number", - "format": "float64", - "x-omitempty": false + }, + "parameters": [ + { + "type": "string", + "description": "Cluster profile uid", + "name": "uid", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "schema": { + "description": "Pack params request payload", + "properties": { + "references": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" } } } } } - } + ] }, - "/v1/clouds/{cloud}/storage/{type}/rate": { + "/v1/clusterprofiles/{uid}/packs/{packName}": { "get": { "security": [ { @@ -59780,36 +59062,9 @@ "tags": [ "v1" ], - "summary": "Returns the cloud storage rate", - "operationId": "V1CloudStorageRate", + "summary": "Returns the specified cluster profile pack", + "operationId": "V1ClusterProfilesUidPacksNameGet", "parameters": [ - { - "type": "string", - "description": "cloud for which compute rate is requested", - "name": "cloud", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "storage type for which compute rate is requested", - "name": "type", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "region for which compute rate is requested", - "name": "region", - "in": "query", - "required": true - }, - { - "type": "integer", - "description": "maxDiskType for which compute rate is requested", - "name": "maxDiskType", - "in": "query" - }, { "type": "string", "description": "Scope the request to the specified project uid", @@ -59819,60 +59074,17 @@ ], "responses": { "200": { - "description": "(empty)", + "description": "OK", "schema": { - "description": "Cloud cost information", + "description": "Pack summary response", "type": "object", - "properties": { - "compute": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "storage": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "total": { - "type": "number", - "format": "float64", - "x-omitempty": false - } - } - } - } - } - } - }, - "/v1/clustergroups": { - "post": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Create cluster groups", - "operationId": "v1ClusterGroupsCreate", - "parameters": [ - { - "name": "body", - "in": "body", - "schema": { - "description": "Cluster group information", "properties": { "metadata": { "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -59889,7 +59101,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -59901,221 +59113,527 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, "spec": { - "description": "Cluster group specifications request entity", + "description": "Pack summary spec", "properties": { - "clusterRefs": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Cluster group cluster reference", - "properties": { - "clusterName": { - "type": "string" - }, - "clusterUid": { + "macros": { + "description": "Pack resolved values", + "properties": { + "resolved": { + "description": "Pack resolved values map", + "type": "object", + "additionalProperties": { "type": "string" } } } }, - "clustersConfig": { - "description": "Clusters config of cluster group", + "pack": { + "description": "Pack object", + "type": "object", "properties": { - "endpointType": { - "description": "Host cluster endpoint type", + "addonSubType": { + "description": "Pack add-on sub type such as monitoring, db etc", + "type": "string" + }, + "addonType": { + "description": "Pack add-on type such as logging, monitoring, security etc", + "type": "string" + }, + "annotations": { + "description": "Pack annotations is used to allow pack to add more arbitrary configurations", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "cloudTypes": { + "description": "Pack supported cloud types", + "type": "array", + "items": { + "type": "string" + } + }, + "digest": { + "description": "Pack digest", + "type": "string" + }, + "displayName": { + "description": "Pack display name", + "type": "string" + }, + "eol": { + "description": "Pack end of life, date format: yyyy-MM-dd", + "type": "string" + }, + "group": { + "description": "Pack group", + "type": "string" + }, + "layer": { "type": "string", "enum": [ - "Ingress", - "LoadBalancer" + "kernel", + "os", + "k8s", + "cni", + "csi", + "addon" ] }, - "hostClustersConfig": { + "logoUrl": { + "description": "Pack logo url", + "type": "string" + }, + "manifests": { + "description": "Pack manifests are additional content as part of the cluster profile", "type": "array", - "uniqueItems": true, "items": { + "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", + "type": "object", "properties": { - "clusterUid": { + "kind": { + "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", "type": "string" }, - "endpointConfig": { - "properties": { - "ingressConfig": { - "description": "Ingress configuration for exposing the virtual cluster's kube-apiserver", - "properties": { - "host": { - "type": "string" - }, - "port": { - "type": "integer", - "format": "int64" - } - } - }, - "loadBalancerConfig": { - "description": "Load balancer configuration for exposing the virtual cluster's kube-apiserver", - "properties": { - "externalIPs": { - "type": "array", - "items": { - "type": "string" - } - }, - "externalTrafficPolicy": { - "type": "string" - }, - "loadBalancerSourceRanges": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - } + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "uid": { + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", + "type": "string" } } } }, - "kubernetesDistroType": { - "type": "string", - "default": "k3s", - "enum": [ - "k3s", - "cncf_k8s" - ] + "name": { + "description": "Pack name", + "type": "string" }, - "limitConfig": { - "description": "Cluster group limit config", - "properties": { - "cpu": { - "description": "Deprecated. Use field cpuMilliCore", - "type": "integer", - "format": "int32" - }, - "cpuMilliCore": { - "description": "CPU in milli cores", - "type": "integer", - "format": "int32" - }, - "memory": { - "description": "Deprecated. Use field memoryMiB", - "type": "integer", - "format": "int32" - }, - "memoryMiB": { - "description": "Memory in MiB", - "type": "integer", - "format": "int32" - }, - "overSubscription": { - "description": "Over subscription percentage", - "type": "integer", - "format": "int32" - }, - "storageGiB": { - "description": "Storage in GiB", - "type": "integer", - "format": "int32" + "presets": { + "description": "Pack presets are the set of configurations applied on user selection of presets", + "type": "array", + "items": { + "description": "PackPreset defines the preset pack values", + "type": "object", + "properties": { + "add": { + "type": "string", + "x-omitempty": false + }, + "displayName": { + "type": "string", + "x-omitempty": false + }, + "group": { + "type": "string", + "x-omitempty": false + }, + "name": { + "type": "string", + "x-omitempty": false + }, + "remove": { + "type": "array", + "items": { + "type": "string" + }, + "x-omitempty": false + } } } }, - "values": { + "registryUid": { + "description": "Pack registry uid", "type": "string" - } - } - }, - "profiles": { - "type": "array", - "items": { - "description": "Cluster profile request payload", - "type": "object", - "properties": { - "packValues": { - "description": "Cluster profile packs array", - "type": "array", - "uniqueItems": true, - "items": { - "description": "Pack values entity to refer the existing pack for the values override", - "type": "object", - "required": [ - "name" - ], + }, + "schema": { + "description": "Pack schema contains constraints such as data type, format, hints for the pack values", + "type": "array", + "items": { + "description": "PackSchema defines the schema definition, hints for the pack values", + "type": "object", + "properties": { + "format": { + "type": "string", + "x-omitempty": false + }, + "hints": { + "type": "array", + "items": { + "type": "string" + }, + "x-omitempty": false + }, + "listOptions": { + "type": "array", + "items": { + "type": "string" + }, + "x-omitempty": false + }, + "name": { + "type": "string", + "x-omitempty": false + }, + "readonly": { + "type": "boolean", + "x-omitempty": false + }, + "regex": { + "type": "string", + "x-omitempty": false + }, + "required": { + "type": "boolean", + "x-omitempty": false + }, + "type": { + "type": "string", + "x-omitempty": false + } + } + } + }, + "template": { + "description": "Pack template configuration", + "properties": { + "manifest": { + "description": "Pack template manifest content", + "type": "string" + }, + "parameters": { + "description": "Pack template parameters", "properties": { - "manifests": { - "description": "Pack manifests are additional content as part of the profile", + "inputParameters": { + "description": "Pack template input parameters array", "type": "array", "items": { - "description": "Manifest update request payload", - "required": [ - "name" - ], + "description": "Pack template parameter", "properties": { - "content": { - "description": "Manifest content in yaml", + "description": { + "description": "Pack template parameter description", "type": "string" }, - "name": { - "description": "Manifest name", + "displayName": { + "description": "Pack template parameter display name", "type": "string" }, - "uid": { - "description": "Manifest uid", + "format": { + "description": "Pack template parameter format", "type": "string" - } - } - } - }, - "name": { - "description": "Pack name", - "type": "string" - }, - "tag": { - "description": "Pack version tag", - "type": "string" - }, - "type": { - "type": "string", - "default": "spectro", - "enum": [ - "spectro", - "helm", - "manifest", - "oci" - ] - }, - "values": { - "description": "Pack values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", - "type": "string" - } - } - } - }, - "replaceWithProfile": { - "description": "Cluster profile uid to be replaced with new profile", - "type": "string" - }, - "uid": { - "description": "Cluster profile uid", - "type": "string" + }, + "hidden": { + "description": "Pack template parameter hidden flag, if true then the parameter is hidden in the UI", + "type": "boolean" + }, + "listOptions": { + "description": "Pack template parameter list options as string array", + "type": "array", + "items": { + "type": "string" + } + }, + "name": { + "description": "Pack template parameter name", + "type": "string" + }, + "optional": { + "description": "Pack template parameter optional flag, if true then the parameter value is not mandatory", + "type": "boolean" + }, + "options": { + "description": "Pack template parameter options array", + "type": "object", + "additionalProperties": { + "description": "Pack template parameter option", + "type": "object", + "properties": { + "dependencies": { + "description": "Pack template parameter dependencies", + "type": "array", + "items": { + "description": "Pack template dependency", + "type": "object", + "properties": { + "layer": { + "description": "Pack template dependency pack layer", + "type": "string" + }, + "name": { + "description": "Pack template dependency pack name", + "type": "string" + }, + "readOnly": { + "description": "If true then dependency pack values can't be overridden", + "type": "boolean" + } + } + } + }, + "description": { + "description": "Pack template parameter description", + "type": "string" + }, + "label": { + "description": "Pack template parameter label", + "type": "string" + } + } + } + }, + "readOnly": { + "description": "Pack template parameter readonly flag, if true then the parameter value can't be overridden", + "type": "boolean" + }, + "regex": { + "description": "Pack template parameter regex, if set then parameter value must match with specified regex", + "type": "string" + }, + "targetKey": { + "description": "Pack template parameter target key which is mapped to the key defined in the pack values", + "type": "string" + }, + "type": { + "description": "Pack template parameter data type", + "type": "string" + }, + "value": { + "description": "Pack template parameter value", + "type": "string" + } + } + } + }, + "outputParameters": { + "description": "Pack template output parameters array", + "type": "array", + "items": { + "description": "Pack template parameter", + "properties": { + "description": { + "description": "Pack template parameter description", + "type": "string" + }, + "displayName": { + "description": "Pack template parameter display name", + "type": "string" + }, + "format": { + "description": "Pack template parameter format", + "type": "string" + }, + "hidden": { + "description": "Pack template parameter hidden flag, if true then the parameter is hidden in the UI", + "type": "boolean" + }, + "listOptions": { + "description": "Pack template parameter list options as string array", + "type": "array", + "items": { + "type": "string" + } + }, + "name": { + "description": "Pack template parameter name", + "type": "string" + }, + "optional": { + "description": "Pack template parameter optional flag, if true then the parameter value is not mandatory", + "type": "boolean" + }, + "options": { + "description": "Pack template parameter options array", + "type": "object", + "additionalProperties": { + "description": "Pack template parameter option", + "type": "object", + "properties": { + "dependencies": { + "description": "Pack template parameter dependencies", + "type": "array", + "items": { + "description": "Pack template dependency", + "type": "object", + "properties": { + "layer": { + "description": "Pack template dependency pack layer", + "type": "string" + }, + "name": { + "description": "Pack template dependency pack name", + "type": "string" + }, + "readOnly": { + "description": "If true then dependency pack values can't be overridden", + "type": "boolean" + } + } + } + }, + "description": { + "description": "Pack template parameter description", + "type": "string" + }, + "label": { + "description": "Pack template parameter label", + "type": "string" + } + } + } + }, + "readOnly": { + "description": "Pack template parameter readonly flag, if true then the parameter value can't be overridden", + "type": "boolean" + }, + "regex": { + "description": "Pack template parameter regex, if set then parameter value must match with specified regex", + "type": "string" + }, + "targetKey": { + "description": "Pack template parameter target key which is mapped to the key defined in the pack values", + "type": "string" + }, + "type": { + "description": "Pack template parameter data type", + "type": "string" + }, + "value": { + "description": "Pack template parameter value", + "type": "string" + } + } + } + } + } + }, + "values": { + "description": "Pack template values", + "type": "string" + } } + }, + "type": { + "type": "string", + "default": "spectro", + "enum": [ + "spectro", + "helm", + "manifest", + "oci" + ] + }, + "values": { + "description": "Pack values", + "type": "string" + }, + "version": { + "description": "Pack version", + "type": "string" + } + } + }, + "registry": { + "description": "Registry meta", + "type": "object", + "properties": { + "isDefault": { + "type": "boolean", + "x-omitempty": false + }, + "isPrivate": { + "type": "boolean", + "x-omitempty": false + }, + "kind": { + "type": "string" + }, + "name": { + "type": "string" + }, + "scope": { + "type": "string" + }, + "uid": { + "type": "string" } } + } + } + } + } + } + } + } + }, + "put": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Updates the specified pack information in the cluster profile", + "operationId": "v1ClusterProfilesUidPacksNameUpdate", + "parameters": [ + { + "name": "body", + "in": "body", + "schema": { + "description": "Pack update request payload", + "properties": { + "pack": { + "description": "Pack object", + "type": "object", + "required": [ + "uid", + "name" + ], + "properties": { + "layer": { + "description": "Pack layer", + "type": "string" + }, + "name": { + "description": "Pack name", + "type": "string" + }, + "tag": { + "description": "Pack tag", + "type": "string" }, "type": { "type": "string", + "default": "spectro", "enum": [ - "hostCluster" + "spectro", + "helm", + "manifest", + "oci" ] + }, + "uid": { + "description": "Pack uid", + "type": "string" + }, + "values": { + "description": "values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", + "type": "string" } } } @@ -60130,31 +59648,12 @@ } ], "responses": { - "201": { - "description": "Created successfully", - "schema": { - "type": "object", - "required": [ - "uid" - ], - "properties": { - "uid": { - "type": "string" - } - } - }, - "headers": { - "AuditUid": { - "type": "string", - "description": "Audit uid for the request" - } - } + "204": { + "description": "The resource was updated successfully" } } - } - }, - "/v1/clustergroups/developerCredit/usage/{scope}": { - "get": { + }, + "delete": { "security": [ { "ApiKey": [] @@ -60166,8 +59665,8 @@ "tags": [ "v1" ], - "summary": "Get cluster group developer credit usage by scope", - "operationId": "v1ClusterGroupsDeveloperCreditUsageGet", + "summary": "Deletes the specified pack information in the cluster profile", + "operationId": "v1ClusterProfilesUidPacksNameDelete", "parameters": [ { "type": "string", @@ -60177,84 +59676,29 @@ } ], "responses": { - "200": { - "description": "Cluster group developer credit usage", - "schema": { - "description": "Cluster group resource allocated and usage information", - "properties": { - "allocatedCredit": { - "description": "Credits allocated for each tenant/user", - "properties": { - "cpu": { - "description": "cpu in cores", - "type": "number", - "format": "int32", - "x-omitempty": false - }, - "memoryGiB": { - "description": "memory in GiB", - "type": "number", - "format": "int32", - "x-omitempty": false - }, - "storageGiB": { - "description": "storage in GiB", - "type": "integer", - "format": "int32", - "x-omitempty": false - }, - "virtualClustersLimit": { - "description": "number of active virtual clusters", - "type": "number", - "format": "int32", - "x-omitempty": false - } - } - }, - "usedCredit": { - "description": "Credits allocated for each tenant/user", - "properties": { - "cpu": { - "description": "cpu in cores", - "type": "number", - "format": "int32", - "x-omitempty": false - }, - "memoryGiB": { - "description": "memory in GiB", - "type": "number", - "format": "int32", - "x-omitempty": false - }, - "storageGiB": { - "description": "storage in GiB", - "type": "integer", - "format": "int32", - "x-omitempty": false - }, - "virtualClustersLimit": { - "description": "number of active virtual clusters", - "type": "number", - "format": "int32", - "x-omitempty": false - } - } - } - } - } + "204": { + "description": "The resource was deleted successfully" } } }, "parameters": [ { "type": "string", - "name": "scope", + "description": "Cluster profile uid", + "name": "uid", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "Cluster profile pack name", + "name": "packName", "in": "path", "required": true } ] }, - "/v1/clustergroups/hostCluster": { + "/v1/clusterprofiles/{uid}/packs/{packName}/config": { "get": { "security": [ { @@ -60267,9 +59711,30 @@ "tags": [ "v1" ], - "summary": "Retrieves a list of cluster groups host cluster summary", - "operationId": "v1ClusterGroupsHostClusterSummary", + "summary": "Returns the specified cluster profile pack configuration", + "operationId": "v1ClusterProfilesUidPacksConfigGet", "parameters": [ + { + "type": "string", + "description": "cluster profile uid", + "name": "uid", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "Cluster profile pack name", + "name": "packName", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "Cluster profile pack uid", + "name": "packUid", + "in": "query", + "required": true + }, { "type": "string", "description": "Scope the request to the specified project uid", @@ -60279,360 +59744,75 @@ ], "responses": { "200": { - "description": "An array of cluster groups of host cluster type summary", + "description": "An array of cluster profile pack configurations", "schema": { "type": "object", "required": [ - "summaries" + "items" ], "properties": { - "summaries": { + "items": { + "description": "Cluster profile packs array", "type": "array", "uniqueItems": true, "items": { - "description": "Cluster group summay", + "description": "Pack configuration", + "type": "object", "properties": { - "metadata": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", + "spec": { "type": "object", "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "name": { - "description": "Name of the resource.", + "associatedObject": { "type": "string" }, - "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", - "type": "string" - } - } - }, - "spec": { - "description": "Cluster group summay spec", - "properties": { - "clusterProfileTemplates": { + "isValuesOverridden": { + "type": "boolean", + "x-omitempty": false + }, + "manifests": { "type": "array", "items": { - "description": "Cluster profile template meta information", "type": "object", "properties": { - "cloudType": { - "type": "string" - }, - "name": { - "description": "Cluster profile name", + "digest": { "type": "string" }, - "packs": { - "description": "Cluster profile packs array", - "type": "array", - "items": { - "description": "PackRef server/name:tag to point to a pack PackRef is used when construct a ClusterProfile PackSpec is used for UI to render the parameters form ClusterProfile will not know inner details of a pack ClusterProfile only contain pack name:tag, and the param values user entered for it", - "type": "object", - "required": [ - "layer", - "name" - ], - "properties": { - "annotations": { - "description": "Annotations is used to allow packref to add more arbitrary information one example is to add git reference for values.yaml", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "digest": { - "description": "digest is used to specify the version should be installed by palette when pack upgrade available, change this digest to trigger upgrade", - "type": "string" - }, - "inValidReason": { - "type": "string" - }, - "isInvalid": { - "description": "pack is invalid when the associated tag is deleted from the registry", - "type": "boolean" - }, - "layer": { - "type": "string", - "enum": [ - "kernel", - "os", - "k8s", - "cni", - "csi", - "addon" - ] - }, - "logo": { - "description": "path to the pack logo", - "type": "string" - }, - "manifests": { - "type": "array", - "items": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", - "type": "string" - } - } - } - }, - "name": { - "description": "pack name", - "type": "string" - }, - "packUid": { - "description": "PackUID is Hubble packUID, not palette Pack.UID It is used by Hubble only.", - "type": "string" - }, - "params": { - "description": "params passed as env variables to be consumed at installation time", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "presets": { - "type": "array", - "items": { - "description": "PackPreset defines the preset pack values", - "type": "object", - "properties": { - "add": { - "type": "string", - "x-omitempty": false - }, - "displayName": { - "type": "string", - "x-omitempty": false - }, - "group": { - "type": "string", - "x-omitempty": false - }, - "name": { - "type": "string", - "x-omitempty": false - }, - "remove": { - "type": "array", - "items": { - "type": "string" - }, - "x-omitempty": false - } - } - } - }, - "registryUid": { - "description": "pack registry uid", - "type": "string" - }, - "schema": { - "type": "array", - "items": { - "description": "PackSchema defines the schema definition, hints for the pack values", - "type": "object", - "properties": { - "format": { - "type": "string", - "x-omitempty": false - }, - "hints": { - "type": "array", - "items": { - "type": "string" - }, - "x-omitempty": false - }, - "listOptions": { - "type": "array", - "items": { - "type": "string" - }, - "x-omitempty": false - }, - "name": { - "type": "string", - "x-omitempty": false - }, - "readonly": { - "type": "boolean", - "x-omitempty": false - }, - "regex": { - "type": "string", - "x-omitempty": false - }, - "required": { - "type": "boolean", - "x-omitempty": false - }, - "type": { - "type": "string", - "x-omitempty": false - } - } - } - }, - "server": { - "description": "pack registry server or helm repo", - "type": "string" - }, - "tag": { - "description": "pack tag", - "type": "string" - }, - "type": { - "description": "type of the pack", - "type": "string", - "enum": [ - "spectro", - "helm", - "manifest" - ] - }, - "values": { - "description": "values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", - "type": "string" - }, - "version": { - "description": "pack version", - "type": "string" - } - } - } + "isOverridden": { + "type": "boolean", + "x-omitempty": false }, - "scope": { - "description": "scope or context(system, tenant or project)", + "name": { "type": "string" }, - "type": { - "description": "Cluster profile type [ \"cluster\", \"infra\", \"add-on\", \"system\" ]", + "parentUid": { "type": "string" }, "uid": { - "description": "Cluster profile uid", "type": "string" - }, - "version": { - "type": "integer", - "format": "int32" } } } }, - "cpu": { - "description": "Cluster group resource allocated and usage information", - "properties": { - "allocated": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "used": { - "type": "number", - "format": "float64", - "x-omitempty": false - } - } + "name": { + "type": "string" }, - "endpointType": { - "type": "string", - "enum": [ - "Ingress", - "LoadBalancer" - ] + "packUid": { + "type": "string" }, - "hostClusters": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Object resource reference", - "type": "object", - "properties": { - "kind": { - "type": "string" - }, - "name": { - "type": "string" - }, - "projectUid": { - "type": "string" - }, - "tenantUid": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - } + "scope": { + "type": "string" }, - "hostClustersCount": { - "type": "integer", - "x-omitempty": false + "tag": { + "type": "string" }, - "memory": { - "description": "Cluster group resource allocated and usage information", - "properties": { - "allocated": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "used": { - "type": "number", - "format": "float64", - "x-omitempty": false - } - } + "type": { + "type": "string" }, - "scope": { + "values": { "type": "string" }, - "virtualClustersCount": { - "type": "integer", - "x-omitempty": false + "version": { + "type": "string" } } } @@ -60645,7 +59825,7 @@ } } }, - "/v1/clustergroups/hostCluster/metadata": { + "/v1/clusterprofiles/{uid}/packs/{packName}/manifests": { "get": { "security": [ { @@ -60658,8 +59838,8 @@ "tags": [ "v1" ], - "summary": "Retrieves a list of cluster groups host cluster metadata", - "operationId": "v1ClusterGroupsHostClusterMetadata", + "summary": "Returns the associated manifests for the specified profile's pack", + "operationId": "v1ClusterProfilesUidPacksUidManifests", "parameters": [ { "type": "string", @@ -60670,7 +59850,7 @@ ], "responses": { "200": { - "description": "An array of cluster groups host cluster metadata items", + "description": "OK", "schema": { "type": "object", "required": [ @@ -60678,20 +59858,88 @@ ], "properties": { "items": { + "description": "Manifests array", "type": "array", "uniqueItems": true, "items": { - "description": "Object scope identity meta", - "type": "object", + "description": "Manifest object", "properties": { - "name": { - "type": "string" - }, - "scope": { - "type": "string" + "metadata": { + "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", + "type": "object", + "properties": { + "annotations": { + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "creationTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "deletionTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "labels": { + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "lastModifiedTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "name": { + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + }, + "uid": { + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", + "type": "string" + } + } }, - "uid": { - "type": "string" + "spec": { + "description": "Manifest spec", + "type": "object", + "properties": { + "draft": { + "description": "Published manifest object", + "type": "object", + "properties": { + "content": { + "description": "Manifest content in yaml", + "type": "string" + }, + "digest": { + "description": "Manifest digest", + "type": "string" + } + } + }, + "published": { + "description": "Published manifest object", + "type": "object", + "properties": { + "content": { + "description": "Manifest content in yaml", + "type": "string" + }, + "digest": { + "description": "Manifest digest", + "type": "string" + } + } + } + } } } } @@ -60700,10 +59948,8 @@ } } } - } - }, - "/v1/clustergroups/validate/name": { - "get": { + }, + "post": { "security": [ { "ApiKey": [] @@ -60715,14 +59961,25 @@ "tags": [ "v1" ], - "summary": "Validates the cluster groups name", - "operationId": "v1ClusterGroupsValidateName", + "summary": "Adds manifest to the profiles packs and returns the added manifests uid", + "operationId": "v1ClusterProfilesUidPacksNameManifestsAdd", "parameters": [ { - "type": "string", - "name": "name", - "in": "query", - "required": true + "name": "body", + "in": "body", + "schema": { + "description": "Manifest request payload", + "properties": { + "content": { + "description": "Manifest content", + "type": "string" + }, + "name": { + "description": "Manifest name", + "type": "string" + } + } + } }, { "type": "string", @@ -60732,8 +59989,19 @@ } ], "responses": { - "204": { - "description": "Ok response without content", + "201": { + "description": "Created successfully", + "schema": { + "type": "object", + "required": [ + "uid" + ], + "properties": { + "uid": { + "type": "string" + } + } + }, "headers": { "AuditUid": { "type": "string", @@ -60742,9 +60010,25 @@ } } } - } + }, + "parameters": [ + { + "type": "string", + "description": "Cluster profile uid", + "name": "uid", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "Cluster profile pack name", + "name": "packName", + "in": "path", + "required": true + } + ] }, - "/v1/clustergroups/{uid}": { + "/v1/clusterprofiles/{uid}/packs/{packName}/manifests/{manifestUid}": { "get": { "security": [ { @@ -60757,8 +60041,8 @@ "tags": [ "v1" ], - "summary": "Returns the specified cluster groups", - "operationId": "v1ClusterGroupsUidGet", + "summary": "Returns the specified cluster profile pack manifest", + "operationId": "v1ClusterProfilesUidPacksNameManifestsUidGet", "parameters": [ { "type": "string", @@ -60771,14 +60055,14 @@ "200": { "description": "OK", "schema": { - "description": "Cluster group information", + "description": "Manifest object", "properties": { "metadata": { "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -60795,7 +60079,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -60807,424 +60091,96 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, "spec": { - "description": "Cluster group specifications", + "description": "Manifest spec", + "type": "object", "properties": { - "clusterProfileTemplates": { - "description": "ClusterProfileTemplate is a copy of the draft version or latest published version of the clusterprofileSpec. It consists of list of add on profiles at a cluster group level which will be enforced on all virtual cluster. ClusterProfileTemplate will be updated from the clusterprofile pointed by ClusterProfileRef", - "type": "array", - "items": { - "description": "ClusterProfileTemplate contains details of a clusterprofile definition", - "type": "object", - "properties": { - "cloudType": { - "type": "string" - }, - "name": { - "type": "string" - }, - "packServerRefs": { - "description": "PackServerRefs is only used on Hubble side it is reference to pack registry servers which PackRef belongs to in hubble, pack server is a top level object, so use a reference to point to it packs within a clusterprofile can come from different pack servers, so this is an array", - "type": "array", - "items": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", - "type": "string" - } - } - } - }, - "packServerSecret": { - "description": "This secret is used only on Palette side use case is similar to k8s image pull secret this single secret internally should contains all the pack servers in PackServerRefs if empty, means no credential is needed to access the pack server For spectro saas, Ally will set this field before pass to palette", - "type": "string" - }, - "packs": { - "description": "Packs definitions here are final definitions. If ClonedFrom and ParamsOverwrite is present, then Packs are the final merge result of ClonedFrom and ParamsOverwrite So orchestration engine will just take the Packs and do the work, no need to worry about parameters merge", - "type": "array", - "items": { - "description": "PackRef server/name:tag to point to a pack PackRef is used when construct a ClusterProfile PackSpec is used for UI to render the parameters form ClusterProfile will not know inner details of a pack ClusterProfile only contain pack name:tag, and the param values user entered for it", - "type": "object", - "required": [ - "layer", - "name" - ], - "properties": { - "annotations": { - "description": "Annotations is used to allow packref to add more arbitrary information one example is to add git reference for values.yaml", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "digest": { - "description": "digest is used to specify the version should be installed by palette when pack upgrade available, change this digest to trigger upgrade", - "type": "string" - }, - "inValidReason": { - "type": "string" - }, - "isInvalid": { - "description": "pack is invalid when the associated tag is deleted from the registry", - "type": "boolean" - }, - "layer": { - "type": "string", - "enum": [ - "kernel", - "os", - "k8s", - "cni", - "csi", - "addon" - ] - }, - "logo": { - "description": "path to the pack logo", - "type": "string" - }, - "manifests": { - "type": "array", - "items": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", - "type": "string" - } - } - } - }, - "name": { - "description": "pack name", - "type": "string" - }, - "packUid": { - "description": "PackUID is Hubble packUID, not palette Pack.UID It is used by Hubble only.", - "type": "string" - }, - "params": { - "description": "params passed as env variables to be consumed at installation time", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "presets": { - "type": "array", - "items": { - "description": "PackPreset defines the preset pack values", - "type": "object", - "properties": { - "add": { - "type": "string", - "x-omitempty": false - }, - "displayName": { - "type": "string", - "x-omitempty": false - }, - "group": { - "type": "string", - "x-omitempty": false - }, - "name": { - "type": "string", - "x-omitempty": false - }, - "remove": { - "type": "array", - "items": { - "type": "string" - }, - "x-omitempty": false - } - } - } - }, - "registryUid": { - "description": "pack registry uid", - "type": "string" - }, - "schema": { - "type": "array", - "items": { - "description": "PackSchema defines the schema definition, hints for the pack values", - "type": "object", - "properties": { - "format": { - "type": "string", - "x-omitempty": false - }, - "hints": { - "type": "array", - "items": { - "type": "string" - }, - "x-omitempty": false - }, - "listOptions": { - "type": "array", - "items": { - "type": "string" - }, - "x-omitempty": false - }, - "name": { - "type": "string", - "x-omitempty": false - }, - "readonly": { - "type": "boolean", - "x-omitempty": false - }, - "regex": { - "type": "string", - "x-omitempty": false - }, - "required": { - "type": "boolean", - "x-omitempty": false - }, - "type": { - "type": "string", - "x-omitempty": false - } - } - } - }, - "server": { - "description": "pack registry server or helm repo", - "type": "string" - }, - "tag": { - "description": "pack tag", - "type": "string" - }, - "type": { - "description": "type of the pack", - "type": "string", - "enum": [ - "spectro", - "helm", - "manifest" - ] - }, - "values": { - "description": "values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", - "type": "string" - }, - "version": { - "description": "pack version", - "type": "string" - } - } - } - }, - "profileVersion": { - "description": "version start from 1.0.0, matching the index of ClusterProfileSpec.Versions[] will be used by clusterSpec to identify which version is applied to the cluster", - "type": "string" - }, - "relatedObject": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", - "type": "string" - } - } - }, - "type": { - "type": "string" - }, - "uid": { - "type": "string" - }, - "version": { - "description": "Deprecated. Use profileVersion", - "type": "integer", - "format": "int32" - } - } - } - }, - "clusterRefs": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Cluster group cluster reference", - "properties": { - "clusterName": { - "type": "string" - }, - "clusterUid": { - "type": "string" - } + "draft": { + "description": "Published manifest object", + "type": "object", + "properties": { + "content": { + "description": "Manifest content in yaml", + "type": "string" + }, + "digest": { + "description": "Manifest digest", + "type": "string" } } }, - "clustersConfig": { - "description": "Clusters config of cluster group", + "published": { + "description": "Published manifest object", + "type": "object", "properties": { - "endpointType": { - "description": "Host cluster endpoint type", - "type": "string", - "enum": [ - "Ingress", - "LoadBalancer" - ] - }, - "hostClustersConfig": { - "type": "array", - "uniqueItems": true, - "items": { - "properties": { - "clusterUid": { - "type": "string" - }, - "endpointConfig": { - "properties": { - "ingressConfig": { - "description": "Ingress configuration for exposing the virtual cluster's kube-apiserver", - "properties": { - "host": { - "type": "string" - }, - "port": { - "type": "integer", - "format": "int64" - } - } - }, - "loadBalancerConfig": { - "description": "Load balancer configuration for exposing the virtual cluster's kube-apiserver", - "properties": { - "externalIPs": { - "type": "array", - "items": { - "type": "string" - } - }, - "externalTrafficPolicy": { - "type": "string" - }, - "loadBalancerSourceRanges": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - } - } - } - } - }, - "kubernetesDistroType": { - "type": "string", - "default": "k3s", - "enum": [ - "k3s", - "cncf_k8s" - ] - }, - "limitConfig": { - "description": "Cluster group limit config", - "properties": { - "cpu": { - "description": "Deprecated. Use field cpuMilliCore", - "type": "integer", - "format": "int32" - }, - "cpuMilliCore": { - "description": "CPU in milli cores", - "type": "integer", - "format": "int32" - }, - "memory": { - "description": "Deprecated. Use field memoryMiB", - "type": "integer", - "format": "int32" - }, - "memoryMiB": { - "description": "Memory in MiB", - "type": "integer", - "format": "int32" - }, - "overSubscription": { - "description": "Over subscription percentage", - "type": "integer", - "format": "int32" - }, - "storageGiB": { - "description": "Storage in GiB", - "type": "integer", - "format": "int32" - } - } + "content": { + "description": "Manifest content in yaml", + "type": "string" }, - "values": { + "digest": { + "description": "Manifest digest", "type": "string" } } - }, - "type": { - "type": "string", - "enum": [ - "hostCluster" - ] } } + } + } + } + } + } + }, + "put": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Updates the specified manifest of the profile's pack", + "operationId": "v1ClusterProfilesUidPacksNameManifestsUidUpdate", + "parameters": [ + { + "name": "body", + "in": "body", + "schema": { + "description": "Manifest request payload", + "properties": { + "content": { + "description": "Manifest content", + "type": "string" }, - "status": { - "description": "Cluster group status", - "properties": { - "isActive": { - "type": "boolean", - "x-omitempty": false - } - } + "name": { + "description": "Manifest name", + "type": "string" } } } + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" } } }, @@ -61240,8 +60196,8 @@ "tags": [ "v1" ], - "summary": "Deletes the specified cluster group", - "operationId": "v1ClusterGroupsUidDelete", + "summary": "Deletes the specified cluster profile pack manifest", + "operationId": "v1ClusterProfilesUidPacksNameManifestsUidDelete", "parameters": [ { "type": "string", @@ -61259,14 +60215,29 @@ "parameters": [ { "type": "string", + "description": "Cluster profile uid", "name": "uid", "in": "path", "required": true + }, + { + "type": "string", + "description": "Cluster profile pack name", + "name": "packName", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "Cluster profile pack manifest uid", + "name": "manifestUid", + "in": "path", + "required": true } ] }, - "/v1/clustergroups/{uid}/hostCluster": { - "put": { + "/v1/clusterprofiles/{uid}/publish": { + "patch": { "security": [ { "ApiKey": [] @@ -61275,142 +60246,55 @@ "Authorization": [] } ], + "description": "Publish the draft cluster profile with next revision, the current draft cluster profile will be marked to published\nand the draft cluster profile will be set to null in the cluster profile template.\n", "tags": [ "v1" ], - "summary": "Updates cluster reference and host cluster config", - "operationId": "v1ClusterGroupsUidHostClusterUpdate", + "summary": "Publishes the specified cluster profile", + "operationId": "v1ClusterProfilesPublish", "parameters": [ { - "name": "body", - "in": "body", - "schema": { - "description": "Clusters and clusters config of cluster group", - "properties": { - "clusterRefs": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Cluster group cluster reference", - "properties": { - "clusterName": { - "type": "string" - }, - "clusterUid": { - "type": "string" - } - } - } - }, - "clustersConfig": { - "description": "Clusters config of cluster group", - "properties": { - "endpointType": { - "description": "Host cluster endpoint type", - "type": "string", - "enum": [ - "Ingress", - "LoadBalancer" - ] - }, - "hostClustersConfig": { - "type": "array", - "uniqueItems": true, - "items": { - "properties": { - "clusterUid": { - "type": "string" - }, - "endpointConfig": { - "properties": { - "ingressConfig": { - "description": "Ingress configuration for exposing the virtual cluster's kube-apiserver", - "properties": { - "host": { - "type": "string" - }, - "port": { - "type": "integer", - "format": "int64" - } - } - }, - "loadBalancerConfig": { - "description": "Load balancer configuration for exposing the virtual cluster's kube-apiserver", - "properties": { - "externalIPs": { - "type": "array", - "items": { - "type": "string" - } - }, - "externalTrafficPolicy": { - "type": "string" - }, - "loadBalancerSourceRanges": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - } - } - } - } - }, - "kubernetesDistroType": { - "type": "string", - "default": "k3s", - "enum": [ - "k3s", - "cncf_k8s" - ] - }, - "limitConfig": { - "description": "Cluster group limit config", - "properties": { - "cpu": { - "description": "Deprecated. Use field cpuMilliCore", - "type": "integer", - "format": "int32" - }, - "cpuMilliCore": { - "description": "CPU in milli cores", - "type": "integer", - "format": "int32" - }, - "memory": { - "description": "Deprecated. Use field memoryMiB", - "type": "integer", - "format": "int32" - }, - "memoryMiB": { - "description": "Memory in MiB", - "type": "integer", - "format": "int32" - }, - "overSubscription": { - "description": "Over subscription percentage", - "type": "integer", - "format": "int32" - }, - "storageGiB": { - "description": "Storage in GiB", - "type": "integer", - "format": "int32" - } - } - }, - "values": { - "type": "string" - } - } - } - } - } + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "204": { + "description": "Cluster profile published successfully" + } + } + }, + "parameters": [ + { + "type": "string", + "description": "Cluster profile uid", + "name": "uid", + "in": "path", + "required": true + } + ] + }, + "/v1/clusterprofiles/{uid}/spc/download": { + "get": { + "security": [ + { + "ApiKey": [] }, + { + "Authorization": [] + } + ], + "produces": [ + "application/octet-stream" + ], + "tags": [ + "v1" + ], + "summary": "Downloads the specified cluster profile", + "operationId": "v1ClusterProfilesUidSpcDownload", + "parameters": [ { "type": "string", "description": "Scope the request to the specified project uid", @@ -61419,22 +60303,32 @@ } ], "responses": { - "204": { - "description": "The resource was updated successfully" + "200": { + "description": "Download cluster profile archive file", + "schema": { + "type": "string", + "format": "binary" + }, + "headers": { + "Content-Disposition": { + "type": "string" + } + } } } }, "parameters": [ { "type": "string", + "description": "Cluster profile uid", "name": "uid", "in": "path", "required": true } ] }, - "/v1/clustergroups/{uid}/meta": { - "put": { + "/v1/clusterprofiles/{uid}/validate/packs": { + "post": { "security": [ { "ApiKey": [] @@ -61446,52 +60340,100 @@ "tags": [ "v1" ], - "summary": "Updates the specified cluster groups meta", - "operationId": "v1ClusterGroupsUidMetaUpdate", + "summary": "Validates specified cluster profile packs", + "operationId": "v1ClusterProfilesUidValidatePacks", "parameters": [ + { + "type": "string", + "description": "Cluster profile uid", + "name": "uid", + "in": "path", + "required": true + }, { "name": "body", "in": "body", "schema": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", + "description": "Cluster profile template spec", "type": "object", "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" + "cloudType": { + "type": "string" }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { - "type": "string" + "packs": { + "description": "Cluster profile packs array", + "type": "array", + "uniqueItems": true, + "items": { + "description": "Pack request payload", + "type": "object", + "required": [ + "name" + ], + "properties": { + "layer": { + "description": "Pack layer", + "type": "string" + }, + "manifests": { + "description": "Pack manifests are additional content as part of the profile", + "type": "array", + "items": { + "description": "Manifest request payload", + "properties": { + "content": { + "description": "Manifest content", + "type": "string" + }, + "name": { + "description": "Manifest name", + "type": "string" + } + } + } + }, + "name": { + "description": "Pack name", + "type": "string" + }, + "registryUid": { + "description": "Pack registry uid", + "type": "string" + }, + "tag": { + "description": "Pack tag", + "type": "string" + }, + "type": { + "type": "string", + "default": "spectro", + "enum": [ + "spectro", + "helm", + "manifest", + "oci" + ] + }, + "uid": { + "description": "Pack uid", + "type": "string" + }, + "values": { + "description": "Pack values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", + "type": "string" + } + } } }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": { "type": "string", - "format": "date-time" - }, - "name": { - "description": "Name of the resource.", - "type": "string" - }, - "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", - "type": "string" + "default": "cluster", + "enum": [ + "cluster", + "infra", + "add-on", + "system" + ] } } } @@ -61504,21 +60446,56 @@ } ], "responses": { - "204": { - "description": "The resource was updated successfully" + "200": { + "description": "Cluster profile packs validation response", + "schema": { + "description": "Cluster profile validator response", + "type": "object", + "properties": { + "packs": { + "description": "Constraint validator response", + "type": "object", + "properties": { + "results": { + "type": "array", + "uniqueItems": true, + "items": { + "description": "Constraint validator result", + "type": "object", + "properties": { + "displayName": { + "type": "string" + }, + "errors": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + } + } + } + }, + "name": { + "type": "string" + } + } + } + } + } + } + } + } } } - }, - "parameters": [ - { - "type": "string", - "name": "uid", - "in": "path", - "required": true - } - ] + } }, - "/v1/clustergroups/{uid}/packs/resolvedValues": { + "/v1/clusterprofiles/{uid}/variables": { "get": { "security": [ { @@ -61531,8 +60508,8 @@ "tags": [ "v1" ], - "summary": "Returns the specified clustergroup's profile packs resolved values", - "operationId": "v1ClusterGroupsUidPacksResolvedValuesGet", + "summary": "Retrieve a list of variables defined for the cluster profile", + "operationId": "V1ClusterProfilesUidVariablesGet", "parameters": [ { "type": "string", @@ -61545,25 +60522,72 @@ "200": { "description": "OK", "schema": { - "description": "Cluster profiles resolved values response", "type": "object", "properties": { - "profiles": { + "variables": { + "description": "List of unique variable fields with schema constraints", "type": "array", "uniqueItems": true, "items": { - "description": "Cluster profile resolved pack values", + "description": "Unique variable field with schema definition", + "type": "object", + "required": [ + "name" + ], "properties": { - "resolved": { - "description": "Cluster profile pack resolved values", - "type": "object", - "additionalProperties": { - "type": "string" - } + "defaultValue": { + "description": "The default value of the variable", + "type": "string" }, - "uid": { - "description": "Cluster profile uid", + "description": { + "description": "Variable description", + "type": "string" + }, + "displayName": { + "description": "Unique display name of the variable", + "type": "string" + }, + "format": { + "description": "Format type of the variable value", + "type": "string", + "default": "string", + "enum": [ + "string", + "number", + "boolean", + "ipv4", + "ipv4cidr", + "ipv6", + "version" + ] + }, + "hidden": { + "description": "If true, then variable will be hidden for overriding the value. By default the hidden flag will be set to false", + "type": "boolean", + "x-omitempty": false + }, + "immutable": { + "description": "If true, then variable value can't be editable. By default the immutable flag will be set to false", + "type": "boolean", + "x-omitempty": false + }, + "isSensitive": { + "description": "If true, then default value will be masked. By default the isSensitive flag will be set to false", + "type": "boolean", + "x-omitempty": false + }, + "name": { + "description": "Variable name", + "type": "string" + }, + "regex": { + "description": "Regular expression pattern which the variable value must match", "type": "string" + }, + "required": { + "description": "Flag to specify if the variable is optional or mandatory. If it is mandatory then default value must be provided", + "type": "boolean", + "x-omitempty": false } } } @@ -61573,35 +60597,112 @@ } } }, - "parameters": [ - { - "type": "string", - "description": "Cluster group uid", - "name": "uid", - "in": "path", - "required": true - }, - { - "name": "body", - "in": "body", - "schema": { - "description": "Cluster profiles param reference entity", - "type": "object", - "properties": { - "references": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" + "put": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Update the variables defined for a cluster profile", + "operationId": "V1ClusterProfilesUidVariablesPut", + "parameters": [ + { + "name": "body", + "in": "body", + "schema": { + "type": "object", + "properties": { + "variables": { + "description": "List of unique variable fields with schema constraints", + "type": "array", + "uniqueItems": true, + "items": { + "description": "Unique variable field with schema definition", + "type": "object", + "required": [ + "name" + ], + "properties": { + "defaultValue": { + "description": "The default value of the variable", + "type": "string" + }, + "description": { + "description": "Variable description", + "type": "string" + }, + "displayName": { + "description": "Unique display name of the variable", + "type": "string" + }, + "format": { + "description": "Format type of the variable value", + "type": "string", + "default": "string", + "enum": [ + "string", + "number", + "boolean", + "ipv4", + "ipv4cidr", + "ipv6", + "version" + ] + }, + "hidden": { + "description": "If true, then variable will be hidden for overriding the value. By default the hidden flag will be set to false", + "type": "boolean", + "x-omitempty": false + }, + "immutable": { + "description": "If true, then variable value can't be editable. By default the immutable flag will be set to false", + "type": "boolean", + "x-omitempty": false + }, + "isSensitive": { + "description": "If true, then default value will be masked. By default the isSensitive flag will be set to false", + "type": "boolean", + "x-omitempty": false + }, + "name": { + "description": "Variable name", + "type": "string" + }, + "regex": { + "description": "Regular expression pattern which the variable value must match", + "type": "string" + }, + "required": { + "description": "Flag to specify if the variable is optional or mandatory. If it is mandatory then default value must be provided", + "type": "boolean", + "x-omitempty": false + } + } + } } } } + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" } } - ] - }, - "/v1/clustergroups/{uid}/profiles": { - "get": { + }, + "delete": { "security": [ { "ApiKey": [] @@ -61613,14 +60714,27 @@ "tags": [ "v1" ], - "summary": "Returns the associated profiles of a specified cluster group", - "operationId": "v1ClusterGroupsUidProfilesGet", + "summary": "Deletes the specified cluster profile variables", + "operationId": "V1ClusterProfilesUidVariablesDelete", "parameters": [ { - "type": "string", - "description": "includes pack meta such as schema, presets", - "name": "includePackMeta", - "in": "query" + "name": "body", + "in": "body", + "schema": { + "required": [ + "variables" + ], + "properties": { + "variables": { + "description": "Array of variable names", + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + } + } + } }, { "type": "string", @@ -61630,26 +60744,313 @@ } ], "responses": { - "200": { - "description": "OK", + "204": { + "description": "The resource was deleted successfully" + } + } + }, + "patch": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Update specific variables defined for a cluster profile", + "operationId": "V1ClusterProfilesUidVariablesPatch", + "parameters": [ + { + "name": "body", + "in": "body", "schema": { "type": "object", - "required": [ - "profiles" - ], "properties": { - "profiles": { + "variables": { + "description": "List of unique variable fields with schema constraints", "type": "array", + "uniqueItems": true, "items": { - "description": "Cluster profile response", + "description": "Unique variable field with schema definition", "type": "object", + "required": [ + "name" + ], "properties": { - "metadata": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", + "defaultValue": { + "description": "The default value of the variable", + "type": "string" + }, + "description": { + "description": "Variable description", + "type": "string" + }, + "displayName": { + "description": "Unique display name of the variable", + "type": "string" + }, + "format": { + "description": "Format type of the variable value", + "type": "string", + "default": "string", + "enum": [ + "string", + "number", + "boolean", + "ipv4", + "ipv4cidr", + "ipv6", + "version" + ] + }, + "hidden": { + "description": "If true, then variable will be hidden for overriding the value. By default the hidden flag will be set to false", + "type": "boolean", + "x-omitempty": false + }, + "immutable": { + "description": "If true, then variable value can't be editable. By default the immutable flag will be set to false", + "type": "boolean", + "x-omitempty": false + }, + "isSensitive": { + "description": "If true, then default value will be masked. By default the isSensitive flag will be set to false", + "type": "boolean", + "x-omitempty": false + }, + "name": { + "description": "Variable name", + "type": "string" + }, + "regex": { + "description": "Regular expression pattern which the variable value must match", + "type": "string" + }, + "required": { + "description": "Flag to specify if the variable is optional or mandatory. If it is mandatory then default value must be provided", + "type": "boolean", + "x-omitempty": false + } + } + } + } + } + } + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + } + }, + "parameters": [ + { + "type": "string", + "description": "Cluster profile uid", + "name": "uid", + "in": "path", + "required": true + } + ] + }, + "/v1/dashboard/appDeployments": { + "post": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Retrieves a list of application deployments filter summary Supported filter fields - [\"appDeploymentName\", \"clusterUid\", \"tags\"] Supported sort fields - [\"appDeploymentName\", \"creationTimestamp\", \"lastModifiedTimestamp\"]", + "operationId": "v1DashboardAppDeployments", + "parameters": [ + { + "maximum": 20, + "type": "integer", + "format": "int64", + "description": "limit is a maximum number of responses to return for a list call. Maximum value of the limit is 20.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "name": "limit", + "in": "query" + }, + { + "type": "integer", + "format": "int64", + "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", + "name": "offset", + "in": "query" + }, + { + "type": "string", + "description": "continue token to paginate the subsequent data items", + "name": "continue", + "in": "query" + }, + { + "name": "body", + "in": "body", + "schema": { + "description": "Application deployment filter summary spec", + "properties": { + "filter": { + "description": "Application deployment filter spec", + "properties": { + "appDeploymentName": { + "type": "object", + "properties": { + "beginsWith": { + "type": "string", + "x-nullable": true + }, + "contains": { + "type": "string", + "x-nullable": true + }, + "eq": { + "type": "string", + "x-nullable": true + }, + "ignoreCase": { + "type": "boolean", + "default": true + }, + "ne": { + "type": "string", + "x-nullable": true + } + } + }, + "clusterUids": { + "type": "object", + "properties": { + "beginsWith": { + "type": "array", + "items": { + "type": "string" + }, + "x-nullable": true + }, + "eq": { + "type": "array", + "items": { + "type": "string" + }, + "x-nullable": true + }, + "ignoreCase": { + "type": "boolean", + "default": true + }, + "ne": { + "type": "array", + "items": { + "type": "string" + }, + "x-nullable": true + } + } + }, + "tags": { + "type": "object", + "properties": { + "beginsWith": { + "type": "array", + "items": { + "type": "string" + }, + "x-nullable": true + }, + "eq": { + "type": "array", + "items": { + "type": "string" + }, + "x-nullable": true + }, + "ignoreCase": { + "type": "boolean", + "default": true + }, + "ne": { + "type": "array", + "items": { + "type": "string" + }, + "x-nullable": true + } + } + } + } + }, + "sort": { + "type": "array", + "uniqueItems": true, + "items": { + "properties": { + "field": { + "type": "string", + "enum": [ + "appDeploymentName", + "creationTimestamp", + "lastModifiedTimestamp" + ], + "x-nullable": true + }, + "order": { + "type": "string", + "default": "asc", + "enum": [ + "asc", + "desc" + ] + } + } + } + } + } + } + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "200": { + "description": "An array of application deployment summary items", + "schema": { + "type": "object", + "properties": { + "appDeployments": { + "type": "array", + "uniqueItems": true, + "items": { + "description": "Application deployment summary", + "type": "object", + "properties": { + "metadata": { + "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -61666,7 +61067,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -61678,664 +61079,190 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, "spec": { - "description": "Cluster profile spec response", + "description": "Application deployment spec summary", "type": "object", "properties": { - "cloudType": { - "description": "Cluster profile cloud type", - "type": "string" - }, - "packs": { - "description": "Cluster profile packs array", - "type": "array", - "uniqueItems": true, - "items": { - "description": "Cluster profile packs object", - "type": "object", - "properties": { - "metadata": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", - "type": "object", - "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { + "config": { + "description": "Application deployment config summary", + "properties": { + "target": { + "description": "Application deployment target config summary", + "properties": { + "clusterRef": { + "description": "Application deployment cluster reference", + "properties": { + "deploymentClusterType": { + "description": "Application deployment source cluster type[ \"virtualCluster\", \"hostCluster\" ]", + "type": "string", + "enum": [ + "virtual", + "host" + ] + }, + "name": { + "description": "Application deployment source cluster name", "type": "string" - } - }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { + }, + "uid": { + "description": "Application deployment source cluster uid", "type": "string" } - }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "name": { - "description": "Name of the resource.", - "type": "string" - }, - "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", - "type": "string" } } - }, - "spec": { - "description": "Pack object", - "type": "object", - "properties": { - "addonSubType": { - "description": "Pack add-on sub type such as monitoring, db etc", - "type": "string" - }, - "addonType": { - "description": "Pack add-on type such as logging, monitoring, security etc", - "type": "string" - }, - "annotations": { - "description": "Pack annotations is used to allow pack to add more arbitrary configurations", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "cloudTypes": { - "description": "Pack supported cloud types", - "type": "array", - "items": { - "type": "string" - } - }, - "digest": { - "description": "Pack digest", - "type": "string" - }, - "displayName": { - "description": "Pack display name", - "type": "string" - }, - "eol": { - "description": "Pack end of life, date format: yyyy-MM-dd", - "type": "string" - }, - "group": { - "description": "Pack group", - "type": "string" - }, - "layer": { - "type": "string", - "enum": [ - "kernel", - "os", - "k8s", - "cni", - "csi", - "addon" - ] - }, - "logoUrl": { - "description": "Pack logo url", - "type": "string" - }, - "manifests": { - "description": "Pack manifests are additional content as part of the cluster profile", - "type": "array", - "items": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", - "type": "string" - } - } - } - }, - "name": { - "description": "Pack name", - "type": "string" - }, - "presets": { - "description": "Pack presets are the set of configurations applied on user selection of presets", - "type": "array", - "items": { - "description": "PackPreset defines the preset pack values", - "type": "object", - "properties": { - "add": { - "type": "string", - "x-omitempty": false - }, - "displayName": { - "type": "string", - "x-omitempty": false - }, - "group": { - "type": "string", - "x-omitempty": false - }, - "name": { - "type": "string", - "x-omitempty": false - }, - "remove": { - "type": "array", - "items": { + } + } + } + }, + "profile": { + "description": "Application deployment profile summary", + "properties": { + "metadata": { + "description": "Application deployment profile metadata summary", + "properties": { + "name": { + "type": "string" + }, + "uid": { + "type": "string" + }, + "version": { + "type": "string" + } + } + }, + "template": { + "description": "Application profile template summary", + "type": "object", + "properties": { + "appTiers": { + "type": "array", + "items": { + "description": "Application profile's tier summary", + "properties": { + "name": { + "type": "string" + }, + "source": { + "description": "Application profile's tier source information", + "properties": { + "addonSubType": { "type": "string" }, - "x-omitempty": false - } - } - } - }, - "registryUid": { - "description": "Pack registry uid", - "type": "string" - }, - "schema": { - "description": "Pack schema contains constraints such as data type, format, hints for the pack values", - "type": "array", - "items": { - "description": "PackSchema defines the schema definition, hints for the pack values", - "type": "object", - "properties": { - "format": { - "type": "string", - "x-omitempty": false - }, - "hints": { - "type": "array", - "items": { + "addonType": { "type": "string" }, - "x-omitempty": false - }, - "listOptions": { - "type": "array", - "items": { + "logoUrl": { "type": "string" }, - "x-omitempty": false - }, - "name": { - "type": "string", - "x-omitempty": false - }, - "readonly": { - "type": "boolean", - "x-omitempty": false - }, - "regex": { - "type": "string", - "x-omitempty": false - }, - "required": { - "type": "boolean", - "x-omitempty": false - }, - "type": { - "type": "string", - "x-omitempty": false - } - } - } - }, - "template": { - "description": "Pack template configuration", - "properties": { - "manifest": { - "description": "Pack template manifest content", - "type": "string" - }, - "parameters": { - "description": "Pack template parameters", - "properties": { - "inputParameters": { - "description": "Pack template input parameters array", - "type": "array", - "items": { - "description": "Pack template parameter", - "properties": { - "description": { - "description": "Pack template parameter description", - "type": "string" - }, - "displayName": { - "description": "Pack template parameter display name", - "type": "string" - }, - "format": { - "description": "Pack template parameter format", - "type": "string" - }, - "hidden": { - "description": "Pack template parameter hidden flag, if true then the parameter is hidden in the UI", - "type": "boolean" - }, - "listOptions": { - "description": "Pack template parameter list options as string array", - "type": "array", - "items": { - "type": "string" - } - }, - "name": { - "description": "Pack template parameter name", - "type": "string" - }, - "optional": { - "description": "Pack template parameter optional flag, if true then the parameter value is not mandatory", - "type": "boolean" - }, - "options": { - "description": "Pack template parameter options array", - "type": "object", - "additionalProperties": { - "description": "Pack template parameter option", - "type": "object", - "properties": { - "dependencies": { - "description": "Pack template parameter dependencies", - "type": "array", - "items": { - "description": "Pack template dependency", - "type": "object", - "properties": { - "layer": { - "description": "Pack template dependency pack layer", - "type": "string" - }, - "name": { - "description": "Pack template dependency pack name", - "type": "string" - }, - "readOnly": { - "description": "If true then dependency pack values can't be overridden", - "type": "boolean" - } - } - } - }, - "description": { - "description": "Pack template parameter description", - "type": "string" - }, - "label": { - "description": "Pack template parameter label", - "type": "string" - } - } - } - }, - "readOnly": { - "description": "Pack template parameter readonly flag, if true then the parameter value can't be overridden", - "type": "boolean" - }, - "regex": { - "description": "Pack template parameter regex, if set then parameter value must match with specified regex", - "type": "string" - }, - "targetKey": { - "description": "Pack template parameter target key which is mapped to the key defined in the pack values", - "type": "string" - }, - "type": { - "description": "Pack template parameter data type", - "type": "string" - }, - "value": { - "description": "Pack template parameter value", - "type": "string" - } - } - } + "name": { + "type": "string" }, - "outputParameters": { - "description": "Pack template output parameters array", - "type": "array", - "items": { - "description": "Pack template parameter", - "properties": { - "description": { - "description": "Pack template parameter description", - "type": "string" - }, - "displayName": { - "description": "Pack template parameter display name", - "type": "string" - }, - "format": { - "description": "Pack template parameter format", - "type": "string" - }, - "hidden": { - "description": "Pack template parameter hidden flag, if true then the parameter is hidden in the UI", - "type": "boolean" - }, - "listOptions": { - "description": "Pack template parameter list options as string array", - "type": "array", - "items": { - "type": "string" - } - }, - "name": { - "description": "Pack template parameter name", - "type": "string" - }, - "optional": { - "description": "Pack template parameter optional flag, if true then the parameter value is not mandatory", - "type": "boolean" - }, - "options": { - "description": "Pack template parameter options array", - "type": "object", - "additionalProperties": { - "description": "Pack template parameter option", - "type": "object", - "properties": { - "dependencies": { - "description": "Pack template parameter dependencies", - "type": "array", - "items": { - "description": "Pack template dependency", - "type": "object", - "properties": { - "layer": { - "description": "Pack template dependency pack layer", - "type": "string" - }, - "name": { - "description": "Pack template dependency pack name", - "type": "string" - }, - "readOnly": { - "description": "If true then dependency pack values can't be overridden", - "type": "boolean" - } - } - } - }, - "description": { - "description": "Pack template parameter description", - "type": "string" - }, - "label": { - "description": "Pack template parameter label", - "type": "string" - } - } - } - }, - "readOnly": { - "description": "Pack template parameter readonly flag, if true then the parameter value can't be overridden", - "type": "boolean" - }, - "regex": { - "description": "Pack template parameter regex, if set then parameter value must match with specified regex", - "type": "string" - }, - "targetKey": { - "description": "Pack template parameter target key which is mapped to the key defined in the pack values", - "type": "string" - }, - "type": { - "description": "Pack template parameter data type", - "type": "string" - }, - "value": { - "description": "Pack template parameter value", - "type": "string" - } - } - } + "type": { + "type": "string" + }, + "uid": { + "type": "string" } } }, - "values": { - "description": "Pack template values", + "type": { + "type": "string" + }, + "uid": { + "type": "string" + }, + "version": { "type": "string" } } - }, - "type": { - "type": "string", - "default": "spectro", - "enum": [ - "spectro", - "helm", - "manifest", - "oci" - ] - }, - "values": { - "description": "Pack values", - "type": "string" - }, - "version": { - "description": "Pack version", - "type": "string" } } - }, - "status": { - "description": "Pack status", - "type": "object" } } } - }, - "relatedObject": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", - "type": "string" - } - } - }, - "type": { - "description": "Cluster profile type [ \"cluster\", \"infra\", \"add-on\", \"system\" ]", - "type": "string" - }, - "version": { - "description": "Cluster profile version", - "type": "integer", - "format": "int32" } } - } - } - } - } - } - } - } - } - }, - "put": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Updates the specified cluster groups profiles", - "operationId": "v1ClusterGroupsUidProfilesUpdate", - "parameters": [ - { - "name": "body", - "in": "body", - "schema": { - "type": "object", - "required": [ - "profiles" - ], - "properties": { - "profiles": { - "type": "array", - "items": { - "description": "Cluster profile request payload", - "type": "object", - "properties": { - "packValues": { - "description": "Cluster profile packs array", - "type": "array", - "uniqueItems": true, - "items": { - "description": "Pack values entity to refer the existing pack for the values override", - "type": "object", - "required": [ - "name" - ], - "properties": { - "manifests": { - "description": "Pack manifests are additional content as part of the profile", - "type": "array", - "items": { - "description": "Manifest update request payload", - "required": [ - "name" - ], + }, + "status": { + "description": "Application deployment status summary", + "type": "object", + "properties": { + "cluster": { + "description": "Application deployment cluster status", + "properties": { + "health": { + "description": "Application deployment cluster health status", "properties": { - "content": { - "description": "Manifest content in yaml", - "type": "string" - }, - "name": { - "description": "Manifest name", - "type": "string" - }, - "uid": { - "description": "Manifest uid", + "state": { "type": "string" } } + }, + "state": { + "type": "string" + } + } + }, + "notifications": { + "description": "Application deployment notifications", + "properties": { + "isAvailable": { + "type": "boolean", + "x-omitempty": false } - }, - "name": { - "description": "Pack name", - "type": "string" - }, - "tag": { - "description": "Pack version tag", - "type": "string" - }, - "type": { - "type": "string", - "default": "spectro", - "enum": [ - "spectro", - "helm", - "manifest", - "oci" - ] - }, - "values": { - "description": "Pack values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", - "type": "string" } + }, + "state": { + "type": "string" } } - }, - "replaceWithProfile": { - "description": "Cluster profile uid to be replaced with new profile", - "type": "string" - }, - "uid": { - "description": "Cluster profile uid", - "type": "string" } } } }, - "spcApplySettings": { + "listmeta": { + "description": "ListMeta describes metadata for the resource listing", "type": "object", "properties": { - "actionType": { + "continue": { + "description": "Next token for the pagination. Next token is equal to empty string indicates end of result set.", "type": "string", - "enum": [ - "DownloadAndInstall", - "DownloadAndInstallLater" - ] + "x-omitempty": false + }, + "count": { + "description": "Total count of the resources which might change during pagination based on the resources addition or deletion", + "type": "integer", + "x-omitempty": false + }, + "limit": { + "description": "Number of records feteched", + "type": "integer", + "x-omitempty": false + }, + "offset": { + "description": "The next offset for the pagination. Starting index for which next request will be placed.", + "type": "integer", + "x-omitempty": false } } } } } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "204": { - "description": "The resource was updated successfully" } } - }, - "parameters": [ - { - "type": "string", - "description": "ClusterGroup uid", - "name": "uid", - "in": "path", - "required": true - } - ] + } }, - "/v1/clusterprofiles": { + "/v1/dashboard/appProfiles": { "post": { "security": [ { @@ -62348,283 +61275,144 @@ "tags": [ "v1" ], - "summary": "Creates a cluster profile", - "operationId": "v1ClusterProfilesCreate", + "summary": "Retrieves a list of application profiles filter summary Supported filter fields - [\"profileName\", \"tags\"] Supported sort fields - [\"profileName\", \"creationTimestamp\", \"lastModifiedTimestamp\"]", + "operationId": "v1DashboardAppProfiles", "parameters": [ + { + "maximum": 20, + "type": "integer", + "format": "int64", + "description": "limit is a maximum number of responses to return for a list call. Maximum value of the limit is 20.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "name": "limit", + "in": "query" + }, + { + "type": "integer", + "format": "int64", + "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", + "name": "offset", + "in": "query" + }, + { + "type": "string", + "description": "continue token to paginate the subsequent data items", + "name": "continue", + "in": "query" + }, { "name": "body", "in": "body", "schema": { - "description": "Cluster profile request payload", - "type": "object", + "description": "Application profile filter summary spec", "properties": { - "metadata": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", - "type": "object", + "filter": { + "description": "Application profile filter spec", "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "name": { - "description": "Name of the resource.", - "type": "string" - }, - "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", - "type": "string" - } - } - }, - "spec": { - "type": "object", - "properties": { - "template": { - "description": "Cluster profile template spec", + "profileName": { "type": "object", "properties": { - "cloudType": { - "type": "string" + "beginsWith": { + "type": "string", + "x-nullable": true }, - "packs": { - "description": "Cluster profile packs array", - "type": "array", - "uniqueItems": true, - "items": { - "description": "Pack request payload", - "type": "object", - "required": [ - "name" - ], - "properties": { - "layer": { - "description": "Pack layer", - "type": "string" - }, - "manifests": { - "description": "Pack manifests are additional content as part of the profile", - "type": "array", - "items": { - "description": "Manifest request payload", - "properties": { - "content": { - "description": "Manifest content", - "type": "string" - }, - "name": { - "description": "Manifest name", - "type": "string" - } - } - } - }, - "name": { - "description": "Pack name", - "type": "string" - }, - "registryUid": { - "description": "Pack registry uid", - "type": "string" - }, - "tag": { - "description": "Pack tag", - "type": "string" - }, - "type": { - "type": "string", - "default": "spectro", - "enum": [ - "spectro", - "helm", - "manifest", - "oci" - ] - }, - "uid": { - "description": "Pack uid", - "type": "string" - }, - "values": { - "description": "Pack values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", - "type": "string" - } - } - } + "contains": { + "type": "string", + "x-nullable": true }, - "type": { + "eq": { "type": "string", - "default": "cluster", - "enum": [ - "cluster", - "infra", - "add-on", - "system" - ] + "x-nullable": true + }, + "ignoreCase": { + "type": "boolean", + "default": true + }, + "ne": { + "type": "string", + "x-nullable": true } } }, - "variables": { - "description": "List of unique variable fields defined for a cluster profile with schema constraints", - "type": "array", - "uniqueItems": true, - "items": { - "description": "Unique variable field with schema definition", - "type": "object", - "required": [ - "name" - ], - "properties": { - "defaultValue": { - "description": "The default value of the variable", - "type": "string" - }, - "description": { - "description": "Variable description", - "type": "string" - }, - "displayName": { - "description": "Unique display name of the variable", + "tags": { + "type": "object", + "properties": { + "beginsWith": { + "type": "array", + "items": { "type": "string" }, - "format": { - "description": "Format type of the variable value", - "type": "string", - "default": "string", - "enum": [ - "string", - "number", - "boolean", - "ipv4", - "ipv4cidr", - "ipv6", - "version" - ] - }, - "hidden": { - "description": "If true, then variable will be hidden for overriding the value. By default the hidden flag will be set to false", - "type": "boolean", - "x-omitempty": false - }, - "immutable": { - "description": "If true, then variable value can't be editable. By default the immutable flag will be set to false", - "type": "boolean", - "x-omitempty": false - }, - "isSensitive": { - "description": "If true, then default value will be masked. By default the isSensitive flag will be set to false", - "type": "boolean", - "x-omitempty": false - }, - "name": { - "description": "Variable name", + "x-nullable": true + }, + "eq": { + "type": "array", + "items": { "type": "string" }, - "regex": { - "description": "Regular expression pattern which the variable value must match", + "x-nullable": true + }, + "ignoreCase": { + "type": "boolean", + "default": true + }, + "ne": { + "type": "array", + "items": { "type": "string" }, - "required": { - "description": "Flag to specify if the variable is optional or mandatory. If it is mandatory then default value must be provided", - "type": "boolean", - "x-omitempty": false - } + "x-nullable": true } } }, "version": { - "description": "Cluster profile version", - "type": "string" + "type": "object", + "properties": { + "beginsWith": { + "type": "string", + "x-nullable": true + }, + "eq": { + "type": "string", + "x-nullable": true + }, + "gt": { + "type": "string", + "x-nullable": true + }, + "lt": { + "type": "string", + "x-nullable": true + }, + "ne": { + "type": "string", + "x-nullable": true + } + } } } - } - } - } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "201": { - "description": "Created successfully", - "schema": { - "type": "object", - "required": [ - "uid" - ], - "properties": { - "uid": { - "type": "string" - } - } - }, - "headers": { - "AuditUid": { - "type": "string", - "description": "Audit uid for the request" - } - } - } - } - } - }, - "/v1/clusterprofiles/bulk": { - "delete": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Deletes list of cluster profiles", - "operationId": "v1ClusterProfilesBulkDelete", - "parameters": [ - { - "name": "body", - "in": "body", - "schema": { - "required": [ - "uids" - ], - "properties": { - "uids": { + }, + "sort": { "type": "array", "uniqueItems": true, "items": { - "type": "string" + "properties": { + "field": { + "type": "string", + "enum": [ + "profileName", + "creationTimestamp", + "lastModifiedTimestamp" + ], + "x-nullable": true + }, + "order": { + "type": "string", + "default": "asc", + "enum": [ + "asc", + "desc" + ] + } + } } } } @@ -62639,339 +61427,174 @@ ], "responses": { "200": { - "description": "OK", + "description": "An array of application profiles summary items", "schema": { + "type": "object", "properties": { - "deletedCount": { - "type": "integer", - "x-omitempty": false - }, - "failures": { + "appProfiles": { "type": "array", "uniqueItems": true, "items": { + "description": "Application profile summary", + "type": "object", "properties": { - "errMsg": { - "type": "string" - }, - "name": { - "type": "string" + "metadata": { + "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", + "type": "object", + "properties": { + "annotations": { + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "creationTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "deletionTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "labels": { + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "lastModifiedTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "name": { + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + }, + "uid": { + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", + "type": "string" + } + } }, - "uid": { - "type": "string" - } - } - }, - "x-omitempty": false - }, - "isSucceeded": { - "type": "boolean", - "x-omitempty": false - }, - "message": { - "type": "string", - "x-omitempty": false - } - } - } - } - } - } - }, - "/v1/clusterprofiles/import": { - "post": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Imports a cluster profile", - "operationId": "v1ClusterProfilesImport", - "parameters": [ - { - "type": "boolean", - "description": "If true then cluster profile will be published post successful import", - "name": "publish", - "in": "query" - }, - { - "name": "body", - "in": "body", - "schema": { - "description": "Cluster profile import request payload", - "type": "object", - "properties": { - "metadata": { - "description": "Cluster profile import metadata", - "type": "object", - "properties": { - "description": { - "description": "Cluster profile description", - "type": "string" - }, - "labels": { - "description": "Cluster profile labels", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "name": { - "description": "Cluster profile name", - "type": "string" - } - } - }, - "spec": { - "description": "Cluster profile import spec", - "type": "object", - "properties": { - "template": { - "description": "Cluster profile import template", - "type": "object", - "properties": { - "cloudType": { - "description": "Cluster profile cloud type", - "type": "string" - }, - "packs": { - "description": "Cluster profile packs array", - "type": "array", - "uniqueItems": true, - "items": { - "description": "Pack import request payload", + "spec": { + "description": "Application profile spec summary", + "type": "object", + "properties": { + "parentUid": { + "type": "string" + }, + "template": { + "description": "Application profile template summary", "type": "object", "properties": { - "layer": { - "description": "Pack layer [ \"os\", \"k8s\", \"cni\", \"csi\", \"addon\" ]", - "type": "string" - }, - "manifests": { - "description": "Pack manifests array", + "appTiers": { "type": "array", "items": { - "description": "Pack manifest import objct", - "type": "object", + "description": "Application profile's tier summary", "properties": { - "content": { - "description": "Pack manifest content in yaml", - "type": "string" - }, "name": { - "description": "Pack manifest name", "type": "string" - } - } - } - }, - "name": { - "description": "Pack name", - "type": "string" - }, - "registry": { - "description": "Pack registry import entity", - "type": "object", - "properties": { - "matchingRegistries": { - "type": "array", - "items": { - "description": "Pack registry metadata", - "type": "object", + }, + "source": { + "description": "Application profile's tier source information", "properties": { - "isPrivate": { - "description": "If true then pack registry is private and is not accessible for the pack sync", - "type": "boolean", - "x-omitempty": false + "addonSubType": { + "type": "string" }, - "kind": { - "description": "Pack registry kind [ \"pack\", \"helm\", \"oci\" ]", + "addonType": { + "type": "string" + }, + "logoUrl": { "type": "string" }, "name": { - "description": "Pack registry name", "type": "string" }, - "providerType": { - "description": "OCI registry provider type [ \"helm\", \"pack\", \"zarf\" ]", + "type": { "type": "string" }, "uid": { - "description": "Pack registry uid", "type": "string" } } - } - }, - "metadata": { - "description": "Pack registry metadata", - "type": "object", - "properties": { - "isPrivate": { - "description": "If true then pack registry is private and is not accessible for the pack sync", - "type": "boolean", - "x-omitempty": false - }, - "kind": { - "description": "Pack registry kind [ \"pack\", \"helm\", \"oci\" ]", - "type": "string" - }, - "name": { - "description": "Pack registry name", - "type": "string" - }, - "providerType": { - "description": "OCI registry provider type [ \"helm\", \"pack\", \"zarf\" ]", - "type": "string" - }, - "uid": { - "description": "Pack registry uid", - "type": "string" - } + }, + "type": { + "type": "string" + }, + "uid": { + "type": "string" + }, + "version": { + "type": "string" } } } - }, - "tag": { - "description": "Pack version tag", - "type": "string" - }, - "type": { - "description": "Pack type [ \"spectro\", \"helm\", \"manifest\", \"oci\" ]", - "type": "string" - }, - "values": { - "description": "Pack values are the customizable configurations for the pack", - "type": "string" - }, - "version": { - "description": "Pack version", - "type": "string" } } - } - }, - "type": { - "description": "Cluster profile type [ \"cluster\", \"infra\", \"add-on\", \"system\" ]", - "type": "string" - } - } - }, - "variables": { - "description": "List of unique variable fields defined for a cluster profile with schema constraints", - "type": "array", - "uniqueItems": true, - "items": { - "description": "Unique variable field with schema definition", - "type": "object", - "required": [ - "name" - ], - "properties": { - "defaultValue": { - "description": "The default value of the variable", - "type": "string" - }, - "description": { - "description": "Variable description", - "type": "string" - }, - "displayName": { - "description": "Unique display name of the variable", - "type": "string" - }, - "format": { - "description": "Format type of the variable value", - "type": "string", - "default": "string", - "enum": [ - "string", - "number", - "boolean", - "ipv4", - "ipv4cidr", - "ipv6", - "version" - ] - }, - "hidden": { - "description": "If true, then variable will be hidden for overriding the value. By default the hidden flag will be set to false", - "type": "boolean", - "x-omitempty": false - }, - "immutable": { - "description": "If true, then variable value can't be editable. By default the immutable flag will be set to false", - "type": "boolean", - "x-omitempty": false - }, - "isSensitive": { - "description": "If true, then default value will be masked. By default the isSensitive flag will be set to false", - "type": "boolean", - "x-omitempty": false - }, - "name": { - "description": "Variable name", - "type": "string" }, - "regex": { - "description": "Regular expression pattern which the variable value must match", + "version": { "type": "string" }, - "required": { - "description": "Flag to specify if the variable is optional or mandatory. If it is mandatory then default value must be provided", - "type": "boolean", - "x-omitempty": false + "versions": { + "description": "Application profile's list of all the versions", + "type": "array", + "items": { + "description": "Application profile version", + "type": "object", + "properties": { + "uid": { + "type": "string" + }, + "version": { + "type": "string" + } + } + } } } } + } + } + }, + "listmeta": { + "description": "ListMeta describes metadata for the resource listing", + "type": "object", + "properties": { + "continue": { + "description": "Next token for the pagination. Next token is equal to empty string indicates end of result set.", + "type": "string", + "x-omitempty": false }, - "version": { - "description": "Cluster profile version", - "type": "string" + "count": { + "description": "Total count of the resources which might change during pagination based on the resources addition or deletion", + "type": "integer", + "x-omitempty": false + }, + "limit": { + "description": "Number of records feteched", + "type": "integer", + "x-omitempty": false + }, + "offset": { + "description": "The next offset for the pagination. Starting index for which next request will be placed.", + "type": "integer", + "x-omitempty": false } } } } } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "201": { - "description": "Created successfully", - "schema": { - "type": "object", - "required": [ - "uid" - ], - "properties": { - "uid": { - "type": "string" - } - } - }, - "headers": { - "AuditUid": { - "type": "string", - "description": "Audit uid for the request" - } - } } } } }, - "/v1/clusterprofiles/import/file": { - "post": { + "/v1/dashboard/appProfiles/metadata": { + "get": { "security": [ { "ApiKey": [] @@ -62980,38 +61603,12 @@ "Authorization": [] } ], - "consumes": [ - "multipart/form-data" - ], "tags": [ "v1" ], - "summary": "Imports a cluster profile via file", - "operationId": "v1ClusterProfilesImportFile", + "summary": "Retrieves a list of application profile metadata", + "operationId": "v1DashboardAppProfilesMetadata", "parameters": [ - { - "type": "boolean", - "description": "If true then cluster profile will be published post successful import", - "name": "publish", - "in": "query" - }, - { - "type": "file", - "description": "Cluster profile import file", - "name": "importFile", - "in": "formData" - }, - { - "enum": [ - "yaml", - "json" - ], - "type": "string", - "default": "json", - "description": "Cluster profile import file format [\"yaml\", \"json\"]", - "name": "format", - "in": "query" - }, { "type": "string", "description": "Scope the request to the specified project uid", @@ -63020,30 +61617,47 @@ } ], "responses": { - "201": { - "description": "Created successfully", + "200": { + "description": "An array of application profile summary items", "schema": { "type": "object", - "required": [ - "uid" - ], "properties": { - "uid": { - "type": "string" + "appProfiles": { + "type": "array", + "uniqueItems": true, + "items": { + "description": "Application profile metadata summary", + "type": "object", + "properties": { + "metadata": { + "description": "Object identity meta", + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + } + }, + "spec": { + "properties": { + "version": { + "type": "string" + } + } + } + } + } } } - }, - "headers": { - "AuditUid": { - "type": "string", - "description": "Audit uid for the request" - } } } } } }, - "/v1/clusterprofiles/import/validate": { + "/v1/dashboard/appliances/metadata": { "post": { "security": [ { @@ -63056,242 +61670,80 @@ "tags": [ "v1" ], - "summary": "Validates cluster profile import", - "operationId": "v1ClusterProfilesImportValidate", + "summary": "Retrieves a list of edgehosts summary", + "operationId": "v1EdgeHostsMetadata", "parameters": [ { "name": "body", "in": "body", "schema": { - "description": "Cluster profile import request payload", - "type": "object", + "description": "Edge host metadata spec", "properties": { - "metadata": { - "description": "Cluster profile import metadata", - "type": "object", + "filter": { + "description": "Edge hosts metadata filter spec", "properties": { - "description": { - "description": "Cluster profile description", - "type": "string" - }, - "labels": { - "description": "Cluster profile labels", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, "name": { - "description": "Cluster profile name", - "type": "string" - } - } - }, - "spec": { - "description": "Cluster profile import spec", - "type": "object", - "properties": { - "template": { - "description": "Cluster profile import template", "type": "object", "properties": { - "cloudType": { - "description": "Cluster profile cloud type", - "type": "string" + "beginsWith": { + "type": "string", + "x-nullable": true }, - "packs": { - "description": "Cluster profile packs array", - "type": "array", - "uniqueItems": true, - "items": { - "description": "Pack import request payload", - "type": "object", - "properties": { - "layer": { - "description": "Pack layer [ \"os\", \"k8s\", \"cni\", \"csi\", \"addon\" ]", - "type": "string" - }, - "manifests": { - "description": "Pack manifests array", - "type": "array", - "items": { - "description": "Pack manifest import objct", - "type": "object", - "properties": { - "content": { - "description": "Pack manifest content in yaml", - "type": "string" - }, - "name": { - "description": "Pack manifest name", - "type": "string" - } - } - } - }, - "name": { - "description": "Pack name", - "type": "string" - }, - "registry": { - "description": "Pack registry import entity", - "type": "object", - "properties": { - "matchingRegistries": { - "type": "array", - "items": { - "description": "Pack registry metadata", - "type": "object", - "properties": { - "isPrivate": { - "description": "If true then pack registry is private and is not accessible for the pack sync", - "type": "boolean", - "x-omitempty": false - }, - "kind": { - "description": "Pack registry kind [ \"pack\", \"helm\", \"oci\" ]", - "type": "string" - }, - "name": { - "description": "Pack registry name", - "type": "string" - }, - "providerType": { - "description": "OCI registry provider type [ \"helm\", \"pack\", \"zarf\" ]", - "type": "string" - }, - "uid": { - "description": "Pack registry uid", - "type": "string" - } - } - } - }, - "metadata": { - "description": "Pack registry metadata", - "type": "object", - "properties": { - "isPrivate": { - "description": "If true then pack registry is private and is not accessible for the pack sync", - "type": "boolean", - "x-omitempty": false - }, - "kind": { - "description": "Pack registry kind [ \"pack\", \"helm\", \"oci\" ]", - "type": "string" - }, - "name": { - "description": "Pack registry name", - "type": "string" - }, - "providerType": { - "description": "OCI registry provider type [ \"helm\", \"pack\", \"zarf\" ]", - "type": "string" - }, - "uid": { - "description": "Pack registry uid", - "type": "string" - } - } - } - } - }, - "tag": { - "description": "Pack version tag", - "type": "string" - }, - "type": { - "description": "Pack type [ \"spectro\", \"helm\", \"manifest\", \"oci\" ]", - "type": "string" - }, - "values": { - "description": "Pack values are the customizable configurations for the pack", - "type": "string" - }, - "version": { - "description": "Pack version", - "type": "string" - } - } - } + "contains": { + "type": "string", + "x-nullable": true }, - "type": { - "description": "Cluster profile type [ \"cluster\", \"infra\", \"add-on\", \"system\" ]", - "type": "string" + "eq": { + "type": "string", + "x-nullable": true + }, + "ignoreCase": { + "type": "boolean", + "default": true + }, + "ne": { + "type": "string", + "x-nullable": true } } }, - "variables": { - "description": "List of unique variable fields defined for a cluster profile with schema constraints", + "states": { "type": "array", "uniqueItems": true, "items": { - "description": "Unique variable field with schema definition", - "type": "object", - "required": [ - "name" + "type": "string", + "enum": [ + "ready", + "unpaired", + "in-use" + ] + } + } + } + }, + "sort": { + "type": "array", + "uniqueItems": true, + "items": { + "properties": { + "field": { + "type": "string", + "enum": [ + "name", + "state", + "creationTimestamp", + "lastModifiedTimestamp" ], - "properties": { - "defaultValue": { - "description": "The default value of the variable", - "type": "string" - }, - "description": { - "description": "Variable description", - "type": "string" - }, - "displayName": { - "description": "Unique display name of the variable", - "type": "string" - }, - "format": { - "description": "Format type of the variable value", - "type": "string", - "default": "string", - "enum": [ - "string", - "number", - "boolean", - "ipv4", - "ipv4cidr", - "ipv6", - "version" - ] - }, - "hidden": { - "description": "If true, then variable will be hidden for overriding the value. By default the hidden flag will be set to false", - "type": "boolean", - "x-omitempty": false - }, - "immutable": { - "description": "If true, then variable value can't be editable. By default the immutable flag will be set to false", - "type": "boolean", - "x-omitempty": false - }, - "isSensitive": { - "description": "If true, then default value will be masked. By default the isSensitive flag will be set to false", - "type": "boolean", - "x-omitempty": false - }, - "name": { - "description": "Variable name", - "type": "string" - }, - "regex": { - "description": "Regular expression pattern which the variable value must match", - "type": "string" - }, - "required": { - "description": "Flag to specify if the variable is optional or mandatory. If it is mandatory then default value must be provided", - "type": "boolean", - "x-omitempty": false - } - } + "x-nullable": true + }, + "order": { + "type": "string", + "default": "asc", + "enum": [ + "asc", + "desc" + ] } - }, - "version": { - "description": "Cluster profile version", - "type": "string" } } } @@ -63307,237 +61759,358 @@ ], "responses": { "200": { - "description": "Cluster profile import validated response", + "description": "An array of edgehost summary items", "schema": { - "description": "Cluster profile import request payload", "type": "object", + "required": [ + "items" + ], "properties": { - "metadata": { - "description": "Cluster profile import metadata", - "type": "object", - "properties": { - "description": { - "description": "Cluster profile description", - "type": "string" - }, - "labels": { - "description": "Cluster profile labels", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "name": { - "description": "Cluster profile name", - "type": "string" - } - } - }, - "spec": { - "description": "Cluster profile import spec", - "type": "object", - "properties": { - "template": { - "description": "Cluster profile import template", - "type": "object", - "properties": { - "cloudType": { - "description": "Cluster profile cloud type", - "type": "string" - }, - "packs": { - "description": "Cluster profile packs array", - "type": "array", - "uniqueItems": true, - "items": { - "description": "Pack import request payload", + "items": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "object", + "properties": { + "metadata": { + "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", + "type": "object", + "properties": { + "annotations": { + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "creationTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "deletionTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "labels": { + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "lastModifiedTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "name": { + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + }, + "uid": { + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", + "type": "string" + } + } + }, + "spec": { + "type": "object", + "properties": { + "clusterProfileTemplates": { + "type": "array", + "items": { + "description": "Edge host clusterprofile template summary", + "type": "object", + "properties": { + "cloudType": { + "type": "string" + }, + "name": { + "type": "string" + }, + "packs": { + "type": "array", + "items": { + "description": "Pack ref summary", + "properties": { + "addonType": { + "type": "string" + }, + "annotations": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "displayName": { + "type": "string" + }, + "layer": { + "type": "string", + "enum": [ + "kernel", + "os", + "k8s", + "cni", + "csi", + "addon" + ] + }, + "logoUrl": { + "type": "string" + }, + "name": { + "type": "string" + }, + "packUid": { + "type": "string" + }, + "tag": { + "type": "string" + }, + "type": { + "type": "string" + }, + "version": { + "type": "string" + } + } + } + }, + "type": { + "type": "string" + }, + "uid": { + "type": "string" + }, + "version": { + "type": "string" + } + } + } + }, + "device": { + "description": "DeviceSpec defines the desired state of Device", "type": "object", "properties": { - "layer": { - "description": "Pack layer [ \"os\", \"k8s\", \"cni\", \"csi\", \"addon\" ]", - "type": "string" + "archType": { + "description": "Architecture type of the edge host", + "type": "string", + "default": "amd64", + "enum": [ + "arm64", + "amd64" + ] }, - "manifests": { - "description": "Pack manifests array", + "cpu": { + "type": "object", + "properties": { + "cores": { + "description": "number of cpu cores", + "type": "integer", + "format": "int32" + } + } + }, + "disks": { "type": "array", "items": { - "description": "Pack manifest import objct", "type": "object", "properties": { - "content": { - "description": "Pack manifest content in yaml", + "controller": { "type": "string" }, - "name": { - "description": "Pack manifest name", + "partitions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fileSystemType": { + "type": "string" + }, + "freeSpace": { + "type": "integer", + "format": "int32" + }, + "mountPoint": { + "type": "string" + }, + "totalSpace": { + "type": "integer", + "format": "int32" + }, + "usedSpace": { + "type": "integer", + "format": "int32" + } + } + } + }, + "size": { + "description": "Size in GB", + "type": "integer", + "format": "int32" + }, + "vendor": { "type": "string" } } } }, - "name": { - "description": "Pack name", - "type": "string" - }, - "registry": { - "description": "Pack registry import entity", - "type": "object", - "properties": { - "matchingRegistries": { - "type": "array", - "items": { - "description": "Pack registry metadata", + "gpus": { + "type": "array", + "items": { + "type": "object", + "properties": { + "addresses": { + "description": "Addresses is a map of PCI device entry name to its addresses.\nExample entry would be \"11:00.0 VGA compatible controller [0300]: NVIDIA\nCorporation Device [10de:1eb1] (rev a1)\"- \u003e 0000_11_00_0\" The address is\nBDF (Bus Device Function) identifier format seperated by underscores. The\nfirst 4 bits are almost always 0000. In the above example 11 is Bus, 00\nis Device,0 is function. The values of these addreses are expected in hexadecimal\nformat\n", "type": "object", - "properties": { - "isPrivate": { - "description": "If true then pack registry is private and is not accessible for the pack sync", - "type": "boolean", - "x-omitempty": false - }, - "kind": { - "description": "Pack registry kind [ \"pack\", \"helm\", \"oci\" ]", - "type": "string" - }, - "name": { - "description": "Pack registry name", - "type": "string" - }, - "providerType": { - "description": "OCI registry provider type [ \"helm\", \"pack\", \"zarf\" ]", - "type": "string" - }, - "uid": { - "description": "Pack registry uid", - "type": "string" - } + "additionalProperties": { + "type": "string" } + }, + "model": { + "description": "Model is the model of GPU, for a given vendor, for eg., TU104GL [Tesla T4]", + "type": "string" + }, + "vendor": { + "description": "Vendor is the GPU vendor, for eg., NVIDIA or AMD", + "type": "string" } - }, - "metadata": { - "description": "Pack registry metadata", - "type": "object", - "properties": { - "isPrivate": { - "description": "If true then pack registry is private and is not accessible for the pack sync", - "type": "boolean", - "x-omitempty": false - }, - "kind": { - "description": "Pack registry kind [ \"pack\", \"helm\", \"oci\" ]", - "type": "string" - }, - "name": { - "description": "Pack registry name", - "type": "string" - }, - "providerType": { - "description": "OCI registry provider type [ \"helm\", \"pack\", \"zarf\" ]", - "type": "string" - }, - "uid": { - "description": "Pack registry uid", + } + } + }, + "memory": { + "type": "object", + "properties": { + "sizeInMB": { + "description": "memory size in bytes", + "type": "integer", + "format": "int64" + } + } + }, + "nics": { + "type": "array", + "items": { + "type": "object", + "properties": { + "dns": { + "type": "array", + "items": { "type": "string" } + }, + "gateway": { + "type": "string" + }, + "ip": { + "type": "string" + }, + "isDefault": { + "type": "boolean" + }, + "macAddr": { + "type": "string" + }, + "nicName": { + "type": "string" + }, + "subnet": { + "type": "string" } } } }, - "tag": { - "description": "Pack version tag", + "os": { + "type": "object", + "properties": { + "family": { + "type": "string" + }, + "version": { + "type": "string" + } + } + } + } + }, + "host": { + "description": "Host specifications", + "properties": { + "hostAddress": { + "description": "HostAddress is a FQDN or IP address of the Host", "type": "string" }, - "type": { - "description": "Pack type [ \"spectro\", \"helm\", \"manifest\", \"oci\" ]", + "macAddress": { "type": "string" - }, - "values": { - "description": "Pack values are the customizable configurations for the pack", + } + } + }, + "projectMeta": { + "type": "object", + "properties": { + "name": { "type": "string" }, - "version": { - "description": "Pack version", + "uid": { "type": "string" } } + }, + "type": { + "type": "string" } - }, - "type": { - "description": "Cluster profile type [ \"cluster\", \"infra\", \"add-on\", \"system\" ]", - "type": "string" } - } - }, - "variables": { - "description": "List of unique variable fields defined for a cluster profile with schema constraints", - "type": "array", - "uniqueItems": true, - "items": { - "description": "Unique variable field with schema definition", + }, + "status": { "type": "object", - "required": [ - "name" - ], "properties": { - "defaultValue": { - "description": "The default value of the variable", - "type": "string" - }, - "description": { - "description": "Variable description", - "type": "string" + "health": { + "description": "EdgeHostHealth defines the desired health state of EdgeHostDevice", + "properties": { + "agentVersion": { + "type": "string" + }, + "message": { + "type": "string" + }, + "state": { + "type": "string", + "enum": [ + "healthy", + "unhealthy" + ] + } + } }, - "displayName": { - "description": "Unique display name of the variable", - "type": "string" + "inUseClusters": { + "type": "array", + "items": { + "description": "Object identity meta", + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + } + } }, - "format": { - "description": "Format type of the variable value", + "state": { "type": "string", - "default": "string", "enum": [ - "string", - "number", - "boolean", - "ipv4", - "ipv4cidr", - "ipv6", - "version" + "ready", + "unpaired", + "in-use" ] - }, - "hidden": { - "description": "If true, then variable will be hidden for overriding the value. By default the hidden flag will be set to false", - "type": "boolean", - "x-omitempty": false - }, - "immutable": { - "description": "If true, then variable value can't be editable. By default the immutable flag will be set to false", - "type": "boolean", - "x-omitempty": false - }, - "isSensitive": { - "description": "If true, then default value will be masked. By default the isSensitive flag will be set to false", - "type": "boolean", - "x-omitempty": false - }, - "name": { - "description": "Variable name", - "type": "string" - }, - "regex": { - "description": "Regular expression pattern which the variable value must match", - "type": "string" - }, - "required": { - "description": "Flag to specify if the variable is optional or mandatory. If it is mandatory then default value must be provided", - "type": "boolean", - "x-omitempty": false } } } - }, - "version": { - "description": "Cluster profile version", - "type": "string" } } } @@ -63547,7 +62120,7 @@ } } }, - "/v1/clusterprofiles/macros": { + "/v1/dashboard/cloudaccounts/metadata": { "get": { "security": [ { @@ -63560,9 +62133,14 @@ "tags": [ "v1" ], - "summary": "Retrieves a list of macros", - "operationId": "v1MacrosList", + "summary": "Retrieves a list of cloud accounts metadata", + "operationId": "v1DashboardCloudAccountsMetadata", "parameters": [ + { + "type": "string", + "name": "environment", + "in": "query" + }, { "type": "string", "description": "Scope the request to the specified project uid", @@ -63572,19 +62150,64 @@ ], "responses": { "200": { - "description": "OK", + "description": "An array of cloud accounts summary items", "schema": { + "type": "object", + "required": [ + "items" + ], "properties": { - "macros": { + "items": { "type": "array", "uniqueItems": true, "items": { + "description": "Cloud account metadata summary", "properties": { - "name": { + "kind": { "type": "string" }, - "value": { - "type": "string" + "metadata": { + "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", + "type": "object", + "properties": { + "annotations": { + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "creationTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "deletionTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "labels": { + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "lastModifiedTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "name": { + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + }, + "uid": { + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", + "type": "string" + } + } } } } @@ -63595,8 +62218,8 @@ } } }, - "/v1/clusterprofiles/validate/name": { - "get": { + "/v1/dashboard/clustergroups/{uid}/hostClusters": { + "post": { "security": [ { "ApiKey": [] @@ -63605,145 +62228,322 @@ "Authorization": [] } ], - "description": "Validates the cluster profile name and version", "tags": [ "v1" ], - "summary": "Validates the cluster profile metadata", - "operationId": "v1ClusterProfilesValidateNameVersion", + "summary": "Retrieves a list of cluster summary for a given cluster group", + "operationId": "v1ClusterGroupUidHostClustersSummary", "parameters": [ { "type": "string", - "description": "Cluster profile name", - "name": "name", + "name": "uid", + "in": "path", + "required": true + }, + { + "type": "integer", + "format": "int64", + "default": 50, + "description": "limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "name": "limit", "in": "query" }, { - "type": "string", - "description": "Cluster profile version", - "name": "version", + "type": "integer", + "format": "int64", + "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", + "name": "offset", "in": "query" }, { "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "204": { - "description": "Ok response without content", - "headers": { - "AuditUid": { - "type": "string", - "description": "Audit uid for the request" - } - } - } - } - } - }, - "/v1/clusterprofiles/validate/packs": { - "post": { - "security": [ - { - "ApiKey": [] + "description": "continue token to paginate the subsequent data items", + "name": "continue", + "in": "query" }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Validates cluster profile packs", - "operationId": "v1ClusterProfilesValidatePacks", - "parameters": [ { "name": "body", "in": "body", "schema": { - "description": "Cluster profile template spec", - "type": "object", + "description": "Spectro cluster search filter summary spec", "properties": { - "cloudType": { - "type": "string" + "filter": { + "properties": { + "conjunction": { + "type": "string", + "enum": [ + "and", + "or" + ], + "x-nullable": true + }, + "filterGroups": { + "type": "array", + "uniqueItems": true, + "items": { + "properties": { + "conjunction": { + "type": "string", + "enum": [ + "and", + "or" + ], + "x-nullable": true + }, + "filters": { + "type": "array", + "uniqueItems": true, + "items": { + "properties": { + "condition": { + "properties": { + "bool": { + "properties": { + "value": { + "type": "boolean" + } + } + }, + "date": { + "properties": { + "match": { + "properties": { + "conjunction": { + "type": "string", + "enum": [ + "and", + "or" + ], + "x-nullable": true + }, + "values": { + "type": "array", + "uniqueItems": true, + "items": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + } + } + } + }, + "negation": { + "type": "boolean" + }, + "operator": { + "type": "string", + "enum": [ + "eq", + "gt", + "gte", + "lt", + "lte", + "range" + ] + } + } + }, + "float": { + "properties": { + "match": { + "properties": { + "conjunction": { + "type": "string", + "enum": [ + "and", + "or" + ], + "x-nullable": true + }, + "values": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "number", + "format": "float64" + } + } + } + }, + "negation": { + "type": "boolean" + }, + "operator": { + "type": "string", + "enum": [ + "eq", + "gt", + "gte", + "lt", + "lte" + ] + } + } + }, + "int": { + "properties": { + "match": { + "properties": { + "conjunction": { + "type": "string", + "enum": [ + "and", + "or" + ], + "x-nullable": true + }, + "values": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "integer" + } + } + } + }, + "negation": { + "type": "boolean" + }, + "operator": { + "type": "string", + "enum": [ + "eq", + "gt", + "gte", + "lt", + "lte" + ] + } + } + }, + "keyValue": { + "properties": { + "ignoreCase": { + "type": "boolean" + }, + "key": { + "type": "string" + }, + "match": { + "properties": { + "conjunction": { + "type": "string", + "enum": [ + "and", + "or" + ], + "x-nullable": true + }, + "values": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + } + } + }, + "negation": { + "type": "boolean" + }, + "operator": { + "type": "string", + "enum": [ + "eq", + "contains", + "beginsWith" + ] + } + } + }, + "string": { + "properties": { + "ignoreCase": { + "type": "boolean" + }, + "match": { + "properties": { + "conjunction": { + "type": "string", + "enum": [ + "and", + "or" + ], + "x-nullable": true + }, + "values": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + } + } + }, + "negation": { + "type": "boolean" + }, + "operator": { + "type": "string", + "enum": [ + "eq", + "contains", + "beginsWith" + ] + } + } + } + } + }, + "property": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "string", + "int", + "float", + "bool", + "date", + "keyValue" + ] + } + } + } + } + } + } + } + } }, - "packs": { - "description": "Cluster profile packs array", + "sort": { "type": "array", "uniqueItems": true, "items": { - "description": "Pack request payload", - "type": "object", - "required": [ - "name" - ], "properties": { - "layer": { - "description": "Pack layer", - "type": "string" - }, - "manifests": { - "description": "Pack manifests are additional content as part of the profile", - "type": "array", - "items": { - "description": "Manifest request payload", - "properties": { - "content": { - "description": "Manifest content", - "type": "string" - }, - "name": { - "description": "Manifest name", - "type": "string" - } - } - } - }, - "name": { - "description": "Pack name", - "type": "string" - }, - "registryUid": { - "description": "Pack registry uid", - "type": "string" - }, - "tag": { - "description": "Pack tag", - "type": "string" + "field": { + "type": "string", + "enum": [ + "environment", + "clusterName", + "clusterState", + "healthState", + "creationTimestamp", + "lastModifiedTimestamp" + ], + "x-nullable": true }, - "type": { + "order": { "type": "string", - "default": "spectro", + "default": "asc", "enum": [ - "spectro", - "helm", - "manifest", - "oci" + "asc", + "desc" ] - }, - "uid": { - "description": "Pack uid", - "type": "string" - }, - "values": { - "description": "Pack values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", - "type": "string" } } } - }, - "type": { - "type": "string", - "default": "cluster", - "enum": [ - "cluster", - "infra", - "add-on", - "system" - ] } } } @@ -63757,914 +62557,1277 @@ ], "responses": { "200": { - "description": "Cluster profile packs validation response", + "description": "An array of cluster summary items", "schema": { - "description": "Cluster profile validator response", "type": "object", + "required": [ + "items" + ], "properties": { - "packs": { - "description": "Constraint validator response", - "type": "object", - "properties": { - "results": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Constraint validator result", + "items": { + "type": "array", + "uniqueItems": true, + "items": { + "description": "Spectro cluster summary", + "type": "object", + "properties": { + "metadata": { + "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", "type": "object", "properties": { - "displayName": { - "type": "string" + "annotations": { + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", + "type": "object", + "additionalProperties": { + "type": "string" + } }, - "errors": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "object", - "properties": { - "code": { - "type": "string" - }, - "message": { - "type": "string" - } - } + "creationTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "deletionTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "labels": { + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", + "type": "object", + "additionalProperties": { + "type": "string" } }, + "lastModifiedTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, "name": { + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + }, + "uid": { + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } - } - } - } - } - } - } - } - } - } - }, - "/v1/clusterprofiles/{uid}": { - "get": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Returns a specified cluster profile", - "operationId": "v1ClusterProfilesGet", - "parameters": [ - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "description": "ClusterProfile is the Schema for the clusterprofiles API", - "type": "object", - "properties": { - "apiVersion": { - "description": "Deprecated. Not used for the resource info. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - "type": "string" - }, - "kind": { - "description": "Cloud type of the cloud config", - "type": "string" - }, - "metadata": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", - "type": "object", - "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "name": { - "description": "Name of the resource.", - "type": "string" - }, - "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", - "type": "string" - } - } - }, - "spec": { - "description": "ClusterProfileTemplate can be in draft mode, or published mode User only see the latest published template, and (or) the draft template User can apply either the draft version or the latest published version to a cluster when user create a draft version, just copy the Published template, increment the version, and keep changing the draft template without increment the draft version when user publish a draft, the version is fixed, and won't be able to make any modification on published template For each clusterprofile that has a published version, there will be a ClusterProfileArchive automatically created when user publish a draft, the published version will also be copied over to the corresponding ClusterProfileArchive it is just in case in the future for whatever reason we may want to expose earlier versions", - "type": "object", - "properties": { - "draft": { - "description": "ClusterProfileTemplate contains details of a clusterprofile definition", - "type": "object", - "properties": { - "cloudType": { - "type": "string" - }, - "name": { - "type": "string" - }, - "packServerRefs": { - "description": "PackServerRefs is only used on Hubble side it is reference to pack registry servers which PackRef belongs to in hubble, pack server is a top level object, so use a reference to point to it packs within a clusterprofile can come from different pack servers, so this is an array", - "type": "array", - "items": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", + }, + "specSummary": { + "description": "Spectro cluster spec summary", + "type": "object", + "properties": { + "archTypes": { + "description": "Architecture type of the cluster", + "type": "array", + "items": { + "type": "string", + "default": "amd64", + "enum": [ + "amd64", + "arm64" + ] + } + }, + "cloudAccountMeta": { + "description": "Cloud account meta information", "type": "object", "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, "name": { - "description": "Name of the referent.", "type": "string" }, "uid": { - "description": "UID of the referent.", "type": "string" } } - } - }, - "packServerSecret": { - "description": "This secret is used only on Palette side use case is similar to k8s image pull secret this single secret internally should contains all the pack servers in PackServerRefs if empty, means no credential is needed to access the pack server For spectro saas, Ally will set this field before pass to palette", - "type": "string" - }, - "packs": { - "description": "Packs definitions here are final definitions. If ClonedFrom and ParamsOverwrite is present, then Packs are the final merge result of ClonedFrom and ParamsOverwrite So orchestration engine will just take the Packs and do the work, no need to worry about parameters merge", - "type": "array", - "items": { - "description": "PackRef server/name:tag to point to a pack PackRef is used when construct a ClusterProfile PackSpec is used for UI to render the parameters form ClusterProfile will not know inner details of a pack ClusterProfile only contain pack name:tag, and the param values user entered for it", + }, + "cloudConfig": { "type": "object", - "required": [ - "layer", - "name" - ], "properties": { - "annotations": { - "description": "Annotations is used to allow packref to add more arbitrary information one example is to add git reference for values.yaml", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "digest": { - "description": "digest is used to specify the version should be installed by palette when pack upgrade available, change this digest to trigger upgrade", - "type": "string" - }, - "inValidReason": { - "type": "string" - }, - "isInvalid": { - "description": "pack is invalid when the associated tag is deleted from the registry", - "type": "boolean" - }, - "layer": { - "type": "string", - "enum": [ - "kernel", - "os", - "k8s", - "cni", - "csi", - "addon" - ] - }, - "logo": { - "description": "path to the pack logo", + "cloudType": { "type": "string" }, - "manifests": { + "machinePools": { + "description": "Machine pool meta information", "type": "array", "items": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", "type": "object", "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", + "cloudType": { "type": "string" - } - } - } - }, - "name": { - "description": "pack name", - "type": "string" - }, - "packUid": { - "description": "PackUID is Hubble packUID, not palette Pack.UID It is used by Hubble only.", - "type": "string" - }, - "params": { - "description": "params passed as env variables to be consumed at installation time", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "presets": { - "type": "array", - "items": { - "description": "PackPreset defines the preset pack values", - "type": "object", - "properties": { - "add": { - "type": "string", - "x-omitempty": false }, - "displayName": { - "type": "string", + "healthy": { + "description": "number of healthy machines", + "type": "integer", + "format": "int32", "x-omitempty": false }, - "group": { - "type": "string", - "x-omitempty": false + "infraProfileTemplate": { + "description": "Cluster profile template meta information", + "type": "object", + "properties": { + "cloudType": { + "type": "string" + }, + "name": { + "description": "Cluster profile name", + "type": "string" + }, + "packs": { + "description": "Cluster profile packs array", + "type": "array", + "items": { + "description": "PackRef server/name:tag to point to a pack PackRef is used when construct a ClusterProfile PackSpec is used for UI to render the parameters form ClusterProfile will not know inner details of a pack ClusterProfile only contain pack name:tag, and the param values user entered for it", + "type": "object", + "required": [ + "layer", + "name" + ], + "properties": { + "annotations": { + "description": "Annotations is used to allow packref to add more arbitrary information one example is to add git reference for values.yaml", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "digest": { + "description": "digest is used to specify the version should be installed by palette when pack upgrade available, change this digest to trigger upgrade", + "type": "string" + }, + "inValidReason": { + "type": "string" + }, + "isInvalid": { + "description": "pack is invalid when the associated tag is deleted from the registry", + "type": "boolean" + }, + "layer": { + "type": "string", + "enum": [ + "kernel", + "os", + "k8s", + "cni", + "csi", + "addon" + ] + }, + "logo": { + "description": "path to the pack logo", + "type": "string" + }, + "manifests": { + "type": "array", + "items": { + "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", + "type": "object", + "properties": { + "kind": { + "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "uid": { + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", + "type": "string" + } + } + } + }, + "name": { + "description": "pack name", + "type": "string" + }, + "packUid": { + "description": "PackUID is Hubble packUID, not palette Pack.UID It is used by Hubble only.", + "type": "string" + }, + "params": { + "description": "params passed as env variables to be consumed at installation time", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "presets": { + "type": "array", + "items": { + "description": "PackPreset defines the preset pack values", + "type": "object", + "properties": { + "add": { + "type": "string", + "x-omitempty": false + }, + "displayName": { + "type": "string", + "x-omitempty": false + }, + "group": { + "type": "string", + "x-omitempty": false + }, + "name": { + "type": "string", + "x-omitempty": false + }, + "remove": { + "type": "array", + "items": { + "type": "string" + }, + "x-omitempty": false + } + } + } + }, + "registryUid": { + "description": "pack registry uid", + "type": "string" + }, + "schema": { + "type": "array", + "items": { + "description": "PackSchema defines the schema definition, hints for the pack values", + "type": "object", + "properties": { + "format": { + "type": "string", + "x-omitempty": false + }, + "hints": { + "type": "array", + "items": { + "type": "string" + }, + "x-omitempty": false + }, + "listOptions": { + "type": "array", + "items": { + "type": "string" + }, + "x-omitempty": false + }, + "name": { + "type": "string", + "x-omitempty": false + }, + "readonly": { + "type": "boolean", + "x-omitempty": false + }, + "regex": { + "type": "string", + "x-omitempty": false + }, + "required": { + "type": "boolean", + "x-omitempty": false + }, + "type": { + "type": "string", + "x-omitempty": false + } + } + } + }, + "server": { + "description": "pack registry server or helm repo", + "type": "string" + }, + "tag": { + "description": "pack tag", + "type": "string" + }, + "type": { + "description": "type of the pack", + "type": "string", + "enum": [ + "spectro", + "helm", + "manifest" + ] + }, + "values": { + "description": "values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", + "type": "string" + }, + "version": { + "description": "pack version", + "type": "string" + } + } + } + }, + "scope": { + "description": "scope or context(system, tenant or project)", + "type": "string" + }, + "type": { + "description": "Cluster profile type [ \"cluster\", \"infra\", \"add-on\", \"system\" ]", + "type": "string" + }, + "uid": { + "description": "Cluster profile uid", + "type": "string" + }, + "version": { + "type": "integer", + "format": "int32" + } + } }, - "name": { - "type": "string", + "isControlPlane": { + "description": "whether this pool is for control plane", + "type": "boolean", "x-omitempty": false }, - "remove": { + "labels": { + "description": "labels for this pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" - }, + } + }, + "maintenanceMode": { + "description": "number of machines under maintenance", + "type": "integer", + "format": "int32", + "x-omitempty": false + }, + "size": { + "description": "size of the pool, number of machines", + "type": "integer", + "format": "int32", "x-omitempty": false } } } }, - "registryUid": { - "description": "pack registry uid", + "uid": { + "description": "Cluster's cloud config uid", "type": "string" - }, - "schema": { - "type": "array", - "items": { - "description": "PackSchema defines the schema definition, hints for the pack values", - "type": "object", - "properties": { - "format": { - "type": "string", - "x-omitempty": false - }, - "hints": { - "type": "array", - "items": { + } + } + }, + "clusterConfig": { + "type": "object", + "properties": { + "hostClusterConfig": { + "properties": { + "clusterGroup": { + "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", + "type": "object", + "properties": { + "kind": { + "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", "type": "string" }, - "x-omitempty": false - }, - "listOptions": { - "type": "array", - "items": { + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, - "x-omitempty": false - }, - "name": { - "type": "string", - "x-omitempty": false - }, - "readonly": { - "type": "boolean", - "x-omitempty": false - }, - "regex": { - "type": "string", - "x-omitempty": false - }, - "required": { - "type": "boolean", - "x-omitempty": false - }, - "type": { - "type": "string", - "x-omitempty": false + "uid": { + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", + "type": "string" + } } } } - }, - "server": { - "description": "pack registry server or helm repo", - "type": "string" - }, - "tag": { - "description": "pack tag", - "type": "string" - }, - "type": { - "description": "type of the pack", - "type": "string", - "enum": [ - "spectro", - "helm", - "manifest" - ] - }, - "values": { - "description": "values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", - "type": "string" - }, - "version": { - "description": "pack version", - "type": "string" } } - } - }, - "profileVersion": { - "description": "version start from 1.0.0, matching the index of ClusterProfileSpec.Versions[] will be used by clusterSpec to identify which version is applied to the cluster", - "type": "string" - }, - "relatedObject": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", - "type": "string" - } - } - }, - "type": { - "type": "string" - }, - "uid": { - "type": "string" - }, - "version": { - "description": "Deprecated. Use profileVersion", - "type": "integer", - "format": "int32" - } - } - }, - "published": { - "description": "ClusterProfileTemplate contains details of a clusterprofile definition", - "type": "object", - "properties": { - "cloudType": { - "type": "string" - }, - "name": { - "type": "string" - }, - "packServerRefs": { - "description": "PackServerRefs is only used on Hubble side it is reference to pack registry servers which PackRef belongs to in hubble, pack server is a top level object, so use a reference to point to it packs within a clusterprofile can come from different pack servers, so this is an array", - "type": "array", - "items": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", + }, + "clusterProfileTemplate": { + "description": "Cluster profile template meta information", "type": "object", "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "cloudType": { "type": "string" }, "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", - "type": "string" - } - } - } - }, - "packServerSecret": { - "description": "This secret is used only on Palette side use case is similar to k8s image pull secret this single secret internally should contains all the pack servers in PackServerRefs if empty, means no credential is needed to access the pack server For spectro saas, Ally will set this field before pass to palette", - "type": "string" - }, - "packs": { - "description": "Packs definitions here are final definitions. If ClonedFrom and ParamsOverwrite is present, then Packs are the final merge result of ClonedFrom and ParamsOverwrite So orchestration engine will just take the Packs and do the work, no need to worry about parameters merge", - "type": "array", - "items": { - "description": "PackRef server/name:tag to point to a pack PackRef is used when construct a ClusterProfile PackSpec is used for UI to render the parameters form ClusterProfile will not know inner details of a pack ClusterProfile only contain pack name:tag, and the param values user entered for it", - "type": "object", - "required": [ - "layer", - "name" - ], - "properties": { - "annotations": { - "description": "Annotations is used to allow packref to add more arbitrary information one example is to add git reference for values.yaml", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "digest": { - "description": "digest is used to specify the version should be installed by palette when pack upgrade available, change this digest to trigger upgrade", - "type": "string" - }, - "inValidReason": { - "type": "string" - }, - "isInvalid": { - "description": "pack is invalid when the associated tag is deleted from the registry", - "type": "boolean" - }, - "layer": { - "type": "string", - "enum": [ - "kernel", - "os", - "k8s", - "cni", - "csi", - "addon" - ] - }, - "logo": { - "description": "path to the pack logo", + "description": "Cluster profile name", "type": "string" }, - "manifests": { + "packs": { + "description": "Cluster profile packs array", "type": "array", "items": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", + "description": "PackRef server/name:tag to point to a pack PackRef is used when construct a ClusterProfile PackSpec is used for UI to render the parameters form ClusterProfile will not know inner details of a pack ClusterProfile only contain pack name:tag, and the param values user entered for it", "type": "object", + "required": [ + "layer", + "name" + ], "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" + "annotations": { + "description": "Annotations is used to allow packref to add more arbitrary information one example is to add git reference for values.yaml", + "type": "object", + "additionalProperties": { + "type": "string" + } }, - "name": { - "description": "Name of the referent.", + "digest": { + "description": "digest is used to specify the version should be installed by palette when pack upgrade available, change this digest to trigger upgrade", "type": "string" }, - "uid": { - "description": "UID of the referent.", + "inValidReason": { "type": "string" - } - } - } - }, - "name": { - "description": "pack name", - "type": "string" - }, - "packUid": { - "description": "PackUID is Hubble packUID, not palette Pack.UID It is used by Hubble only.", - "type": "string" - }, - "params": { - "description": "params passed as env variables to be consumed at installation time", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "presets": { - "type": "array", - "items": { - "description": "PackPreset defines the preset pack values", - "type": "object", - "properties": { - "add": { - "type": "string", - "x-omitempty": false }, - "displayName": { - "type": "string", - "x-omitempty": false + "isInvalid": { + "description": "pack is invalid when the associated tag is deleted from the registry", + "type": "boolean" }, - "group": { + "layer": { "type": "string", - "x-omitempty": false + "enum": [ + "kernel", + "os", + "k8s", + "cni", + "csi", + "addon" + ] }, - "name": { - "type": "string", - "x-omitempty": false + "logo": { + "description": "path to the pack logo", + "type": "string" }, - "remove": { + "manifests": { "type": "array", "items": { + "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", + "type": "object", + "properties": { + "kind": { + "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "uid": { + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", + "type": "string" + } + } + } + }, + "name": { + "description": "pack name", + "type": "string" + }, + "packUid": { + "description": "PackUID is Hubble packUID, not palette Pack.UID It is used by Hubble only.", + "type": "string" + }, + "params": { + "description": "params passed as env variables to be consumed at installation time", + "type": "object", + "additionalProperties": { "type": "string" - }, - "x-omitempty": false - } - } - } - }, - "registryUid": { - "description": "pack registry uid", - "type": "string" - }, - "schema": { - "type": "array", - "items": { - "description": "PackSchema defines the schema definition, hints for the pack values", - "type": "object", - "properties": { - "format": { - "type": "string", - "x-omitempty": false + } }, - "hints": { + "presets": { "type": "array", "items": { - "type": "string" - }, - "x-omitempty": false + "description": "PackPreset defines the preset pack values", + "type": "object", + "properties": { + "add": { + "type": "string", + "x-omitempty": false + }, + "displayName": { + "type": "string", + "x-omitempty": false + }, + "group": { + "type": "string", + "x-omitempty": false + }, + "name": { + "type": "string", + "x-omitempty": false + }, + "remove": { + "type": "array", + "items": { + "type": "string" + }, + "x-omitempty": false + } + } + } }, - "listOptions": { + "registryUid": { + "description": "pack registry uid", + "type": "string" + }, + "schema": { "type": "array", "items": { - "type": "string" - }, - "x-omitempty": false + "description": "PackSchema defines the schema definition, hints for the pack values", + "type": "object", + "properties": { + "format": { + "type": "string", + "x-omitempty": false + }, + "hints": { + "type": "array", + "items": { + "type": "string" + }, + "x-omitempty": false + }, + "listOptions": { + "type": "array", + "items": { + "type": "string" + }, + "x-omitempty": false + }, + "name": { + "type": "string", + "x-omitempty": false + }, + "readonly": { + "type": "boolean", + "x-omitempty": false + }, + "regex": { + "type": "string", + "x-omitempty": false + }, + "required": { + "type": "boolean", + "x-omitempty": false + }, + "type": { + "type": "string", + "x-omitempty": false + } + } + } }, - "name": { - "type": "string", - "x-omitempty": false + "server": { + "description": "pack registry server or helm repo", + "type": "string" }, - "readonly": { - "type": "boolean", - "x-omitempty": false + "tag": { + "description": "pack tag", + "type": "string" }, - "regex": { + "type": { + "description": "type of the pack", "type": "string", - "x-omitempty": false + "enum": [ + "spectro", + "helm", + "manifest" + ] }, - "required": { - "type": "boolean", - "x-omitempty": false + "values": { + "description": "values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", + "type": "string" }, - "type": { - "type": "string", - "x-omitempty": false + "version": { + "description": "pack version", + "type": "string" } } } }, - "server": { - "description": "pack registry server or helm repo", - "type": "string" - }, - "tag": { - "description": "pack tag", + "scope": { + "description": "scope or context(system, tenant or project)", "type": "string" }, "type": { - "description": "type of the pack", - "type": "string", - "enum": [ - "spectro", - "helm", - "manifest" - ] + "description": "Cluster profile type [ \"cluster\", \"infra\", \"add-on\", \"system\" ]", + "type": "string" }, - "values": { - "description": "values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", + "uid": { + "description": "Cluster profile uid", "type": "string" }, "version": { - "description": "pack version", - "type": "string" + "type": "integer", + "format": "int32" } } - } - }, - "profileVersion": { - "description": "version start from 1.0.0, matching the index of ClusterProfileSpec.Versions[] will be used by clusterSpec to identify which version is applied to the cluster", - "type": "string" - }, - "relatedObject": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", - "type": "string" - } - } - }, - "type": { - "type": "string" - }, - "uid": { - "type": "string" - }, - "version": { - "description": "Deprecated. Use profileVersion", - "type": "integer", - "format": "int32" - } - } - }, - "version": { - "type": "string" - }, - "versions": { - "description": "Cluster profile's list of all the versions", - "type": "array", - "items": { - "description": "Cluster profile with version", - "properties": { - "uid": { - "type": "string" }, - "version": { - "type": "string" - } - } - } - } - } - }, - "status": { - "description": "ClusterProfileStatus defines the observed state of ClusterProfile", - "type": "object", - "properties": { - "hasUserMacros": { - "description": "If it is true then profile pack values has a reference to user defined macros", - "type": "boolean", - "x-omitempty": false - }, - "inUseClusterUids": { - "description": "Deprecated. Use inUseClusters", - "type": "array", - "items": { - "type": "string" - } - }, - "inUseClusters": { - "type": "array", - "items": { - "description": "Object resource reference", - "type": "object", - "properties": { - "kind": { - "type": "string" - }, - "name": { - "type": "string" - }, - "projectUid": { - "type": "string" - }, - "tenantUid": { - "type": "string" + "clusterProfileTemplates": { + "type": "array", + "items": { + "description": "Cluster profile template meta information", + "type": "object", + "properties": { + "cloudType": { + "type": "string" + }, + "name": { + "description": "Cluster profile name", + "type": "string" + }, + "packs": { + "description": "Cluster profile packs array", + "type": "array", + "items": { + "description": "PackRef server/name:tag to point to a pack PackRef is used when construct a ClusterProfile PackSpec is used for UI to render the parameters form ClusterProfile will not know inner details of a pack ClusterProfile only contain pack name:tag, and the param values user entered for it", + "type": "object", + "required": [ + "layer", + "name" + ], + "properties": { + "annotations": { + "description": "Annotations is used to allow packref to add more arbitrary information one example is to add git reference for values.yaml", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "digest": { + "description": "digest is used to specify the version should be installed by palette when pack upgrade available, change this digest to trigger upgrade", + "type": "string" + }, + "inValidReason": { + "type": "string" + }, + "isInvalid": { + "description": "pack is invalid when the associated tag is deleted from the registry", + "type": "boolean" + }, + "layer": { + "type": "string", + "enum": [ + "kernel", + "os", + "k8s", + "cni", + "csi", + "addon" + ] + }, + "logo": { + "description": "path to the pack logo", + "type": "string" + }, + "manifests": { + "type": "array", + "items": { + "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", + "type": "object", + "properties": { + "kind": { + "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "uid": { + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", + "type": "string" + } + } + } + }, + "name": { + "description": "pack name", + "type": "string" + }, + "packUid": { + "description": "PackUID is Hubble packUID, not palette Pack.UID It is used by Hubble only.", + "type": "string" + }, + "params": { + "description": "params passed as env variables to be consumed at installation time", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "presets": { + "type": "array", + "items": { + "description": "PackPreset defines the preset pack values", + "type": "object", + "properties": { + "add": { + "type": "string", + "x-omitempty": false + }, + "displayName": { + "type": "string", + "x-omitempty": false + }, + "group": { + "type": "string", + "x-omitempty": false + }, + "name": { + "type": "string", + "x-omitempty": false + }, + "remove": { + "type": "array", + "items": { + "type": "string" + }, + "x-omitempty": false + } + } + } + }, + "registryUid": { + "description": "pack registry uid", + "type": "string" + }, + "schema": { + "type": "array", + "items": { + "description": "PackSchema defines the schema definition, hints for the pack values", + "type": "object", + "properties": { + "format": { + "type": "string", + "x-omitempty": false + }, + "hints": { + "type": "array", + "items": { + "type": "string" + }, + "x-omitempty": false + }, + "listOptions": { + "type": "array", + "items": { + "type": "string" + }, + "x-omitempty": false + }, + "name": { + "type": "string", + "x-omitempty": false + }, + "readonly": { + "type": "boolean", + "x-omitempty": false + }, + "regex": { + "type": "string", + "x-omitempty": false + }, + "required": { + "type": "boolean", + "x-omitempty": false + }, + "type": { + "type": "string", + "x-omitempty": false + } + } + } + }, + "server": { + "description": "pack registry server or helm repo", + "type": "string" + }, + "tag": { + "description": "pack tag", + "type": "string" + }, + "type": { + "description": "type of the pack", + "type": "string", + "enum": [ + "spectro", + "helm", + "manifest" + ] + }, + "values": { + "description": "values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", + "type": "string" + }, + "version": { + "description": "pack version", + "type": "string" + } + } + } + }, + "scope": { + "description": "scope or context(system, tenant or project)", + "type": "string" + }, + "type": { + "description": "Cluster profile type [ \"cluster\", \"infra\", \"add-on\", \"system\" ]", + "type": "string" + }, + "uid": { + "description": "Cluster profile uid", + "type": "string" + }, + "version": { + "type": "integer", + "format": "int32" + } + } + } }, - "uid": { - "type": "string" + "projectMeta": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + } } } - } - }, - "isPublished": { - "type": "boolean", - "x-omitempty": false - } - } - } - } - } - } - } - }, - "put": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Updates the specified cluster profile", - "operationId": "v1ClusterProfilesUpdate", - "parameters": [ - { - "name": "body", - "in": "body", - "schema": { - "description": "Cluster profile update request payload", - "type": "object", - "properties": { - "metadata": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", - "type": "object", - "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "name": { - "description": "Name of the resource.", - "type": "string" - }, - "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", - "type": "string" - } - } - }, - "spec": { - "description": "Cluster profile update spec", - "type": "object", - "properties": { - "template": { - "description": "Cluster profile template update spec", - "type": "object", - "properties": { - "packs": { - "description": "Cluster profile packs array", - "type": "array", - "uniqueItems": true, - "items": { - "description": "Pack input entity with values to overwrite and manifests for the intial creation", + }, + "status": { + "description": "Spectro cluster status summary", + "properties": { + "clusterImport": { "type": "object", - "required": [ - "name" - ], "properties": { - "layer": { - "description": "Pack layer", + "importLink": { + "description": "import link to download and install ally-lite, palette-lite", "type": "string" }, - "manifests": { - "description": "Pack manifests are additional content as part of the profile", + "isBrownfield": { + "description": "Deprecated. Use the 'spec.clusterType'", + "type": "boolean", + "x-omitempty": false + }, + "state": { + "description": "cluster import status", + "type": "string" + } + } + }, + "cost": { + "description": "Resource Cost information", + "type": "object", + "properties": { + "cloud": { + "description": "Cloud cost information", + "type": "object", + "properties": { + "compute": { + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "storage": { + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "total": { + "type": "number", + "format": "float64", + "x-omitempty": false + } + } + }, + "total": { + "type": "number", + "format": "float64", + "x-omitempty": false + } + } + }, + "fips": { + "properties": { + "mode": { + "type": "string", + "default": "none", + "enum": [ + "full", + "none", + "partial", + "unknown" + ] + } + } + }, + "health": { + "description": "Spectro cluster health status", + "properties": { + "agentVersion": { + "type": "string" + }, + "conditions": { "type": "array", + "uniqueItems": true, "items": { - "description": "Manifest update request payload", - "required": [ - "name" - ], + "description": "Spectro cluster health condition", "properties": { - "content": { - "description": "Manifest content in yaml", + "message": { "type": "string" }, - "name": { - "description": "Manifest name", - "type": "string" + "relatedObject": { + "description": "Object for which the resource is related", + "type": "object", + "properties": { + "kind": { + "type": "string", + "enum": [ + "spectrocluster", + "machine", + "cloudconfig", + "clusterprofile", + "pack", + "appprofile", + "appdeployment", + "edgehost" + ] + }, + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + } }, - "uid": { - "description": "Manifest uid", + "type": { "type": "string" } } } }, - "name": { - "description": "Pack name", + "lastHeartBeatTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "state": { "type": "string" + } + } + }, + "hourlyRate": { + "description": "Resource Cost information", + "type": "object", + "properties": { + "cloud": { + "description": "Cloud cost information", + "type": "object", + "properties": { + "compute": { + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "storage": { + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "total": { + "type": "number", + "format": "float64", + "x-omitempty": false + } + } }, - "registryUid": { - "description": "Pack registry uid", + "total": { + "type": "number", + "format": "float64", + "x-omitempty": false + } + } + }, + "location": { + "description": "Cluster location information", + "type": "object", + "properties": { + "coordinates": { + "type": "array", + "items": { + "type": "number", + "format": "float64" + } + }, + "countryCode": { "type": "string" }, - "tag": { - "description": "Pack tag", + "countryName": { "type": "string" }, - "type": { + "regionCode": { + "type": "string" + }, + "regionName": { + "type": "string" + } + } + }, + "metrics": { + "description": "Spectro cluster metrics", + "properties": { + "cpu": { + "description": "Compute metrics", + "type": "object", + "properties": { + "lastUpdatedTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "limit": { + "type": "number", + "x-omitempty": false + }, + "request": { + "type": "number", + "x-omitempty": false + }, + "total": { + "type": "number", + "x-omitempty": false + }, + "unit": { + "type": "string" + }, + "usage": { + "type": "number", + "x-omitempty": false + } + } + }, + "memory": { + "description": "Compute metrics", + "type": "object", + "properties": { + "lastUpdatedTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "limit": { + "type": "number", + "x-omitempty": false + }, + "request": { + "type": "number", + "x-omitempty": false + }, + "total": { + "type": "number", + "x-omitempty": false + }, + "unit": { + "type": "string" + }, + "usage": { + "type": "number", + "x-omitempty": false + } + } + } + } + }, + "notifications": { + "description": "Cluster notifications status", + "properties": { + "isAvailable": { + "type": "boolean", + "x-omitempty": false + } + } + }, + "repave": { + "description": "Cluster repave status", + "properties": { + "state": { "type": "string", - "default": "spectro", + "default": "Pending", "enum": [ - "spectro", - "helm", - "manifest", - "oci" + "Pending", + "Approved", + "Reverted" ] + } + } + }, + "state": { + "type": "string" + }, + "virtual": { + "properties": { + "appDeployments": { + "description": "list of apps deployed on the virtual cluster", + "type": "array", + "items": { + "description": "Object resource reference", + "type": "object", + "properties": { + "kind": { + "type": "string" + }, + "name": { + "type": "string" + }, + "projectUid": { + "type": "string" + }, + "tenantUid": { + "type": "string" + }, + "uid": { + "type": "string" + } + } + } }, - "uid": { - "description": "Pack uid", - "type": "string" + "clusterGroup": { + "description": "Object resource reference", + "type": "object", + "properties": { + "kind": { + "type": "string" + }, + "name": { + "type": "string" + }, + "projectUid": { + "type": "string" + }, + "tenantUid": { + "type": "string" + }, + "uid": { + "type": "string" + } + } }, - "values": { - "description": "Pack values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", + "hostCluster": { + "description": "Object resource reference", + "type": "object", + "properties": { + "kind": { + "type": "string" + }, + "name": { + "type": "string" + }, + "projectUid": { + "type": "string" + }, + "tenantUid": { + "type": "string" + }, + "uid": { + "type": "string" + } + } + }, + "lifecycleStatus": { + "properties": { + "msg": { + "description": "error or success msg of lifecycle", + "type": "string" + }, + "status": { + "description": "lifecycle status", + "type": "string", + "enum": [ + "Pausing", + "Paused", + "Resuming", + "Running", + "Error" + ] + } + } + }, + "state": { + "description": "cluster virtual host status", "type": "string" + }, + "virtualClusters": { + "description": "list of virtual clusters deployed on the cluster", + "type": "array", + "items": { + "description": "Object resource reference", + "type": "object", + "properties": { + "kind": { + "type": "string" + }, + "name": { + "type": "string" + }, + "projectUid": { + "type": "string" + }, + "tenantUid": { + "type": "string" + }, + "uid": { + "type": "string" + } + } + } } } } - }, - "type": { - "type": "string", - "default": "cluster", - "enum": [ - "cluster", - "infra", - "add-on", - "system" - ] } } + } + } + }, + "listmeta": { + "description": "ListMeta describes metadata for the resource listing", + "type": "object", + "properties": { + "continue": { + "description": "Next token for the pagination. Next token is equal to empty string indicates end of result set.", + "type": "string", + "x-omitempty": false }, - "version": { - "description": "Cluster profile version", - "type": "string" + "count": { + "description": "Total count of the resources which might change during pagination based on the resources addition or deletion", + "type": "integer", + "x-omitempty": false + }, + "limit": { + "description": "Number of records feteched", + "type": "integer", + "x-omitempty": false + }, + "offset": { + "description": "The next offset for the pagination. Starting index for which next request will be placed.", + "type": "integer", + "x-omitempty": false } } } } } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "204": { - "description": "The resource was updated successfully" } } - }, - "delete": { + } + }, + "/v1/dashboard/clustergroups/{uid}/virtualClusters": { + "post": { "security": [ { "ApiKey": [] @@ -64676,589 +63839,323 @@ "tags": [ "v1" ], - "summary": "Deletes the specified cluster profile", - "operationId": "v1ClusterProfilesDelete", + "summary": "Retrieves a list of cluster summary for a given cluster group", + "operationId": "v1ClusterGroupUidVirtualClustersSummary", "parameters": [ { "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "204": { - "description": "The resource was deleted successfully" - } - } - }, - "parameters": [ - { - "type": "string", - "description": "Cluster profile uid", - "name": "uid", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Comma seperated pack meta such as schema, presets", - "name": "includePackMeta", - "in": "query" - } - ] - }, - "/v1/clusterprofiles/{uid}/clone": { - "post": { - "security": [ - { - "ApiKey": [] + "name": "uid", + "in": "path", + "required": true }, { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Creates a clone of the specified cluster profile", - "operationId": "v1ClusterProfilesUidClone", - "parameters": [ + "type": "integer", + "format": "int64", + "default": 50, + "description": "limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "name": "limit", + "in": "query" + }, { - "name": "body", - "in": "body", - "schema": { - "description": "Cluster profile clone request payload", - "type": "object", - "properties": { - "metadata": { - "description": "Cluster profile clone metadata", - "type": "object", - "required": [ - "name" - ], - "properties": { - "name": { - "description": "Cloned cluster profile name", - "type": "string" - }, - "target": { - "description": "Cluster profile clone meta input entity", - "type": "object", - "required": [ - "scope" - ], - "properties": { - "projectUid": { - "description": "Cloned cluster profile project uid", - "type": "string" - }, - "scope": { - "type": "string", - "enum": [ - "system", - "tenant", - "project", - "resource" - ] - } - } - }, - "version": { - "description": "Cloned cluster profile version", - "type": "string" - } - } - } - } - } + "type": "integer", + "format": "int64", + "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", + "name": "offset", + "in": "query" }, { "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "201": { - "description": "Created successfully", - "schema": { - "type": "object", - "required": [ - "uid" - ], - "properties": { - "uid": { - "type": "string" - } - } - }, - "headers": { - "AuditUid": { - "type": "string", - "description": "Audit uid for the request" - } - } - } - } - }, - "parameters": [ - { - "type": "string", - "description": "Cluster profile uid", - "name": "uid", - "in": "path", - "required": true - } - ] - }, - "/v1/clusterprofiles/{uid}/clone/validate": { - "post": { - "security": [ - { - "ApiKey": [] + "description": "continue token to paginate the subsequent data items", + "name": "continue", + "in": "query" }, - { - "Authorization": [] - } - ], - "description": "Validates the cloned cluster profile name, version and target project uid", - "tags": [ - "v1" - ], - "summary": "Validates the cluster profile clone", - "operationId": "v1ClusterProfilesUidCloneValidate", - "parameters": [ { "name": "body", "in": "body", "schema": { - "description": "Cluster profile clone metadata", - "type": "object", - "required": [ - "name" - ], + "description": "Spectro cluster search filter summary spec", "properties": { - "name": { - "description": "Cloned cluster profile name", - "type": "string" - }, - "target": { - "description": "Cluster profile clone meta input entity", - "type": "object", - "required": [ - "scope" - ], + "filter": { "properties": { - "projectUid": { - "description": "Cloned cluster profile project uid", - "type": "string" - }, - "scope": { + "conjunction": { "type": "string", "enum": [ - "system", - "tenant", - "project", - "resource" - ] - } - } - }, - "version": { - "description": "Cloned cluster profile version", - "type": "string" - } - } - } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "204": { - "description": "Ok response without content", - "headers": { - "AuditUid": { - "type": "string", - "description": "Audit uid for the request" - } - } - } - } - }, - "parameters": [ - { - "type": "string", - "description": "Cluster profile uid", - "name": "uid", - "in": "path", - "required": true - } - ] - }, - "/v1/clusterprofiles/{uid}/export": { - "get": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "produces": [ - "application/octet-stream" - ], - "tags": [ - "v1" - ], - "summary": "Export the specified cluster profile", - "operationId": "V1ClusterProfilesUidExport", - "parameters": [ - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "Exports cluster profile as a file", - "schema": { - "type": "string", - "format": "binary" - }, - "headers": { - "Content-Disposition": { - "type": "string" - } - } - } - } - }, - "parameters": [ - { - "type": "string", - "description": "Cluster profile uid", - "name": "uid", - "in": "path", - "required": true - }, - { - "enum": [ - "yaml", - "json" - ], - "type": "string", - "default": "json", - "description": "Cluster profile export file format [ \"yaml\", \"json\" ]", - "name": "format", - "in": "query" - } - ] - }, - "/v1/clusterprofiles/{uid}/export/terraform": { - "get": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "produces": [ - "application/octet-stream" - ], - "tags": [ - "v1" - ], - "summary": "Downloads the specified cluster profile", - "operationId": "V1ClusterProfilesUidExportTerraform", - "parameters": [ - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "Downloads cluster profile export file", - "schema": { - "type": "string", - "format": "binary" - }, - "headers": { - "Content-Disposition": { - "type": "string" - } - } - } - } - }, - "parameters": [ - { - "type": "string", - "description": "Cluster profile uid", - "name": "uid", - "in": "path", - "required": true - }, - { - "enum": [ - "yaml", - "json" - ], - "type": "string", - "default": "yaml", - "description": "Cluster profile export file format [ \"yaml\", \"json\" ]", - "name": "format", - "in": "query" - } - ] - }, - "/v1/clusterprofiles/{uid}/metadata": { - "patch": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Updates the specified cluster profile metadata", - "operationId": "v1ClusterProfilesUidMetadataUpdate", - "parameters": [ - { - "name": "body", - "in": "body", - "schema": { - "description": "Cluster profile metadata request payload", - "type": "object", - "required": [ - "metadata" - ], - "properties": { - "metadata": { - "description": "ObjectMeta input entity for object creation", - "type": "object", - "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "name": { - "description": "Name of the resource.", - "type": "string" - } - } - }, - "spec": { - "description": "Cluster profile update spec", - "type": "object", - "properties": { - "version": { - "description": "Cluster profile version", - "type": "string" - } - } - } - } - } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "204": { - "description": "The resource was updated successfully" - } - } - }, - "parameters": [ - { - "type": "string", - "description": "Cluster profile uid", - "name": "uid", - "in": "path", - "required": true - } - ] - }, - "/v1/clusterprofiles/{uid}/packRefs": { - "patch": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Updates cluster profile packs ref", - "operationId": "v1ClusterProfilesPacksRefUpdate", - "parameters": [ - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "204": { - "description": "The resource was updated successfully" - } - } - }, - "parameters": [ - { - "type": "string", - "description": "Cluster profile uid", - "name": "uid", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Cluster profile notification uid", - "name": "notify", - "in": "query" - }, - { - "name": "body", - "in": "body", - "schema": { - "description": "Cluster profile notification update request payload", - "type": "object", - "properties": { - "packs": { - "description": "Cluster profile packs array", - "type": "array", - "uniqueItems": true, - "items": { - "description": "Pack input entity with values to overwrite and manifests for the intial creation", - "type": "object", - "required": [ - "name" - ], - "properties": { - "layer": { - "description": "Pack layer", - "type": "string" + "and", + "or" + ], + "x-nullable": true }, - "manifests": { - "description": "Pack manifests are additional content as part of the profile", + "filterGroups": { "type": "array", + "uniqueItems": true, "items": { - "description": "Manifest update request payload", - "required": [ - "name" - ], "properties": { - "content": { - "description": "Manifest content in yaml", - "type": "string" - }, - "name": { - "description": "Manifest name", - "type": "string" + "conjunction": { + "type": "string", + "enum": [ + "and", + "or" + ], + "x-nullable": true }, - "uid": { - "description": "Manifest uid", - "type": "string" + "filters": { + "type": "array", + "uniqueItems": true, + "items": { + "properties": { + "condition": { + "properties": { + "bool": { + "properties": { + "value": { + "type": "boolean" + } + } + }, + "date": { + "properties": { + "match": { + "properties": { + "conjunction": { + "type": "string", + "enum": [ + "and", + "or" + ], + "x-nullable": true + }, + "values": { + "type": "array", + "uniqueItems": true, + "items": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + } + } + } + }, + "negation": { + "type": "boolean" + }, + "operator": { + "type": "string", + "enum": [ + "eq", + "gt", + "gte", + "lt", + "lte", + "range" + ] + } + } + }, + "float": { + "properties": { + "match": { + "properties": { + "conjunction": { + "type": "string", + "enum": [ + "and", + "or" + ], + "x-nullable": true + }, + "values": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "number", + "format": "float64" + } + } + } + }, + "negation": { + "type": "boolean" + }, + "operator": { + "type": "string", + "enum": [ + "eq", + "gt", + "gte", + "lt", + "lte" + ] + } + } + }, + "int": { + "properties": { + "match": { + "properties": { + "conjunction": { + "type": "string", + "enum": [ + "and", + "or" + ], + "x-nullable": true + }, + "values": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "integer" + } + } + } + }, + "negation": { + "type": "boolean" + }, + "operator": { + "type": "string", + "enum": [ + "eq", + "gt", + "gte", + "lt", + "lte" + ] + } + } + }, + "keyValue": { + "properties": { + "ignoreCase": { + "type": "boolean" + }, + "key": { + "type": "string" + }, + "match": { + "properties": { + "conjunction": { + "type": "string", + "enum": [ + "and", + "or" + ], + "x-nullable": true + }, + "values": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + } + } + }, + "negation": { + "type": "boolean" + }, + "operator": { + "type": "string", + "enum": [ + "eq", + "contains", + "beginsWith" + ] + } + } + }, + "string": { + "properties": { + "ignoreCase": { + "type": "boolean" + }, + "match": { + "properties": { + "conjunction": { + "type": "string", + "enum": [ + "and", + "or" + ], + "x-nullable": true + }, + "values": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + } + } + }, + "negation": { + "type": "boolean" + }, + "operator": { + "type": "string", + "enum": [ + "eq", + "contains", + "beginsWith" + ] + } + } + } + } + }, + "property": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "string", + "int", + "float", + "bool", + "date", + "keyValue" + ] + } + } + } } } } - }, - "name": { - "description": "Pack name", - "type": "string" - }, - "registryUid": { - "description": "Pack registry uid", - "type": "string" - }, - "tag": { - "description": "Pack tag", - "type": "string" - }, - "type": { - "type": "string", - "default": "spectro", - "enum": [ - "spectro", - "helm", - "manifest", - "oci" - ] - }, - "uid": { - "description": "Pack uid", - "type": "string" - }, - "values": { - "description": "Pack values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", - "type": "string" + } + } + }, + "sort": { + "type": "array", + "uniqueItems": true, + "items": { + "properties": { + "field": { + "type": "string", + "enum": [ + "environment", + "clusterName", + "clusterState", + "healthState", + "creationTimestamp", + "lastModifiedTimestamp" + ], + "x-nullable": true + }, + "order": { + "type": "string", + "default": "asc", + "enum": [ + "asc", + "desc" + ] + } } } } - }, - "uid": { - "description": "Cluster profile uid", - "type": "string" } } - } - } - ] - }, - "/v1/clusterprofiles/{uid}/packs": { - "get": { - "security": [ - { - "ApiKey": [] }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Returns the specified cluster profile packs", - "operationId": "v1ClusterProfilesUidPacksGet", - "parameters": [ { "type": "string", "description": "Scope the request to the specified project uid", @@ -65268,20 +64165,18 @@ ], "responses": { "200": { - "description": "OK", + "description": "An array of cluster summary items", "schema": { - "description": "List of cluster profile packs", "type": "object", "required": [ "items" ], "properties": { "items": { - "description": "Cluster profile packs array", "type": "array", "uniqueItems": true, "items": { - "description": "Cluster profile packs object", + "description": "Spectro cluster summary", "type": "object", "properties": { "metadata": { @@ -65289,7 +64184,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -65306,7 +64201,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -65318,972 +64213,1229 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, - "spec": { - "description": "Pack object", + "specSummary": { + "description": "Spectro cluster spec summary", "type": "object", "properties": { - "addonSubType": { - "description": "Pack add-on sub type such as monitoring, db etc", - "type": "string" - }, - "addonType": { - "description": "Pack add-on type such as logging, monitoring, security etc", - "type": "string" - }, - "annotations": { - "description": "Pack annotations is used to allow pack to add more arbitrary configurations", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "cloudTypes": { - "description": "Pack supported cloud types", - "type": "array", - "items": { - "type": "string" - } - }, - "digest": { - "description": "Pack digest", - "type": "string" - }, - "displayName": { - "description": "Pack display name", - "type": "string" - }, - "eol": { - "description": "Pack end of life, date format: yyyy-MM-dd", - "type": "string" - }, - "group": { - "description": "Pack group", - "type": "string" - }, - "layer": { - "type": "string", - "enum": [ - "kernel", - "os", - "k8s", - "cni", - "csi", - "addon" - ] - }, - "logoUrl": { - "description": "Pack logo url", - "type": "string" - }, - "manifests": { - "description": "Pack manifests are additional content as part of the cluster profile", - "type": "array", - "items": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", - "type": "string" - } - } - } - }, - "name": { - "description": "Pack name", - "type": "string" - }, - "presets": { - "description": "Pack presets are the set of configurations applied on user selection of presets", + "archTypes": { + "description": "Architecture type of the cluster", "type": "array", "items": { - "description": "PackPreset defines the preset pack values", - "type": "object", - "properties": { - "add": { - "type": "string", - "x-omitempty": false - }, - "displayName": { - "type": "string", - "x-omitempty": false - }, - "group": { - "type": "string", - "x-omitempty": false - }, - "name": { - "type": "string", - "x-omitempty": false - }, - "remove": { - "type": "array", - "items": { - "type": "string" - }, - "x-omitempty": false - } - } + "type": "string", + "default": "amd64", + "enum": [ + "amd64", + "arm64" + ] } }, - "registryUid": { - "description": "Pack registry uid", - "type": "string" - }, - "schema": { - "description": "Pack schema contains constraints such as data type, format, hints for the pack values", - "type": "array", - "items": { - "description": "PackSchema defines the schema definition, hints for the pack values", - "type": "object", - "properties": { - "format": { - "type": "string", - "x-omitempty": false - }, - "hints": { - "type": "array", - "items": { - "type": "string" - }, - "x-omitempty": false - }, - "listOptions": { - "type": "array", - "items": { - "type": "string" - }, - "x-omitempty": false - }, - "name": { - "type": "string", - "x-omitempty": false - }, - "readonly": { - "type": "boolean", - "x-omitempty": false - }, - "regex": { - "type": "string", - "x-omitempty": false - }, - "required": { - "type": "boolean", - "x-omitempty": false - }, - "type": { - "type": "string", - "x-omitempty": false - } + "cloudAccountMeta": { + "description": "Cloud account meta information", + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "uid": { + "type": "string" } } }, - "template": { - "description": "Pack template configuration", + "cloudConfig": { + "type": "object", "properties": { - "manifest": { - "description": "Pack template manifest content", + "cloudType": { "type": "string" }, - "parameters": { - "description": "Pack template parameters", - "properties": { - "inputParameters": { - "description": "Pack template input parameters array", - "type": "array", - "items": { - "description": "Pack template parameter", + "machinePools": { + "description": "Machine pool meta information", + "type": "array", + "items": { + "type": "object", + "properties": { + "cloudType": { + "type": "string" + }, + "healthy": { + "description": "number of healthy machines", + "type": "integer", + "format": "int32", + "x-omitempty": false + }, + "infraProfileTemplate": { + "description": "Cluster profile template meta information", + "type": "object", "properties": { - "description": { - "description": "Pack template parameter description", - "type": "string" - }, - "displayName": { - "description": "Pack template parameter display name", + "cloudType": { "type": "string" }, - "format": { - "description": "Pack template parameter format", + "name": { + "description": "Cluster profile name", "type": "string" }, - "hidden": { - "description": "Pack template parameter hidden flag, if true then the parameter is hidden in the UI", - "type": "boolean" - }, - "listOptions": { - "description": "Pack template parameter list options as string array", + "packs": { + "description": "Cluster profile packs array", "type": "array", "items": { - "type": "string" - } - }, - "name": { - "description": "Pack template parameter name", - "type": "string" - }, - "optional": { - "description": "Pack template parameter optional flag, if true then the parameter value is not mandatory", - "type": "boolean" - }, - "options": { - "description": "Pack template parameter options array", - "type": "object", - "additionalProperties": { - "description": "Pack template parameter option", + "description": "PackRef server/name:tag to point to a pack PackRef is used when construct a ClusterProfile PackSpec is used for UI to render the parameters form ClusterProfile will not know inner details of a pack ClusterProfile only contain pack name:tag, and the param values user entered for it", "type": "object", + "required": [ + "layer", + "name" + ], "properties": { - "dependencies": { - "description": "Pack template parameter dependencies", + "annotations": { + "description": "Annotations is used to allow packref to add more arbitrary information one example is to add git reference for values.yaml", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "digest": { + "description": "digest is used to specify the version should be installed by palette when pack upgrade available, change this digest to trigger upgrade", + "type": "string" + }, + "inValidReason": { + "type": "string" + }, + "isInvalid": { + "description": "pack is invalid when the associated tag is deleted from the registry", + "type": "boolean" + }, + "layer": { + "type": "string", + "enum": [ + "kernel", + "os", + "k8s", + "cni", + "csi", + "addon" + ] + }, + "logo": { + "description": "path to the pack logo", + "type": "string" + }, + "manifests": { "type": "array", "items": { - "description": "Pack template dependency", + "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", "type": "object", "properties": { - "layer": { - "description": "Pack template dependency pack layer", + "kind": { + "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", "type": "string" }, "name": { - "description": "Pack template dependency pack name", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, - "readOnly": { - "description": "If true then dependency pack values can't be overridden", - "type": "boolean" + "uid": { + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", + "type": "string" } } } }, - "description": { - "description": "Pack template parameter description", + "name": { + "description": "pack name", "type": "string" }, - "label": { - "description": "Pack template parameter label", + "packUid": { + "description": "PackUID is Hubble packUID, not palette Pack.UID It is used by Hubble only.", "type": "string" - } - } - } - }, - "readOnly": { - "description": "Pack template parameter readonly flag, if true then the parameter value can't be overridden", - "type": "boolean" - }, - "regex": { - "description": "Pack template parameter regex, if set then parameter value must match with specified regex", - "type": "string" - }, - "targetKey": { - "description": "Pack template parameter target key which is mapped to the key defined in the pack values", - "type": "string" - }, - "type": { - "description": "Pack template parameter data type", - "type": "string" - }, - "value": { - "description": "Pack template parameter value", - "type": "string" - } - } - } - }, - "outputParameters": { - "description": "Pack template output parameters array", - "type": "array", - "items": { - "description": "Pack template parameter", - "properties": { - "description": { - "description": "Pack template parameter description", - "type": "string" - }, - "displayName": { - "description": "Pack template parameter display name", - "type": "string" - }, - "format": { - "description": "Pack template parameter format", - "type": "string" - }, - "hidden": { - "description": "Pack template parameter hidden flag, if true then the parameter is hidden in the UI", - "type": "boolean" - }, - "listOptions": { - "description": "Pack template parameter list options as string array", - "type": "array", - "items": { - "type": "string" - } - }, - "name": { - "description": "Pack template parameter name", - "type": "string" - }, - "optional": { - "description": "Pack template parameter optional flag, if true then the parameter value is not mandatory", - "type": "boolean" - }, - "options": { - "description": "Pack template parameter options array", - "type": "object", - "additionalProperties": { - "description": "Pack template parameter option", - "type": "object", - "properties": { - "dependencies": { - "description": "Pack template parameter dependencies", + }, + "params": { + "description": "params passed as env variables to be consumed at installation time", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "presets": { "type": "array", "items": { - "description": "Pack template dependency", + "description": "PackPreset defines the preset pack values", "type": "object", "properties": { - "layer": { - "description": "Pack template dependency pack layer", - "type": "string" + "add": { + "type": "string", + "x-omitempty": false + }, + "displayName": { + "type": "string", + "x-omitempty": false + }, + "group": { + "type": "string", + "x-omitempty": false }, "name": { - "description": "Pack template dependency pack name", - "type": "string" + "type": "string", + "x-omitempty": false }, - "readOnly": { - "description": "If true then dependency pack values can't be overridden", - "type": "boolean" + "remove": { + "type": "array", + "items": { + "type": "string" + }, + "x-omitempty": false } } } }, - "description": { - "description": "Pack template parameter description", + "registryUid": { + "description": "pack registry uid", "type": "string" }, - "label": { - "description": "Pack template parameter label", + "schema": { + "type": "array", + "items": { + "description": "PackSchema defines the schema definition, hints for the pack values", + "type": "object", + "properties": { + "format": { + "type": "string", + "x-omitempty": false + }, + "hints": { + "type": "array", + "items": { + "type": "string" + }, + "x-omitempty": false + }, + "listOptions": { + "type": "array", + "items": { + "type": "string" + }, + "x-omitempty": false + }, + "name": { + "type": "string", + "x-omitempty": false + }, + "readonly": { + "type": "boolean", + "x-omitempty": false + }, + "regex": { + "type": "string", + "x-omitempty": false + }, + "required": { + "type": "boolean", + "x-omitempty": false + }, + "type": { + "type": "string", + "x-omitempty": false + } + } + } + }, + "server": { + "description": "pack registry server or helm repo", + "type": "string" + }, + "tag": { + "description": "pack tag", + "type": "string" + }, + "type": { + "description": "type of the pack", + "type": "string", + "enum": [ + "spectro", + "helm", + "manifest" + ] + }, + "values": { + "description": "values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", + "type": "string" + }, + "version": { + "description": "pack version", "type": "string" } } } }, - "readOnly": { - "description": "Pack template parameter readonly flag, if true then the parameter value can't be overridden", - "type": "boolean" - }, - "regex": { - "description": "Pack template parameter regex, if set then parameter value must match with specified regex", - "type": "string" - }, - "targetKey": { - "description": "Pack template parameter target key which is mapped to the key defined in the pack values", + "scope": { + "description": "scope or context(system, tenant or project)", "type": "string" }, "type": { - "description": "Pack template parameter data type", + "description": "Cluster profile type [ \"cluster\", \"infra\", \"add-on\", \"system\" ]", "type": "string" }, - "value": { - "description": "Pack template parameter value", + "uid": { + "description": "Cluster profile uid", "type": "string" + }, + "version": { + "type": "integer", + "format": "int32" } } + }, + "isControlPlane": { + "description": "whether this pool is for control plane", + "type": "boolean", + "x-omitempty": false + }, + "labels": { + "description": "labels for this pool, example: control-plane/worker, gpu, windows", + "type": "array", + "items": { + "type": "string" + } + }, + "maintenanceMode": { + "description": "number of machines under maintenance", + "type": "integer", + "format": "int32", + "x-omitempty": false + }, + "size": { + "description": "size of the pool, number of machines", + "type": "integer", + "format": "int32", + "x-omitempty": false } } } }, - "values": { - "description": "Pack template values", + "uid": { + "description": "Cluster's cloud config uid", "type": "string" } } }, - "type": { - "type": "string", - "default": "spectro", - "enum": [ - "spectro", - "helm", - "manifest", - "oci" - ] - }, - "values": { - "description": "Pack values", - "type": "string" - }, - "version": { - "description": "Pack version", - "type": "string" - } - } - }, - "status": { - "description": "Pack status", - "type": "object" - } - } - } - } - } - } - } - } - }, - "post": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Adds a new pack to the specified cluster profile and returns the created pack uid", - "operationId": "v1ClusterProfilesUidPacksAdd", - "parameters": [ - { - "name": "body", - "in": "body", - "schema": { - "description": "Pack request payload", - "properties": { - "pack": { - "description": "Pack request payload", - "type": "object", - "required": [ - "name" - ], - "properties": { - "layer": { - "description": "Pack layer", - "type": "string" - }, - "manifests": { - "description": "Pack manifests are additional content as part of the profile", - "type": "array", - "items": { - "description": "Manifest request payload", - "properties": { - "content": { - "description": "Manifest content", - "type": "string" - }, - "name": { - "description": "Manifest name", - "type": "string" - } - } - } - }, - "name": { - "description": "Pack name", - "type": "string" - }, - "registryUid": { - "description": "Pack registry uid", - "type": "string" - }, - "tag": { - "description": "Pack tag", - "type": "string" - }, - "type": { - "type": "string", - "default": "spectro", - "enum": [ - "spectro", - "helm", - "manifest", - "oci" - ] - }, - "uid": { - "description": "Pack uid", - "type": "string" - }, - "values": { - "description": "Pack values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", - "type": "string" - } - } - } - } - } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "201": { - "description": "Created successfully", - "schema": { - "type": "object", - "required": [ - "uid" - ], - "properties": { - "uid": { - "type": "string" - } - } - }, - "headers": { - "AuditUid": { - "type": "string", - "description": "Audit uid for the request" - } - } - } - } - }, - "parameters": [ - { - "type": "string", - "description": "Cluster profile uid", - "name": "uid", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Comma seperated pack meta such as schema, presets", - "name": "includePackMeta", - "in": "query" - } - ] - }, - "/v1/clusterprofiles/{uid}/packs/manifests": { - "get": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Returns the specified cluster profile pack manifests", - "operationId": "v1ClusterProfilesUidPacksManifestsGet", - "parameters": [ - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "description": "Cluster profile pack manifests", - "type": "object", - "properties": { - "metadata": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", - "type": "object", - "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "name": { - "description": "Name of the resource.", - "type": "string" - }, - "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", - "type": "string" - } - } - }, - "spec": { - "type": "object", - "properties": { - "packs": { - "description": "Cluster profile packs array", - "type": "array", - "uniqueItems": true, - "items": { - "description": "Cluster profile pack manifests", - "type": "object", - "properties": { - "metadata": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", + "clusterConfig": { "type": "object", "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { - "type": "string" + "hostClusterConfig": { + "properties": { + "clusterGroup": { + "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", + "type": "object", + "properties": { + "kind": { + "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "uid": { + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", + "type": "string" + } + } + } } - }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "name": { - "description": "Name of the resource.", - "type": "string" - }, - "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", - "type": "string" } } }, - "spec": { - "description": "Pack manifests spec", + "clusterProfileTemplate": { + "description": "Cluster profile template meta information", "type": "object", "properties": { - "addonType": { - "description": "Pack add-on type such as logging, monitoring, security etc", - "type": "string" - }, - "annotations": { - "description": "Pack annotations is used to allow pack to add more arbitrary configurations", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "cloudTypes": { - "description": "Pack supported cloud types", - "type": "array", - "items": { - "type": "string" - } - }, - "digest": { - "description": "Pack digest", - "type": "string" - }, - "displayName": { - "description": "Pack display name", - "type": "string" - }, - "eol": { - "description": "Pack end of life, date format: yyyy-MM-dd", - "type": "string" - }, - "group": { - "description": "Pack group", + "cloudType": { "type": "string" }, - "layer": { - "type": "string", - "enum": [ - "kernel", - "os", - "k8s", - "cni", - "csi", - "addon" - ] - }, - "logoUrl": { - "description": "Pack logo url", + "name": { + "description": "Cluster profile name", "type": "string" }, - "manifests": { - "description": "Pack manifests are additional content as part of the cluster profile", + "packs": { + "description": "Cluster profile packs array", "type": "array", "items": { - "description": "Manifest object", + "description": "PackRef server/name:tag to point to a pack PackRef is used when construct a ClusterProfile PackSpec is used for UI to render the parameters form ClusterProfile will not know inner details of a pack ClusterProfile only contain pack name:tag, and the param values user entered for it", + "type": "object", + "required": [ + "layer", + "name" + ], "properties": { - "content": { - "description": "Manifest content in yaml", - "type": "string" + "annotations": { + "description": "Annotations is used to allow packref to add more arbitrary information one example is to add git reference for values.yaml", + "type": "object", + "additionalProperties": { + "type": "string" + } }, - "name": { - "description": "Manifest name", + "digest": { + "description": "digest is used to specify the version should be installed by palette when pack upgrade available, change this digest to trigger upgrade", "type": "string" }, - "uid": { - "description": "Manifest uid", + "inValidReason": { "type": "string" - } - } - } - }, - "name": { - "description": "Pack name", - "type": "string" - }, - "presets": { - "description": "Pack presets are the set of configurations applied on user selection of presets", - "type": "array", - "items": { - "description": "PackPreset defines the preset pack values", - "type": "object", - "properties": { - "add": { - "type": "string", - "x-omitempty": false }, - "displayName": { - "type": "string", - "x-omitempty": false + "isInvalid": { + "description": "pack is invalid when the associated tag is deleted from the registry", + "type": "boolean" }, - "group": { + "layer": { "type": "string", - "x-omitempty": false + "enum": [ + "kernel", + "os", + "k8s", + "cni", + "csi", + "addon" + ] }, - "name": { - "type": "string", - "x-omitempty": false + "logo": { + "description": "path to the pack logo", + "type": "string" }, - "remove": { + "manifests": { "type": "array", "items": { + "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", + "type": "object", + "properties": { + "kind": { + "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "uid": { + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", + "type": "string" + } + } + } + }, + "name": { + "description": "pack name", + "type": "string" + }, + "packUid": { + "description": "PackUID is Hubble packUID, not palette Pack.UID It is used by Hubble only.", + "type": "string" + }, + "params": { + "description": "params passed as env variables to be consumed at installation time", + "type": "object", + "additionalProperties": { "type": "string" - }, - "x-omitempty": false - } - } - } - }, - "registryUid": { - "description": "Pack registry uid", - "type": "string" - }, - "schema": { - "description": "Pack schema contains constraints such as data type, format, hints for the pack values", - "type": "array", - "items": { - "description": "PackSchema defines the schema definition, hints for the pack values", - "type": "object", - "properties": { - "format": { - "type": "string", - "x-omitempty": false + } }, - "hints": { + "presets": { "type": "array", "items": { - "type": "string" - }, - "x-omitempty": false + "description": "PackPreset defines the preset pack values", + "type": "object", + "properties": { + "add": { + "type": "string", + "x-omitempty": false + }, + "displayName": { + "type": "string", + "x-omitempty": false + }, + "group": { + "type": "string", + "x-omitempty": false + }, + "name": { + "type": "string", + "x-omitempty": false + }, + "remove": { + "type": "array", + "items": { + "type": "string" + }, + "x-omitempty": false + } + } + } }, - "listOptions": { + "registryUid": { + "description": "pack registry uid", + "type": "string" + }, + "schema": { "type": "array", "items": { - "type": "string" - }, - "x-omitempty": false + "description": "PackSchema defines the schema definition, hints for the pack values", + "type": "object", + "properties": { + "format": { + "type": "string", + "x-omitempty": false + }, + "hints": { + "type": "array", + "items": { + "type": "string" + }, + "x-omitempty": false + }, + "listOptions": { + "type": "array", + "items": { + "type": "string" + }, + "x-omitempty": false + }, + "name": { + "type": "string", + "x-omitempty": false + }, + "readonly": { + "type": "boolean", + "x-omitempty": false + }, + "regex": { + "type": "string", + "x-omitempty": false + }, + "required": { + "type": "boolean", + "x-omitempty": false + }, + "type": { + "type": "string", + "x-omitempty": false + } + } + } }, - "name": { - "type": "string", - "x-omitempty": false + "server": { + "description": "pack registry server or helm repo", + "type": "string" }, - "readonly": { - "type": "boolean", - "x-omitempty": false + "tag": { + "description": "pack tag", + "type": "string" }, - "regex": { + "type": { + "description": "type of the pack", "type": "string", - "x-omitempty": false + "enum": [ + "spectro", + "helm", + "manifest" + ] }, - "required": { - "type": "boolean", - "x-omitempty": false + "values": { + "description": "values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", + "type": "string" }, - "type": { - "type": "string", - "x-omitempty": false + "version": { + "description": "pack version", + "type": "string" } } } }, + "scope": { + "description": "scope or context(system, tenant or project)", + "type": "string" + }, "type": { - "type": "string", - "default": "spectro", - "enum": [ - "spectro", - "helm", - "manifest", - "oci" - ] + "description": "Cluster profile type [ \"cluster\", \"infra\", \"add-on\", \"system\" ]", + "type": "string" }, - "values": { - "description": "Pack values", + "uid": { + "description": "Cluster profile uid", "type": "string" }, "version": { - "description": "Pack version", - "type": "string" + "type": "integer", + "format": "int32" } } }, - "status": { - "description": "Pack status", - "type": "object" + "clusterProfileTemplates": { + "type": "array", + "items": { + "description": "Cluster profile template meta information", + "type": "object", + "properties": { + "cloudType": { + "type": "string" + }, + "name": { + "description": "Cluster profile name", + "type": "string" + }, + "packs": { + "description": "Cluster profile packs array", + "type": "array", + "items": { + "description": "PackRef server/name:tag to point to a pack PackRef is used when construct a ClusterProfile PackSpec is used for UI to render the parameters form ClusterProfile will not know inner details of a pack ClusterProfile only contain pack name:tag, and the param values user entered for it", + "type": "object", + "required": [ + "layer", + "name" + ], + "properties": { + "annotations": { + "description": "Annotations is used to allow packref to add more arbitrary information one example is to add git reference for values.yaml", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "digest": { + "description": "digest is used to specify the version should be installed by palette when pack upgrade available, change this digest to trigger upgrade", + "type": "string" + }, + "inValidReason": { + "type": "string" + }, + "isInvalid": { + "description": "pack is invalid when the associated tag is deleted from the registry", + "type": "boolean" + }, + "layer": { + "type": "string", + "enum": [ + "kernel", + "os", + "k8s", + "cni", + "csi", + "addon" + ] + }, + "logo": { + "description": "path to the pack logo", + "type": "string" + }, + "manifests": { + "type": "array", + "items": { + "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", + "type": "object", + "properties": { + "kind": { + "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "uid": { + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", + "type": "string" + } + } + } + }, + "name": { + "description": "pack name", + "type": "string" + }, + "packUid": { + "description": "PackUID is Hubble packUID, not palette Pack.UID It is used by Hubble only.", + "type": "string" + }, + "params": { + "description": "params passed as env variables to be consumed at installation time", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "presets": { + "type": "array", + "items": { + "description": "PackPreset defines the preset pack values", + "type": "object", + "properties": { + "add": { + "type": "string", + "x-omitempty": false + }, + "displayName": { + "type": "string", + "x-omitempty": false + }, + "group": { + "type": "string", + "x-omitempty": false + }, + "name": { + "type": "string", + "x-omitempty": false + }, + "remove": { + "type": "array", + "items": { + "type": "string" + }, + "x-omitempty": false + } + } + } + }, + "registryUid": { + "description": "pack registry uid", + "type": "string" + }, + "schema": { + "type": "array", + "items": { + "description": "PackSchema defines the schema definition, hints for the pack values", + "type": "object", + "properties": { + "format": { + "type": "string", + "x-omitempty": false + }, + "hints": { + "type": "array", + "items": { + "type": "string" + }, + "x-omitempty": false + }, + "listOptions": { + "type": "array", + "items": { + "type": "string" + }, + "x-omitempty": false + }, + "name": { + "type": "string", + "x-omitempty": false + }, + "readonly": { + "type": "boolean", + "x-omitempty": false + }, + "regex": { + "type": "string", + "x-omitempty": false + }, + "required": { + "type": "boolean", + "x-omitempty": false + }, + "type": { + "type": "string", + "x-omitempty": false + } + } + } + }, + "server": { + "description": "pack registry server or helm repo", + "type": "string" + }, + "tag": { + "description": "pack tag", + "type": "string" + }, + "type": { + "description": "type of the pack", + "type": "string", + "enum": [ + "spectro", + "helm", + "manifest" + ] + }, + "values": { + "description": "values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", + "type": "string" + }, + "version": { + "description": "pack version", + "type": "string" + } + } + } + }, + "scope": { + "description": "scope or context(system, tenant or project)", + "type": "string" + }, + "type": { + "description": "Cluster profile type [ \"cluster\", \"infra\", \"add-on\", \"system\" ]", + "type": "string" + }, + "uid": { + "description": "Cluster profile uid", + "type": "string" + }, + "version": { + "type": "integer", + "format": "int32" + } + } + } + }, + "projectMeta": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + } } } - } - } - } - } - } - } - } - } - }, - "parameters": [ - { - "type": "string", - "description": "Cluster profile uid", - "name": "uid", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Comma seperated pack meta such as schema, presets", - "name": "includePackMeta", - "in": "query" - } - ] - }, - "/v1/clusterprofiles/{uid}/packs/resolvedValues": { - "get": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Returns the specified cluster profile packs resolved values", - "operationId": "v1ClusterProfilesUidPacksResolvedValuesGet", - "parameters": [ - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "description": "Pack resolved values", - "properties": { - "resolved": { - "description": "Pack resolved values map", + }, + "status": { + "description": "Spectro cluster status summary", + "properties": { + "clusterImport": { + "type": "object", + "properties": { + "importLink": { + "description": "import link to download and install ally-lite, palette-lite", + "type": "string" + }, + "isBrownfield": { + "description": "Deprecated. Use the 'spec.clusterType'", + "type": "boolean", + "x-omitempty": false + }, + "state": { + "description": "cluster import status", + "type": "string" + } + } + }, + "cost": { + "description": "Resource Cost information", + "type": "object", + "properties": { + "cloud": { + "description": "Cloud cost information", + "type": "object", + "properties": { + "compute": { + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "storage": { + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "total": { + "type": "number", + "format": "float64", + "x-omitempty": false + } + } + }, + "total": { + "type": "number", + "format": "float64", + "x-omitempty": false + } + } + }, + "fips": { + "properties": { + "mode": { + "type": "string", + "default": "none", + "enum": [ + "full", + "none", + "partial", + "unknown" + ] + } + } + }, + "health": { + "description": "Spectro cluster health status", + "properties": { + "agentVersion": { + "type": "string" + }, + "conditions": { + "type": "array", + "uniqueItems": true, + "items": { + "description": "Spectro cluster health condition", + "properties": { + "message": { + "type": "string" + }, + "relatedObject": { + "description": "Object for which the resource is related", + "type": "object", + "properties": { + "kind": { + "type": "string", + "enum": [ + "spectrocluster", + "machine", + "cloudconfig", + "clusterprofile", + "pack", + "appprofile", + "appdeployment", + "edgehost" + ] + }, + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + } + }, + "type": { + "type": "string" + } + } + } + }, + "lastHeartBeatTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "state": { + "type": "string" + } + } + }, + "hourlyRate": { + "description": "Resource Cost information", + "type": "object", + "properties": { + "cloud": { + "description": "Cloud cost information", + "type": "object", + "properties": { + "compute": { + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "storage": { + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "total": { + "type": "number", + "format": "float64", + "x-omitempty": false + } + } + }, + "total": { + "type": "number", + "format": "float64", + "x-omitempty": false + } + } + }, + "location": { + "description": "Cluster location information", + "type": "object", + "properties": { + "coordinates": { + "type": "array", + "items": { + "type": "number", + "format": "float64" + } + }, + "countryCode": { + "type": "string" + }, + "countryName": { + "type": "string" + }, + "regionCode": { + "type": "string" + }, + "regionName": { + "type": "string" + } + } + }, + "metrics": { + "description": "Spectro cluster metrics", + "properties": { + "cpu": { + "description": "Compute metrics", + "type": "object", + "properties": { + "lastUpdatedTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "limit": { + "type": "number", + "x-omitempty": false + }, + "request": { + "type": "number", + "x-omitempty": false + }, + "total": { + "type": "number", + "x-omitempty": false + }, + "unit": { + "type": "string" + }, + "usage": { + "type": "number", + "x-omitempty": false + } + } + }, + "memory": { + "description": "Compute metrics", + "type": "object", + "properties": { + "lastUpdatedTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "limit": { + "type": "number", + "x-omitempty": false + }, + "request": { + "type": "number", + "x-omitempty": false + }, + "total": { + "type": "number", + "x-omitempty": false + }, + "unit": { + "type": "string" + }, + "usage": { + "type": "number", + "x-omitempty": false + } + } + } + } + }, + "notifications": { + "description": "Cluster notifications status", + "properties": { + "isAvailable": { + "type": "boolean", + "x-omitempty": false + } + } + }, + "repave": { + "description": "Cluster repave status", + "properties": { + "state": { + "type": "string", + "default": "Pending", + "enum": [ + "Pending", + "Approved", + "Reverted" + ] + } + } + }, + "state": { + "type": "string" + }, + "virtual": { + "properties": { + "appDeployments": { + "description": "list of apps deployed on the virtual cluster", + "type": "array", + "items": { + "description": "Object resource reference", + "type": "object", + "properties": { + "kind": { + "type": "string" + }, + "name": { + "type": "string" + }, + "projectUid": { + "type": "string" + }, + "tenantUid": { + "type": "string" + }, + "uid": { + "type": "string" + } + } + } + }, + "clusterGroup": { + "description": "Object resource reference", + "type": "object", + "properties": { + "kind": { + "type": "string" + }, + "name": { + "type": "string" + }, + "projectUid": { + "type": "string" + }, + "tenantUid": { + "type": "string" + }, + "uid": { + "type": "string" + } + } + }, + "hostCluster": { + "description": "Object resource reference", + "type": "object", + "properties": { + "kind": { + "type": "string" + }, + "name": { + "type": "string" + }, + "projectUid": { + "type": "string" + }, + "tenantUid": { + "type": "string" + }, + "uid": { + "type": "string" + } + } + }, + "lifecycleStatus": { + "properties": { + "msg": { + "description": "error or success msg of lifecycle", + "type": "string" + }, + "status": { + "description": "lifecycle status", + "type": "string", + "enum": [ + "Pausing", + "Paused", + "Resuming", + "Running", + "Error" + ] + } + } + }, + "state": { + "description": "cluster virtual host status", + "type": "string" + }, + "virtualClusters": { + "description": "list of virtual clusters deployed on the cluster", + "type": "array", + "items": { + "description": "Object resource reference", + "type": "object", + "properties": { + "kind": { + "type": "string" + }, + "name": { + "type": "string" + }, + "projectUid": { + "type": "string" + }, + "tenantUid": { + "type": "string" + }, + "uid": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + }, + "listmeta": { + "description": "ListMeta describes metadata for the resource listing", "type": "object", - "additionalProperties": { - "type": "string" + "properties": { + "continue": { + "description": "Next token for the pagination. Next token is equal to empty string indicates end of result set.", + "type": "string", + "x-omitempty": false + }, + "count": { + "description": "Total count of the resources which might change during pagination based on the resources addition or deletion", + "type": "integer", + "x-omitempty": false + }, + "limit": { + "description": "Number of records feteched", + "type": "integer", + "x-omitempty": false + }, + "offset": { + "description": "The next offset for the pagination. Starting index for which next request will be placed.", + "type": "integer", + "x-omitempty": false + } } } } } } } - }, - "parameters": [ - { - "type": "string", - "description": "Cluster profile uid", - "name": "uid", - "in": "path", - "required": true - }, - { - "name": "body", - "in": "body", - "schema": { - "description": "Pack params request payload", - "properties": { - "references": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - } - } - } - } - ] + } }, - "/v1/clusterprofiles/{uid}/packs/{packName}": { - "get": { + "/v1/dashboard/clusterprofiles": { + "post": { "security": [ { "ApiKey": [] @@ -66295,760 +65447,497 @@ "tags": [ "v1" ], - "summary": "Returns the specified cluster profile pack", - "operationId": "V1ClusterProfilesUidPacksNameGet", + "summary": "Retrieves a list of cluster profiles filter summary Supported filter fields - [\"profileName\", \"tags\", \"profileType\", \"environment\"] Supported sort fields - [\"profileName\", \"environment\", \"profileType\", \"creationTimestamp\", \"lastModifiedTimestamp\"]", + "operationId": "v1ClusterProfilesFilterSummary", "parameters": [ + { + "maximum": 20, + "type": "integer", + "format": "int64", + "description": "limit is a maximum number of responses to return for a list call. Maximum value of the limit is 20.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "name": "limit", + "in": "query" + }, + { + "type": "integer", + "format": "int64", + "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", + "name": "offset", + "in": "query" + }, { "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "OK", + "description": "continue token to paginate the subsequent data items", + "name": "continue", + "in": "query" + }, + { + "name": "body", + "in": "body", "schema": { - "description": "Pack summary response", - "type": "object", + "description": "Spectro cluster filter summary spec", "properties": { - "metadata": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", - "type": "object", + "filter": { + "description": "Cluster profile filter spec", "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { + "environment": { + "type": "array", + "uniqueItems": true, + "items": { "type": "string" } }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "fips": { "type": "string", - "format": "date-time" + "default": "none", + "enum": [ + "full", + "none", + "partial", + "unknown" + ] }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "profileName": { "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "name": { - "description": "Name of the resource.", - "type": "string" - }, - "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", - "type": "string" - } - } - }, - "spec": { - "description": "Pack summary spec", - "properties": { - "macros": { - "description": "Pack resolved values", "properties": { - "resolved": { - "description": "Pack resolved values map", - "type": "object", - "additionalProperties": { - "type": "string" - } + "beginsWith": { + "type": "string", + "x-nullable": true + }, + "contains": { + "type": "string", + "x-nullable": true + }, + "eq": { + "type": "string", + "x-nullable": true + }, + "ignoreCase": { + "type": "boolean", + "default": true + }, + "ne": { + "type": "string", + "x-nullable": true } } }, - "pack": { - "description": "Pack object", + "profileType": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string", + "default": "cluster", + "enum": [ + "cluster", + "infra", + "add-on", + "system" + ] + } + }, + "scope": { + "type": "string", + "enum": [ + "system", + "tenant", + "project" + ] + }, + "tags": { "type": "object", "properties": { - "addonSubType": { - "description": "Pack add-on sub type such as monitoring, db etc", - "type": "string" - }, - "addonType": { - "description": "Pack add-on type such as logging, monitoring, security etc", - "type": "string" - }, - "annotations": { - "description": "Pack annotations is used to allow pack to add more arbitrary configurations", - "type": "object", - "additionalProperties": { + "beginsWith": { + "type": "array", + "items": { "type": "string" - } + }, + "x-nullable": true }, - "cloudTypes": { - "description": "Pack supported cloud types", + "eq": { "type": "array", "items": { "type": "string" - } - }, - "digest": { - "description": "Pack digest", - "type": "string" + }, + "x-nullable": true }, - "displayName": { - "description": "Pack display name", - "type": "string" + "ignoreCase": { + "type": "boolean", + "default": true }, - "eol": { - "description": "Pack end of life, date format: yyyy-MM-dd", - "type": "string" + "ne": { + "type": "array", + "items": { + "type": "string" + }, + "x-nullable": true + } + } + }, + "version": { + "type": "object", + "properties": { + "beginsWith": { + "type": "string", + "x-nullable": true }, - "group": { - "description": "Pack group", - "type": "string" + "eq": { + "type": "string", + "x-nullable": true }, - "layer": { + "gt": { "type": "string", - "enum": [ - "kernel", - "os", - "k8s", - "cni", - "csi", - "addon" - ] + "x-nullable": true }, - "logoUrl": { - "description": "Pack logo url", - "type": "string" + "lt": { + "type": "string", + "x-nullable": true }, - "manifests": { - "description": "Pack manifests are additional content as part of the cluster profile", - "type": "array", - "items": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", + "ne": { + "type": "string", + "x-nullable": true + } + } + } + } + }, + "sort": { + "type": "array", + "uniqueItems": true, + "items": { + "properties": { + "field": { + "type": "string", + "enum": [ + "profileName", + "environment", + "profileType", + "creationTimestamp", + "lastModifiedTimestamp" + ], + "x-nullable": true + }, + "order": { + "type": "string", + "default": "asc", + "enum": [ + "asc", + "desc" + ] + } + } + } + } + } + } + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "200": { + "description": "An array of cluster profiles summary items", + "schema": { + "type": "object", + "required": [ + "items" + ], + "properties": { + "items": { + "type": "array", + "uniqueItems": true, + "items": { + "description": "Cluster profile summary", + "type": "object", + "properties": { + "metadata": { + "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", + "type": "object", + "properties": { + "annotations": { + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "creationTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "deletionTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "labels": { + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "lastModifiedTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "name": { + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + }, + "uid": { + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", + "type": "string" + } + } + }, + "specSummary": { + "description": "Cluster profile spec summary", + "type": "object", + "properties": { + "draft": { + "description": "Cluster profile template summary", "type": "object", "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "cloudType": { "type": "string" }, - "name": { - "description": "Name of the referent.", - "type": "string" + "packs": { + "type": "array", + "items": { + "description": "Pack ref summary", + "properties": { + "addonType": { + "type": "string" + }, + "annotations": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "displayName": { + "type": "string" + }, + "layer": { + "type": "string", + "enum": [ + "kernel", + "os", + "k8s", + "cni", + "csi", + "addon" + ] + }, + "logoUrl": { + "type": "string" + }, + "name": { + "type": "string" + }, + "packUid": { + "type": "string" + }, + "tag": { + "type": "string" + }, + "type": { + "type": "string" + }, + "version": { + "type": "string" + } + } + } }, - "uid": { - "description": "UID of the referent.", + "type": { "type": "string" } } - } - }, - "name": { - "description": "Pack name", - "type": "string" - }, - "presets": { - "description": "Pack presets are the set of configurations applied on user selection of presets", - "type": "array", - "items": { - "description": "PackPreset defines the preset pack values", + }, + "published": { + "description": "Cluster profile template summary", "type": "object", "properties": { - "add": { - "type": "string", - "x-omitempty": false - }, - "displayName": { - "type": "string", - "x-omitempty": false - }, - "group": { - "type": "string", - "x-omitempty": false - }, - "name": { - "type": "string", - "x-omitempty": false + "cloudType": { + "type": "string" }, - "remove": { + "packs": { "type": "array", "items": { + "description": "Pack ref summary", + "properties": { + "addonType": { + "type": "string" + }, + "annotations": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "displayName": { + "type": "string" + }, + "layer": { + "type": "string", + "enum": [ + "kernel", + "os", + "k8s", + "cni", + "csi", + "addon" + ] + }, + "logoUrl": { + "type": "string" + }, + "name": { + "type": "string" + }, + "packUid": { + "type": "string" + }, + "tag": { + "type": "string" + }, + "type": { + "type": "string" + }, + "version": { + "type": "string" + } + } + } + }, + "type": { + "type": "string" + } + } + }, + "version": { + "description": "Cluster profile's latest version", + "type": "string" + }, + "versions": { + "description": "Cluster profile's list of all the versions", + "type": "array", + "items": { + "description": "Cluster profile with version", + "properties": { + "uid": { "type": "string" }, - "x-omitempty": false + "version": { + "type": "string" + } } } } - }, - "registryUid": { - "description": "Pack registry uid", - "type": "string" - }, - "schema": { - "description": "Pack schema contains constraints such as data type, format, hints for the pack values", - "type": "array", - "items": { - "description": "PackSchema defines the schema definition, hints for the pack values", - "type": "object", + } + }, + "status": { + "description": "ClusterProfileStatusSummary defines the observed state of ClusterProfile", + "type": "object", + "properties": { + "fips": { + "description": "Cluster profile fips compliance status", "properties": { - "format": { + "mode": { "type": "string", - "x-omitempty": false - }, - "hints": { - "type": "array", - "items": { + "default": "none", + "enum": [ + "full", + "none", + "partial", + "unknown" + ] + } + } + }, + "inUseClusterUids": { + "description": "Deprecated. Use inUseClusters", + "type": "array", + "items": { + "type": "string" + } + }, + "inUseClusters": { + "type": "array", + "items": { + "description": "Object identity meta", + "type": "object", + "properties": { + "name": { "type": "string" }, - "x-omitempty": false - }, - "listOptions": { - "type": "array", - "items": { + "uid": { "type": "string" - }, - "x-omitempty": false - }, - "name": { - "type": "string", + } + } + } + }, + "isPublished": { + "type": "boolean", + "x-omitempty": false + }, + "pack": { + "description": "Cluster profile packs summary about the deprecated, disabled, deleted packs count", + "type": "object", + "properties": { + "deleted": { + "description": "Total count of deleted packs in a cluster profile", + "type": "number", "x-omitempty": false }, - "readonly": { - "type": "boolean", + "deprecated": { + "description": "Total count of deprecated packs in a cluster profile", + "type": "number", "x-omitempty": false }, - "regex": { - "type": "string", + "disabled": { + "description": "Total count of disabled packs in a cluster profile", + "type": "number", "x-omitempty": false - }, - "required": { - "type": "boolean", - "x-omitempty": false - }, - "type": { - "type": "string", - "x-omitempty": false - } - } - } - }, - "template": { - "description": "Pack template configuration", - "properties": { - "manifest": { - "description": "Pack template manifest content", - "type": "string" - }, - "parameters": { - "description": "Pack template parameters", - "properties": { - "inputParameters": { - "description": "Pack template input parameters array", - "type": "array", - "items": { - "description": "Pack template parameter", - "properties": { - "description": { - "description": "Pack template parameter description", - "type": "string" - }, - "displayName": { - "description": "Pack template parameter display name", - "type": "string" - }, - "format": { - "description": "Pack template parameter format", - "type": "string" - }, - "hidden": { - "description": "Pack template parameter hidden flag, if true then the parameter is hidden in the UI", - "type": "boolean" - }, - "listOptions": { - "description": "Pack template parameter list options as string array", - "type": "array", - "items": { - "type": "string" - } - }, - "name": { - "description": "Pack template parameter name", - "type": "string" - }, - "optional": { - "description": "Pack template parameter optional flag, if true then the parameter value is not mandatory", - "type": "boolean" - }, - "options": { - "description": "Pack template parameter options array", - "type": "object", - "additionalProperties": { - "description": "Pack template parameter option", - "type": "object", - "properties": { - "dependencies": { - "description": "Pack template parameter dependencies", - "type": "array", - "items": { - "description": "Pack template dependency", - "type": "object", - "properties": { - "layer": { - "description": "Pack template dependency pack layer", - "type": "string" - }, - "name": { - "description": "Pack template dependency pack name", - "type": "string" - }, - "readOnly": { - "description": "If true then dependency pack values can't be overridden", - "type": "boolean" - } - } - } - }, - "description": { - "description": "Pack template parameter description", - "type": "string" - }, - "label": { - "description": "Pack template parameter label", - "type": "string" - } - } - } - }, - "readOnly": { - "description": "Pack template parameter readonly flag, if true then the parameter value can't be overridden", - "type": "boolean" - }, - "regex": { - "description": "Pack template parameter regex, if set then parameter value must match with specified regex", - "type": "string" - }, - "targetKey": { - "description": "Pack template parameter target key which is mapped to the key defined in the pack values", - "type": "string" - }, - "type": { - "description": "Pack template parameter data type", - "type": "string" - }, - "value": { - "description": "Pack template parameter value", - "type": "string" - } - } - } - }, - "outputParameters": { - "description": "Pack template output parameters array", - "type": "array", - "items": { - "description": "Pack template parameter", - "properties": { - "description": { - "description": "Pack template parameter description", - "type": "string" - }, - "displayName": { - "description": "Pack template parameter display name", - "type": "string" - }, - "format": { - "description": "Pack template parameter format", - "type": "string" - }, - "hidden": { - "description": "Pack template parameter hidden flag, if true then the parameter is hidden in the UI", - "type": "boolean" - }, - "listOptions": { - "description": "Pack template parameter list options as string array", - "type": "array", - "items": { - "type": "string" - } - }, - "name": { - "description": "Pack template parameter name", - "type": "string" - }, - "optional": { - "description": "Pack template parameter optional flag, if true then the parameter value is not mandatory", - "type": "boolean" - }, - "options": { - "description": "Pack template parameter options array", - "type": "object", - "additionalProperties": { - "description": "Pack template parameter option", - "type": "object", - "properties": { - "dependencies": { - "description": "Pack template parameter dependencies", - "type": "array", - "items": { - "description": "Pack template dependency", - "type": "object", - "properties": { - "layer": { - "description": "Pack template dependency pack layer", - "type": "string" - }, - "name": { - "description": "Pack template dependency pack name", - "type": "string" - }, - "readOnly": { - "description": "If true then dependency pack values can't be overridden", - "type": "boolean" - } - } - } - }, - "description": { - "description": "Pack template parameter description", - "type": "string" - }, - "label": { - "description": "Pack template parameter label", - "type": "string" - } - } - } - }, - "readOnly": { - "description": "Pack template parameter readonly flag, if true then the parameter value can't be overridden", - "type": "boolean" - }, - "regex": { - "description": "Pack template parameter regex, if set then parameter value must match with specified regex", - "type": "string" - }, - "targetKey": { - "description": "Pack template parameter target key which is mapped to the key defined in the pack values", - "type": "string" - }, - "type": { - "description": "Pack template parameter data type", - "type": "string" - }, - "value": { - "description": "Pack template parameter value", - "type": "string" - } - } - } - } } - }, - "values": { - "description": "Pack template values", - "type": "string" } } - }, - "type": { - "type": "string", - "default": "spectro", - "enum": [ - "spectro", - "helm", - "manifest", - "oci" - ] - }, - "values": { - "description": "Pack values", - "type": "string" - }, - "version": { - "description": "Pack version", - "type": "string" - } - } - }, - "registry": { - "description": "Registry meta", - "type": "object", - "properties": { - "isDefault": { - "type": "boolean", - "x-omitempty": false - }, - "isPrivate": { - "type": "boolean", - "x-omitempty": false - }, - "kind": { - "type": "string" - }, - "name": { - "type": "string" - }, - "scope": { - "type": "string" - }, - "uid": { - "type": "string" } } } } - } - } - } - } - } - }, - "put": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Updates the specified pack information in the cluster profile", - "operationId": "v1ClusterProfilesUidPacksNameUpdate", - "parameters": [ - { - "name": "body", - "in": "body", - "schema": { - "description": "Pack update request payload", - "properties": { - "pack": { - "description": "Pack object", + }, + "listmeta": { + "description": "ListMeta describes metadata for the resource listing", "type": "object", - "required": [ - "uid", - "name" - ], "properties": { - "layer": { - "description": "Pack layer", - "type": "string" - }, - "name": { - "description": "Pack name", - "type": "string" - }, - "tag": { - "description": "Pack tag", - "type": "string" - }, - "type": { + "continue": { + "description": "Next token for the pagination. Next token is equal to empty string indicates end of result set.", "type": "string", - "default": "spectro", - "enum": [ - "spectro", - "helm", - "manifest", - "oci" - ] + "x-omitempty": false }, - "uid": { - "description": "Pack uid", - "type": "string" + "count": { + "description": "Total count of the resources which might change during pagination based on the resources addition or deletion", + "type": "integer", + "x-omitempty": false }, - "values": { - "description": "values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", - "type": "string" - } - } - } - } - } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "204": { - "description": "The resource was updated successfully" - } - } - }, - "delete": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Deletes the specified pack information in the cluster profile", - "operationId": "v1ClusterProfilesUidPacksNameDelete", - "parameters": [ - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "204": { - "description": "The resource was deleted successfully" - } - } - }, - "parameters": [ - { - "type": "string", - "description": "Cluster profile uid", - "name": "uid", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Cluster profile pack name", - "name": "packName", - "in": "path", - "required": true - } - ] - }, - "/v1/clusterprofiles/{uid}/packs/{packName}/config": { - "get": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Returns the specified cluster profile pack configuration", - "operationId": "v1ClusterProfilesUidPacksConfigGet", - "parameters": [ - { - "type": "string", - "description": "cluster profile uid", - "name": "uid", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Cluster profile pack name", - "name": "packName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Cluster profile pack uid", - "name": "packUid", - "in": "query", - "required": true - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "An array of cluster profile pack configurations", - "schema": { - "type": "object", - "required": [ - "items" - ], - "properties": { - "items": { - "description": "Cluster profile packs array", - "type": "array", - "uniqueItems": true, - "items": { - "description": "Pack configuration", - "type": "object", - "properties": { - "spec": { - "type": "object", - "properties": { - "associatedObject": { - "type": "string" - }, - "isValuesOverridden": { - "type": "boolean", - "x-omitempty": false - }, - "manifests": { - "type": "array", - "items": { - "type": "object", - "properties": { - "digest": { - "type": "string" - }, - "isOverridden": { - "type": "boolean", - "x-omitempty": false - }, - "name": { - "type": "string" - }, - "parentUid": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - } - }, - "name": { - "type": "string" - }, - "packUid": { - "type": "string" - }, - "scope": { - "type": "string" - }, - "tag": { - "type": "string" - }, - "type": { - "type": "string" - }, - "values": { - "type": "string" - }, - "version": { - "type": "string" - } - } - } + "limit": { + "description": "Number of records feteched", + "type": "integer", + "x-omitempty": false + }, + "offset": { + "description": "The next offset for the pagination. Starting index for which next request will be placed.", + "type": "integer", + "x-omitempty": false } } } @@ -67058,7 +65947,7 @@ } } }, - "/v1/clusterprofiles/{uid}/packs/{packName}/manifests": { + "/v1/dashboard/clusterprofiles/metadata": { "get": { "security": [ { @@ -67071,8 +65960,8 @@ "tags": [ "v1" ], - "summary": "Returns the associated manifests for the specified profile's pack", - "operationId": "v1ClusterProfilesUidPacksUidManifests", + "summary": "Retrieves a list of cluster profiles metadata", + "operationId": "v1ClusterProfilesMetadata", "parameters": [ { "type": "string", @@ -67083,7 +65972,7 @@ ], "responses": { "200": { - "description": "OK", + "description": "An array of cluster summary items", "schema": { "type": "object", "required": [ @@ -67091,86 +65980,30 @@ ], "properties": { "items": { - "description": "Manifests array", "type": "array", "uniqueItems": true, "items": { - "description": "Manifest object", + "description": "Cluster profile filter spec", "properties": { "metadata": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", + "description": "Object identity meta", "type": "object", "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, "name": { - "description": "Name of the resource.", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", "type": "string" } } }, "spec": { - "description": "Manifest spec", - "type": "object", "properties": { - "draft": { - "description": "Published manifest object", - "type": "object", - "properties": { - "content": { - "description": "Manifest content in yaml", - "type": "string" - }, - "digest": { - "description": "Manifest digest", - "type": "string" - } - } + "cloudType": { + "type": "string" }, - "published": { - "description": "Published manifest object", - "type": "object", - "properties": { - "content": { - "description": "Manifest content in yaml", - "type": "string" - }, - "digest": { - "description": "Manifest digest", - "type": "string" - } - } + "version": { + "type": "string" } } } @@ -67181,87 +66014,9 @@ } } } - }, - "post": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Adds manifest to the profiles packs and returns the added manifests uid", - "operationId": "v1ClusterProfilesUidPacksNameManifestsAdd", - "parameters": [ - { - "name": "body", - "in": "body", - "schema": { - "description": "Manifest request payload", - "properties": { - "content": { - "description": "Manifest content", - "type": "string" - }, - "name": { - "description": "Manifest name", - "type": "string" - } - } - } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "201": { - "description": "Created successfully", - "schema": { - "type": "object", - "required": [ - "uid" - ], - "properties": { - "uid": { - "type": "string" - } - } - }, - "headers": { - "AuditUid": { - "type": "string", - "description": "Audit uid for the request" - } - } - } - } - }, - "parameters": [ - { - "type": "string", - "description": "Cluster profile uid", - "name": "uid", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Cluster profile pack name", - "name": "packName", - "in": "path", - "required": true - } - ] + } }, - "/v1/clusterprofiles/{uid}/packs/{packName}/manifests/{manifestUid}": { + "/v1/dashboard/clusterprofiles/{uid}": { "get": { "security": [ { @@ -67274,8 +66029,8 @@ "tags": [ "v1" ], - "summary": "Returns the specified cluster profile pack manifest", - "operationId": "v1ClusterProfilesUidPacksNameManifestsUidGet", + "summary": "Retrieves a specified cluster profile summary", + "operationId": "v1ClusterProfilesUidSummary", "parameters": [ { "type": "string", @@ -67286,16 +66041,17 @@ ], "responses": { "200": { - "description": "OK", + "description": "Cluster profile summary response", "schema": { - "description": "Manifest object", + "description": "Cluster profile summary", + "type": "object", "properties": { "metadata": { "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -67312,7 +66068,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -67324,153 +66080,246 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, - "spec": { - "description": "Manifest spec", + "specSummary": { + "description": "Cluster profile spec summary", "type": "object", "properties": { "draft": { - "description": "Published manifest object", + "description": "Cluster profile template summary", "type": "object", "properties": { - "content": { - "description": "Manifest content in yaml", + "cloudType": { "type": "string" }, - "digest": { - "description": "Manifest digest", + "packs": { + "type": "array", + "items": { + "description": "Pack ref summary", + "properties": { + "addonType": { + "type": "string" + }, + "annotations": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "displayName": { + "type": "string" + }, + "layer": { + "type": "string", + "enum": [ + "kernel", + "os", + "k8s", + "cni", + "csi", + "addon" + ] + }, + "logoUrl": { + "type": "string" + }, + "name": { + "type": "string" + }, + "packUid": { + "type": "string" + }, + "tag": { + "type": "string" + }, + "type": { + "type": "string" + }, + "version": { + "type": "string" + } + } + } + }, + "type": { "type": "string" } } }, "published": { - "description": "Published manifest object", + "description": "Cluster profile template summary", "type": "object", "properties": { - "content": { - "description": "Manifest content in yaml", + "cloudType": { "type": "string" }, - "digest": { - "description": "Manifest digest", + "packs": { + "type": "array", + "items": { + "description": "Pack ref summary", + "properties": { + "addonType": { + "type": "string" + }, + "annotations": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "displayName": { + "type": "string" + }, + "layer": { + "type": "string", + "enum": [ + "kernel", + "os", + "k8s", + "cni", + "csi", + "addon" + ] + }, + "logoUrl": { + "type": "string" + }, + "name": { + "type": "string" + }, + "packUid": { + "type": "string" + }, + "tag": { + "type": "string" + }, + "type": { + "type": "string" + }, + "version": { + "type": "string" + } + } + } + }, + "type": { "type": "string" } } + }, + "version": { + "description": "Cluster profile's latest version", + "type": "string" + }, + "versions": { + "description": "Cluster profile's list of all the versions", + "type": "array", + "items": { + "description": "Cluster profile with version", + "properties": { + "uid": { + "type": "string" + }, + "version": { + "type": "string" + } + } + } } } - } - } - } - } - } - }, - "put": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Updates the specified manifest of the profile's pack", - "operationId": "v1ClusterProfilesUidPacksNameManifestsUidUpdate", - "parameters": [ - { - "name": "body", - "in": "body", - "schema": { - "description": "Manifest request payload", - "properties": { - "content": { - "description": "Manifest content", - "type": "string" }, - "name": { - "description": "Manifest name", - "type": "string" + "status": { + "description": "ClusterProfileStatusSummary defines the observed state of ClusterProfile", + "type": "object", + "properties": { + "fips": { + "description": "Cluster profile fips compliance status", + "properties": { + "mode": { + "type": "string", + "default": "none", + "enum": [ + "full", + "none", + "partial", + "unknown" + ] + } + } + }, + "inUseClusterUids": { + "description": "Deprecated. Use inUseClusters", + "type": "array", + "items": { + "type": "string" + } + }, + "inUseClusters": { + "type": "array", + "items": { + "description": "Object identity meta", + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + } + } + }, + "isPublished": { + "type": "boolean", + "x-omitempty": false + }, + "pack": { + "description": "Cluster profile packs summary about the deprecated, disabled, deleted packs count", + "type": "object", + "properties": { + "deleted": { + "description": "Total count of deleted packs in a cluster profile", + "type": "number", + "x-omitempty": false + }, + "deprecated": { + "description": "Total count of deprecated packs in a cluster profile", + "type": "number", + "x-omitempty": false + }, + "disabled": { + "description": "Total count of disabled packs in a cluster profile", + "type": "number", + "x-omitempty": false + } + } + } + } } } } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "204": { - "description": "The resource was updated successfully" - } - } - }, - "delete": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Deletes the specified cluster profile pack manifest", - "operationId": "v1ClusterProfilesUidPacksNameManifestsUidDelete", - "parameters": [ - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "204": { - "description": "The resource was deleted successfully" } } }, "parameters": [ { "type": "string", - "description": "Cluster profile uid", "name": "uid", "in": "path", "required": true - }, - { - "type": "string", - "description": "Cluster profile pack name", - "name": "packName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Cluster profile pack manifest uid", - "name": "manifestUid", - "in": "path", - "required": true } ] }, - "/v1/clusterprofiles/{uid}/publish": { - "patch": { + "/v1/dashboard/edgehosts/search": { + "post": { "security": [ { "ApiKey": [] @@ -67479,756 +66328,288 @@ "Authorization": [] } ], - "description": "Publish the draft cluster profile with next revision, the current draft cluster profile will be marked to published\nand the draft cluster profile will be set to null in the cluster profile template.\n", "tags": [ "v1" ], - "summary": "Publishes the specified cluster profile", - "operationId": "v1ClusterProfilesPublish", + "summary": "Retrieves a list of Edgehosts summary with provided search filter. Supported fields as per schema /v1/dashboard/edgehosts/search/schema", + "operationId": "v1DashboardEdgehostsSearch", "parameters": [ + { + "maximum": 20, + "type": "integer", + "format": "int64", + "description": "limit is a maximum number of responses to return for a list call. Maximum value of the limit is 20.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "name": "limit", + "in": "query" + }, + { + "type": "integer", + "format": "int64", + "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", + "name": "offset", + "in": "query" + }, { "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "204": { - "description": "Cluster profile published successfully" - } - } - }, - "parameters": [ - { - "type": "string", - "description": "Cluster profile uid", - "name": "uid", - "in": "path", - "required": true - } - ] - }, - "/v1/clusterprofiles/{uid}/spc/download": { - "get": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "produces": [ - "application/octet-stream" - ], - "tags": [ - "v1" - ], - "summary": "Downloads the specified cluster profile", - "operationId": "v1ClusterProfilesUidSpcDownload", - "parameters": [ - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "Download cluster profile archive file", - "schema": { - "type": "string", - "format": "binary" - }, - "headers": { - "Content-Disposition": { - "type": "string" - } - } - } - } - }, - "parameters": [ - { - "type": "string", - "description": "Cluster profile uid", - "name": "uid", - "in": "path", - "required": true - } - ] - }, - "/v1/clusterprofiles/{uid}/validate/packs": { - "post": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Validates specified cluster profile packs", - "operationId": "v1ClusterProfilesUidValidatePacks", - "parameters": [ - { - "type": "string", - "description": "Cluster profile uid", - "name": "uid", - "in": "path", - "required": true + "description": "continue token to paginate the subsequent data items", + "name": "continue", + "in": "query" }, { "name": "body", "in": "body", "schema": { - "description": "Cluster profile template spec", - "type": "object", - "properties": { - "cloudType": { - "type": "string" - }, - "packs": { - "description": "Cluster profile packs array", - "type": "array", - "uniqueItems": true, - "items": { - "description": "Pack request payload", - "type": "object", - "required": [ - "name" - ], - "properties": { - "layer": { - "description": "Pack layer", - "type": "string" - }, - "manifests": { - "description": "Pack manifests are additional content as part of the profile", - "type": "array", - "items": { - "description": "Manifest request payload", - "properties": { - "content": { - "description": "Manifest content", - "type": "string" - }, - "name": { - "description": "Manifest name", - "type": "string" - } - } - } - }, - "name": { - "description": "Pack name", - "type": "string" - }, - "registryUid": { - "description": "Pack registry uid", - "type": "string" - }, - "tag": { - "description": "Pack tag", - "type": "string" - }, - "type": { - "type": "string", - "default": "spectro", - "enum": [ - "spectro", - "helm", - "manifest", - "oci" - ] - }, - "uid": { - "description": "Pack uid", - "type": "string" - }, - "values": { - "description": "Pack values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", - "type": "string" - } - } - } - }, - "type": { - "type": "string", - "default": "cluster", - "enum": [ - "cluster", - "infra", - "add-on", - "system" - ] - } - } - } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "Cluster profile packs validation response", - "schema": { - "description": "Cluster profile validator response", - "type": "object", + "description": "Spectro cluster search filter summary spec", "properties": { - "packs": { - "description": "Constraint validator response", - "type": "object", + "filter": { "properties": { - "results": { + "conjunction": { + "type": "string", + "enum": [ + "and", + "or" + ], + "x-nullable": true + }, + "filterGroups": { "type": "array", "uniqueItems": true, "items": { - "description": "Constraint validator result", - "type": "object", "properties": { - "displayName": { - "type": "string" + "conjunction": { + "type": "string", + "enum": [ + "and", + "or" + ], + "x-nullable": true }, - "errors": { + "filters": { "type": "array", "uniqueItems": true, "items": { - "type": "object", "properties": { - "code": { - "type": "string" + "condition": { + "properties": { + "bool": { + "properties": { + "value": { + "type": "boolean" + } + } + }, + "date": { + "properties": { + "match": { + "properties": { + "conjunction": { + "type": "string", + "enum": [ + "and", + "or" + ], + "x-nullable": true + }, + "values": { + "type": "array", + "uniqueItems": true, + "items": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + } + } + } + }, + "negation": { + "type": "boolean" + }, + "operator": { + "type": "string", + "enum": [ + "eq", + "gt", + "gte", + "lt", + "lte", + "range" + ] + } + } + }, + "float": { + "properties": { + "match": { + "properties": { + "conjunction": { + "type": "string", + "enum": [ + "and", + "or" + ], + "x-nullable": true + }, + "values": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "number", + "format": "float64" + } + } + } + }, + "negation": { + "type": "boolean" + }, + "operator": { + "type": "string", + "enum": [ + "eq", + "gt", + "gte", + "lt", + "lte" + ] + } + } + }, + "int": { + "properties": { + "match": { + "properties": { + "conjunction": { + "type": "string", + "enum": [ + "and", + "or" + ], + "x-nullable": true + }, + "values": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "integer" + } + } + } + }, + "negation": { + "type": "boolean" + }, + "operator": { + "type": "string", + "enum": [ + "eq", + "gt", + "gte", + "lt", + "lte" + ] + } + } + }, + "keyValue": { + "properties": { + "ignoreCase": { + "type": "boolean" + }, + "key": { + "type": "string" + }, + "match": { + "properties": { + "conjunction": { + "type": "string", + "enum": [ + "and", + "or" + ], + "x-nullable": true + }, + "values": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + } + } + }, + "negation": { + "type": "boolean" + }, + "operator": { + "type": "string", + "enum": [ + "eq", + "contains", + "beginsWith" + ] + } + } + }, + "string": { + "properties": { + "ignoreCase": { + "type": "boolean" + }, + "match": { + "properties": { + "conjunction": { + "type": "string", + "enum": [ + "and", + "or" + ], + "x-nullable": true + }, + "values": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + } + } + }, + "negation": { + "type": "boolean" + }, + "operator": { + "type": "string", + "enum": [ + "eq", + "contains", + "beginsWith" + ] + } + } + } + } }, - "message": { + "property": { "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "string", + "int", + "float", + "bool", + "date", + "keyValue" + ] } } } - }, - "name": { - "type": "string" } } } } } - } - } - } - } - } - } - }, - "/v1/clusterprofiles/{uid}/variables": { - "get": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Retrieve a list of variables defined for the cluster profile", - "operationId": "V1ClusterProfilesUidVariablesGet", - "parameters": [ - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "object", - "properties": { - "variables": { - "description": "List of unique variable fields with schema constraints", - "type": "array", - "uniqueItems": true, - "items": { - "description": "Unique variable field with schema definition", - "type": "object", - "required": [ - "name" - ], - "properties": { - "defaultValue": { - "description": "The default value of the variable", - "type": "string" - }, - "description": { - "description": "Variable description", - "type": "string" - }, - "displayName": { - "description": "Unique display name of the variable", - "type": "string" - }, - "format": { - "description": "Format type of the variable value", - "type": "string", - "default": "string", - "enum": [ - "string", - "number", - "boolean", - "ipv4", - "ipv4cidr", - "ipv6", - "version" - ] - }, - "hidden": { - "description": "If true, then variable will be hidden for overriding the value. By default the hidden flag will be set to false", - "type": "boolean", - "x-omitempty": false - }, - "immutable": { - "description": "If true, then variable value can't be editable. By default the immutable flag will be set to false", - "type": "boolean", - "x-omitempty": false - }, - "isSensitive": { - "description": "If true, then default value will be masked. By default the isSensitive flag will be set to false", - "type": "boolean", - "x-omitempty": false - }, - "name": { - "description": "Variable name", - "type": "string" - }, - "regex": { - "description": "Regular expression pattern which the variable value must match", - "type": "string" - }, - "required": { - "description": "Flag to specify if the variable is optional or mandatory. If it is mandatory then default value must be provided", - "type": "boolean", - "x-omitempty": false - } - } - } - } - } - } - } - } - }, - "put": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Update the variables defined for a cluster profile", - "operationId": "V1ClusterProfilesUidVariablesPut", - "parameters": [ - { - "name": "body", - "in": "body", - "schema": { - "type": "object", - "properties": { - "variables": { - "description": "List of unique variable fields with schema constraints", - "type": "array", - "uniqueItems": true, - "items": { - "description": "Unique variable field with schema definition", - "type": "object", - "required": [ - "name" - ], - "properties": { - "defaultValue": { - "description": "The default value of the variable", - "type": "string" - }, - "description": { - "description": "Variable description", - "type": "string" - }, - "displayName": { - "description": "Unique display name of the variable", - "type": "string" - }, - "format": { - "description": "Format type of the variable value", - "type": "string", - "default": "string", - "enum": [ - "string", - "number", - "boolean", - "ipv4", - "ipv4cidr", - "ipv6", - "version" - ] - }, - "hidden": { - "description": "If true, then variable will be hidden for overriding the value. By default the hidden flag will be set to false", - "type": "boolean", - "x-omitempty": false - }, - "immutable": { - "description": "If true, then variable value can't be editable. By default the immutable flag will be set to false", - "type": "boolean", - "x-omitempty": false - }, - "isSensitive": { - "description": "If true, then default value will be masked. By default the isSensitive flag will be set to false", - "type": "boolean", - "x-omitempty": false - }, - "name": { - "description": "Variable name", - "type": "string" - }, - "regex": { - "description": "Regular expression pattern which the variable value must match", - "type": "string" - }, - "required": { - "description": "Flag to specify if the variable is optional or mandatory. If it is mandatory then default value must be provided", - "type": "boolean", - "x-omitempty": false - } - } - } - } - } - } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "204": { - "description": "The resource was updated successfully" - } - } - }, - "delete": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Deletes the specified cluster profile variables", - "operationId": "V1ClusterProfilesUidVariablesDelete", - "parameters": [ - { - "name": "body", - "in": "body", - "schema": { - "required": [ - "variables" - ], - "properties": { - "variables": { - "description": "Array of variable names", - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - } - } - } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "204": { - "description": "The resource was deleted successfully" - } - } - }, - "patch": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Update specific variables defined for a cluster profile", - "operationId": "V1ClusterProfilesUidVariablesPatch", - "parameters": [ - { - "name": "body", - "in": "body", - "schema": { - "type": "object", - "properties": { - "variables": { - "description": "List of unique variable fields with schema constraints", - "type": "array", - "uniqueItems": true, - "items": { - "description": "Unique variable field with schema definition", - "type": "object", - "required": [ - "name" - ], - "properties": { - "defaultValue": { - "description": "The default value of the variable", - "type": "string" - }, - "description": { - "description": "Variable description", - "type": "string" - }, - "displayName": { - "description": "Unique display name of the variable", - "type": "string" - }, - "format": { - "description": "Format type of the variable value", - "type": "string", - "default": "string", - "enum": [ - "string", - "number", - "boolean", - "ipv4", - "ipv4cidr", - "ipv6", - "version" - ] - }, - "hidden": { - "description": "If true, then variable will be hidden for overriding the value. By default the hidden flag will be set to false", - "type": "boolean", - "x-omitempty": false - }, - "immutable": { - "description": "If true, then variable value can't be editable. By default the immutable flag will be set to false", - "type": "boolean", - "x-omitempty": false - }, - "isSensitive": { - "description": "If true, then default value will be masked. By default the isSensitive flag will be set to false", - "type": "boolean", - "x-omitempty": false - }, - "name": { - "description": "Variable name", - "type": "string" - }, - "regex": { - "description": "Regular expression pattern which the variable value must match", - "type": "string" - }, - "required": { - "description": "Flag to specify if the variable is optional or mandatory. If it is mandatory then default value must be provided", - "type": "boolean", - "x-omitempty": false - } - } - } - } - } - } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "204": { - "description": "The resource was updated successfully" - } - } - }, - "parameters": [ - { - "type": "string", - "description": "Cluster profile uid", - "name": "uid", - "in": "path", - "required": true - } - ] - }, - "/v1/dashboard/appDeployments": { - "post": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Retrieves a list of application deployments filter summary Supported filter fields - [\"appDeploymentName\", \"clusterUid\", \"tags\"] Supported sort fields - [\"appDeploymentName\", \"creationTimestamp\", \"lastModifiedTimestamp\"]", - "operationId": "v1DashboardAppDeployments", - "parameters": [ - { - "maximum": 20, - "type": "integer", - "format": "int64", - "description": "limit is a maximum number of responses to return for a list call. Maximum value of the limit is 20.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", - "name": "limit", - "in": "query" - }, - { - "type": "integer", - "format": "int64", - "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", - "name": "offset", - "in": "query" - }, - { - "type": "string", - "description": "continue token to paginate the subsequent data items", - "name": "continue", - "in": "query" - }, - { - "name": "body", - "in": "body", - "schema": { - "description": "Application deployment filter summary spec", - "properties": { - "filter": { - "description": "Application deployment filter spec", - "properties": { - "appDeploymentName": { - "type": "object", - "properties": { - "beginsWith": { - "type": "string", - "x-nullable": true - }, - "contains": { - "type": "string", - "x-nullable": true - }, - "eq": { - "type": "string", - "x-nullable": true - }, - "ignoreCase": { - "type": "boolean", - "default": true - }, - "ne": { - "type": "string", - "x-nullable": true - } - } - }, - "clusterUids": { - "type": "object", - "properties": { - "beginsWith": { - "type": "array", - "items": { - "type": "string" - }, - "x-nullable": true - }, - "eq": { - "type": "array", - "items": { - "type": "string" - }, - "x-nullable": true - }, - "ignoreCase": { - "type": "boolean", - "default": true - }, - "ne": { - "type": "array", - "items": { - "type": "string" - }, - "x-nullable": true - } - } - }, - "tags": { - "type": "object", - "properties": { - "beginsWith": { - "type": "array", - "items": { - "type": "string" - }, - "x-nullable": true - }, - "eq": { - "type": "array", - "items": { - "type": "string" - }, - "x-nullable": true - }, - "ignoreCase": { - "type": "boolean", - "default": true - }, - "ne": { - "type": "array", - "items": { - "type": "string" - }, - "x-nullable": true - } - } - } - } }, "sort": { "type": "array", @@ -68238,7 +66619,10 @@ "field": { "type": "string", "enum": [ - "appDeploymentName", + "environment", + "clusterName", + "clusterState", + "healthState", "creationTimestamp", "lastModifiedTimestamp" ], @@ -68267,15 +66651,17 @@ ], "responses": { "200": { - "description": "An array of application deployment summary items", + "description": "An array of edgehost summary items", "schema": { "type": "object", + "required": [ + "items" + ], "properties": { - "appDeployments": { + "items": { "type": "array", "uniqueItems": true, "items": { - "description": "Application deployment summary", "type": "object", "properties": { "metadata": { @@ -68283,7 +66669,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -68300,7 +66686,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -68312,814 +66698,87 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, "spec": { - "description": "Application deployment spec summary", "type": "object", "properties": { - "config": { - "description": "Application deployment config summary", - "properties": { - "target": { - "description": "Application deployment target config summary", - "properties": { - "clusterRef": { - "description": "Application deployment cluster reference", + "clusterProfileTemplates": { + "type": "array", + "items": { + "description": "Edge host clusterprofile template summary", + "type": "object", + "properties": { + "cloudType": { + "type": "string" + }, + "name": { + "type": "string" + }, + "packs": { + "type": "array", + "items": { + "description": "Pack ref summary", "properties": { - "deploymentClusterType": { - "description": "Application deployment source cluster type[ \"virtualCluster\", \"hostCluster\" ]", + "addonType": { + "type": "string" + }, + "annotations": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "displayName": { + "type": "string" + }, + "layer": { "type": "string", "enum": [ - "virtual", - "host" + "kernel", + "os", + "k8s", + "cni", + "csi", + "addon" ] }, + "logoUrl": { + "type": "string" + }, "name": { - "description": "Application deployment source cluster name", "type": "string" }, - "uid": { - "description": "Application deployment source cluster uid", + "packUid": { + "type": "string" + }, + "tag": { + "type": "string" + }, + "type": { + "type": "string" + }, + "version": { "type": "string" } } } - } - } - } - }, - "profile": { - "description": "Application deployment profile summary", - "properties": { - "metadata": { - "description": "Application deployment profile metadata summary", - "properties": { - "name": { - "type": "string" - }, - "uid": { - "type": "string" - }, - "version": { - "type": "string" - } - } - }, - "template": { - "description": "Application profile template summary", - "type": "object", - "properties": { - "appTiers": { - "type": "array", - "items": { - "description": "Application profile's tier summary", - "properties": { - "name": { - "type": "string" - }, - "source": { - "description": "Application profile's tier source information", - "properties": { - "addonSubType": { - "type": "string" - }, - "addonType": { - "type": "string" - }, - "logoUrl": { - "type": "string" - }, - "name": { - "type": "string" - }, - "type": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - }, - "type": { - "type": "string" - }, - "uid": { - "type": "string" - }, - "version": { - "type": "string" - } - } - } - } - } - } - } - } - } - }, - "status": { - "description": "Application deployment status summary", - "type": "object", - "properties": { - "cluster": { - "description": "Application deployment cluster status", - "properties": { - "health": { - "description": "Application deployment cluster health status", - "properties": { - "state": { - "type": "string" - } - } - }, - "state": { - "type": "string" - } - } - }, - "notifications": { - "description": "Application deployment notifications", - "properties": { - "isAvailable": { - "type": "boolean", - "x-omitempty": false - } - } - }, - "state": { - "type": "string" - } - } - } - } - } - }, - "listmeta": { - "description": "ListMeta describes metadata for the resource listing", - "type": "object", - "properties": { - "continue": { - "description": "Next token for the pagination. Next token is equal to empty string indicates end of result set.", - "type": "string", - "x-omitempty": false - }, - "count": { - "description": "Total count of the resources which might change during pagination based on the resources addition or deletion", - "type": "integer", - "x-omitempty": false - }, - "limit": { - "description": "Number of records feteched", - "type": "integer", - "x-omitempty": false - }, - "offset": { - "description": "The next offset for the pagination. Starting index for which next request will be placed.", - "type": "integer", - "x-omitempty": false - } - } - } - } - } - } - } - } - }, - "/v1/dashboard/appProfiles": { - "post": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Retrieves a list of application profiles filter summary Supported filter fields - [\"profileName\", \"tags\"] Supported sort fields - [\"profileName\", \"creationTimestamp\", \"lastModifiedTimestamp\"]", - "operationId": "v1DashboardAppProfiles", - "parameters": [ - { - "maximum": 20, - "type": "integer", - "format": "int64", - "description": "limit is a maximum number of responses to return for a list call. Maximum value of the limit is 20.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", - "name": "limit", - "in": "query" - }, - { - "type": "integer", - "format": "int64", - "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", - "name": "offset", - "in": "query" - }, - { - "type": "string", - "description": "continue token to paginate the subsequent data items", - "name": "continue", - "in": "query" - }, - { - "name": "body", - "in": "body", - "schema": { - "description": "Application profile filter summary spec", - "properties": { - "filter": { - "description": "Application profile filter spec", - "properties": { - "profileName": { - "type": "object", - "properties": { - "beginsWith": { - "type": "string", - "x-nullable": true - }, - "contains": { - "type": "string", - "x-nullable": true - }, - "eq": { - "type": "string", - "x-nullable": true - }, - "ignoreCase": { - "type": "boolean", - "default": true - }, - "ne": { - "type": "string", - "x-nullable": true - } - } - }, - "tags": { - "type": "object", - "properties": { - "beginsWith": { - "type": "array", - "items": { - "type": "string" - }, - "x-nullable": true - }, - "eq": { - "type": "array", - "items": { - "type": "string" - }, - "x-nullable": true - }, - "ignoreCase": { - "type": "boolean", - "default": true - }, - "ne": { - "type": "array", - "items": { - "type": "string" - }, - "x-nullable": true - } - } - }, - "version": { - "type": "object", - "properties": { - "beginsWith": { - "type": "string", - "x-nullable": true - }, - "eq": { - "type": "string", - "x-nullable": true - }, - "gt": { - "type": "string", - "x-nullable": true - }, - "lt": { - "type": "string", - "x-nullable": true - }, - "ne": { - "type": "string", - "x-nullable": true - } - } - } - } - }, - "sort": { - "type": "array", - "uniqueItems": true, - "items": { - "properties": { - "field": { - "type": "string", - "enum": [ - "profileName", - "creationTimestamp", - "lastModifiedTimestamp" - ], - "x-nullable": true - }, - "order": { - "type": "string", - "default": "asc", - "enum": [ - "asc", - "desc" - ] - } - } - } - } - } - } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "An array of application profiles summary items", - "schema": { - "type": "object", - "properties": { - "appProfiles": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Application profile summary", - "type": "object", - "properties": { - "metadata": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", - "type": "object", - "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "name": { - "description": "Name of the resource.", - "type": "string" - }, - "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", - "type": "string" - } - } - }, - "spec": { - "description": "Application profile spec summary", - "type": "object", - "properties": { - "parentUid": { - "type": "string" - }, - "template": { - "description": "Application profile template summary", - "type": "object", - "properties": { - "appTiers": { - "type": "array", - "items": { - "description": "Application profile's tier summary", - "properties": { - "name": { - "type": "string" - }, - "source": { - "description": "Application profile's tier source information", - "properties": { - "addonSubType": { - "type": "string" - }, - "addonType": { - "type": "string" - }, - "logoUrl": { - "type": "string" - }, - "name": { - "type": "string" - }, - "type": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - }, - "type": { - "type": "string" - }, - "uid": { - "type": "string" - }, - "version": { - "type": "string" - } - } - } - } - } - }, - "version": { - "type": "string" - }, - "versions": { - "description": "Application profile's list of all the versions", - "type": "array", - "items": { - "description": "Application profile version", - "type": "object", - "properties": { - "uid": { - "type": "string" - }, - "version": { - "type": "string" - } - } - } - } - } - } - } - } - }, - "listmeta": { - "description": "ListMeta describes metadata for the resource listing", - "type": "object", - "properties": { - "continue": { - "description": "Next token for the pagination. Next token is equal to empty string indicates end of result set.", - "type": "string", - "x-omitempty": false - }, - "count": { - "description": "Total count of the resources which might change during pagination based on the resources addition or deletion", - "type": "integer", - "x-omitempty": false - }, - "limit": { - "description": "Number of records feteched", - "type": "integer", - "x-omitempty": false - }, - "offset": { - "description": "The next offset for the pagination. Starting index for which next request will be placed.", - "type": "integer", - "x-omitempty": false - } - } - } - } - } - } - } - } - }, - "/v1/dashboard/appProfiles/metadata": { - "get": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Retrieves a list of application profile metadata", - "operationId": "v1DashboardAppProfilesMetadata", - "parameters": [ - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "An array of application profile summary items", - "schema": { - "type": "object", - "properties": { - "appProfiles": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Application profile metadata summary", - "type": "object", - "properties": { - "metadata": { - "description": "Object identity meta", - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - }, - "spec": { - "properties": { - "version": { - "type": "string" - } - } - } - } - } - } - } - } - } - } - } - }, - "/v1/dashboard/appliances/metadata": { - "post": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Retrieves a list of edgehosts summary", - "operationId": "v1EdgeHostsMetadata", - "parameters": [ - { - "name": "body", - "in": "body", - "schema": { - "description": "Edge host metadata spec", - "properties": { - "filter": { - "description": "Edge hosts metadata filter spec", - "properties": { - "name": { - "type": "object", - "properties": { - "beginsWith": { - "type": "string", - "x-nullable": true - }, - "contains": { - "type": "string", - "x-nullable": true - }, - "eq": { - "type": "string", - "x-nullable": true - }, - "ignoreCase": { - "type": "boolean", - "default": true - }, - "ne": { - "type": "string", - "x-nullable": true - } - } - }, - "states": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string", - "enum": [ - "ready", - "unpaired", - "in-use" - ] - } - } - } - }, - "sort": { - "type": "array", - "uniqueItems": true, - "items": { - "properties": { - "field": { - "type": "string", - "enum": [ - "name", - "state", - "creationTimestamp", - "lastModifiedTimestamp" - ], - "x-nullable": true - }, - "order": { - "type": "string", - "default": "asc", - "enum": [ - "asc", - "desc" - ] - } - } - } - } - } - } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "An array of edgehost summary items", - "schema": { - "type": "object", - "required": [ - "items" - ], - "properties": { - "items": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "object", - "properties": { - "metadata": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", - "type": "object", - "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "name": { - "description": "Name of the resource.", - "type": "string" - }, - "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", - "type": "string" - } - } - }, - "spec": { - "type": "object", - "properties": { - "clusterProfileTemplates": { - "type": "array", - "items": { - "description": "Edge host clusterprofile template summary", - "type": "object", - "properties": { - "cloudType": { - "type": "string" - }, - "name": { - "type": "string" - }, - "packs": { - "type": "array", - "items": { - "description": "Pack ref summary", - "properties": { - "addonType": { - "type": "string" - }, - "annotations": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "displayName": { - "type": "string" - }, - "layer": { - "type": "string", - "enum": [ - "kernel", - "os", - "k8s", - "cni", - "csi", - "addon" - ] - }, - "logoUrl": { - "type": "string" - }, - "name": { - "type": "string" - }, - "packUid": { - "type": "string" - }, - "tag": { - "type": "string" - }, - "type": { - "type": "string" - }, - "version": { - "type": "string" - } - } - } - }, - "type": { - "type": "string" - }, - "uid": { - "type": "string" - }, - "version": { - "type": "string" + }, + "type": { + "type": "string" + }, + "uid": { + "type": "string" + }, + "version": { + "type": "string" } } } @@ -69346,6 +67005,32 @@ } } } + }, + "listmeta": { + "description": "ListMeta describes metadata for the resource listing", + "type": "object", + "properties": { + "continue": { + "description": "Next token for the pagination. Next token is equal to empty string indicates end of result set.", + "type": "string", + "x-omitempty": false + }, + "count": { + "description": "Total count of the resources which might change during pagination based on the resources addition or deletion", + "type": "integer", + "x-omitempty": false + }, + "limit": { + "description": "Number of records feteched", + "type": "integer", + "x-omitempty": false + }, + "offset": { + "description": "The next offset for the pagination. Starting index for which next request will be placed.", + "type": "integer", + "x-omitempty": false + } + } } } } @@ -69353,7 +67038,7 @@ } } }, - "/v1/dashboard/cloudaccounts/metadata": { + "/v1/dashboard/edgehosts/search/schema": { "get": { "security": [ { @@ -69366,14 +67051,9 @@ "tags": [ "v1" ], - "summary": "Retrieves a list of cloud accounts metadata", - "operationId": "v1DashboardCloudAccountsMetadata", + "summary": "Retrieves a schema for the Edgehost search filter", + "operationId": "v1DashboardEdgehostsSearchSchemaGet", "parameters": [ - { - "type": "string", - "name": "environment", - "in": "query" - }, { "type": "string", "description": "Scope the request to the specified project uid", @@ -69383,62 +67063,77 @@ ], "responses": { "200": { - "description": "An array of cloud accounts summary items", + "description": "An array of schema items", "schema": { - "type": "object", - "required": [ - "items" - ], "properties": { - "items": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Cloud account metadata summary", + "schema": { + "properties": { "properties": { - "kind": { - "type": "string" - }, - "metadata": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", - "type": "object", + "type": "array", + "items": { "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "default": { "type": "string", - "format": "date-time" + "x-order": 6 }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "displayName": { "type": "string", - "format": "date-time" + "x-order": 2 }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { + "enum": { + "type": "array", + "items": { "type": "string" - } + }, + "x-omitempty": true, + "x-order": 4 }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" + "enumValues": { + "type": "array", + "items": { + "properties": { + "displayValue": { + "type": "string" + }, + "value": { + "type": "string" + } + } + }, + "x-omitempty": true, + "x-order": 5 + }, + "hideDisplay": { + "type": "boolean", + "x-order": 1 + }, + "maxFloatVal": { + "type": "number", + "format": "float64", + "x-order": 10 + }, + "maxIntVal": { + "type": "integer", + "format": "int32", + "x-order": 8 + }, + "minFloatVal": { + "type": "number", + "format": "float64", + "x-order": 9 + }, + "minIntVal": { + "type": "integer", + "format": "int32", + "x-order": 7 }, "name": { - "description": "Name of the resource.", - "type": "string" + "type": "string", + "x-order": 0 }, - "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", - "type": "string" + "type": { + "type": "string", + "x-order": 3 } } } @@ -69451,7 +67146,7 @@ } } }, - "/v1/dashboard/clustergroups/{uid}/hostClusters": { + "/v1/dashboard/pcgs/search": { "post": { "security": [ { @@ -69464,20 +67159,14 @@ "tags": [ "v1" ], - "summary": "Retrieves a list of cluster summary for a given cluster group", - "operationId": "v1ClusterGroupUidHostClustersSummary", + "summary": "Retrieves a list of PCG summary with provided search filter. Supported fields as per schema /v1/dashboard/pcgs/search/schema", + "operationId": "v1DashboardPcgsSearchSummary", "parameters": [ { - "type": "string", - "name": "uid", - "in": "path", - "required": true - }, - { + "maximum": 20, "type": "integer", "format": "int64", - "default": 50, - "description": "limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "description": "limit is a maximum number of responses to return for a list call. Maximum value of the limit is 20.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", "name": "limit", "in": "query" }, @@ -69801,15 +67490,18 @@ "type": "array", "uniqueItems": true, "items": { - "description": "Spectro cluster summary", + "description": "Overlord defintiion", "type": "object", "properties": { + "kind": { + "type": "string" + }, "metadata": { "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -69826,7 +67518,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -69838,867 +67530,179 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, - "specSummary": { - "description": "Spectro cluster spec summary", + "spec": { + "description": "Overload spec", "type": "object", "properties": { - "archTypes": { - "description": "Architecture type of the cluster", - "type": "array", - "items": { - "type": "string", - "default": "amd64", - "enum": [ - "amd64", - "arm64" - ] - } + "cloudAccountUid": { + "type": "string", + "x-omitempty": false }, - "cloudAccountMeta": { - "description": "Cloud account meta information", - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } + "ipAddress": { + "type": "string" }, - "cloudConfig": { - "type": "object", - "properties": { - "cloudType": { - "type": "string" - }, - "machinePools": { - "description": "Machine pool meta information", - "type": "array", - "items": { + "ipPools": { + "type": "array", + "items": { + "description": "IP Pool entity definition", + "type": "object", + "properties": { + "metadata": { + "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", "type": "object", "properties": { - "cloudType": { - "type": "string" + "annotations": { + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", + "type": "object", + "additionalProperties": { + "type": "string" + } }, - "healthy": { - "description": "number of healthy machines", - "type": "integer", - "format": "int32", - "x-omitempty": false + "creationTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" }, - "infraProfileTemplate": { - "description": "Cluster profile template meta information", + "deletionTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "labels": { + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "lastModifiedTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "name": { + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + }, + "uid": { + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", + "type": "string" + } + } + }, + "spec": { + "type": "object", + "properties": { + "pool": { + "description": "Pool defines IP ranges or with CIDR for available IPs Gateway, Prefix and Nameserver if provided, will overwrite values in IPPool", "type": "object", "properties": { - "cloudType": { + "end": { + "description": "End is the last IP address that can be rendered. It is used as a validation that the rendered IP is in bound.", "type": "string" }, - "name": { - "description": "Cluster profile name", + "gateway": { + "description": "Gateway is the gateway ip address", "type": "string" }, - "packs": { - "description": "Cluster profile packs array", - "type": "array", - "items": { - "description": "PackRef server/name:tag to point to a pack PackRef is used when construct a ClusterProfile PackSpec is used for UI to render the parameters form ClusterProfile will not know inner details of a pack ClusterProfile only contain pack name:tag, and the param values user entered for it", - "type": "object", - "required": [ - "layer", - "name" - ], - "properties": { - "annotations": { - "description": "Annotations is used to allow packref to add more arbitrary information one example is to add git reference for values.yaml", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "digest": { - "description": "digest is used to specify the version should be installed by palette when pack upgrade available, change this digest to trigger upgrade", - "type": "string" - }, - "inValidReason": { - "type": "string" - }, - "isInvalid": { - "description": "pack is invalid when the associated tag is deleted from the registry", - "type": "boolean" - }, - "layer": { - "type": "string", - "enum": [ - "kernel", - "os", - "k8s", - "cni", - "csi", - "addon" - ] - }, - "logo": { - "description": "path to the pack logo", - "type": "string" - }, - "manifests": { - "type": "array", - "items": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", - "type": "string" - } - } - } - }, - "name": { - "description": "pack name", - "type": "string" - }, - "packUid": { - "description": "PackUID is Hubble packUID, not palette Pack.UID It is used by Hubble only.", - "type": "string" - }, - "params": { - "description": "params passed as env variables to be consumed at installation time", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "presets": { - "type": "array", - "items": { - "description": "PackPreset defines the preset pack values", - "type": "object", - "properties": { - "add": { - "type": "string", - "x-omitempty": false - }, - "displayName": { - "type": "string", - "x-omitempty": false - }, - "group": { - "type": "string", - "x-omitempty": false - }, - "name": { - "type": "string", - "x-omitempty": false - }, - "remove": { - "type": "array", - "items": { - "type": "string" - }, - "x-omitempty": false - } - } - } - }, - "registryUid": { - "description": "pack registry uid", - "type": "string" - }, - "schema": { - "type": "array", - "items": { - "description": "PackSchema defines the schema definition, hints for the pack values", - "type": "object", - "properties": { - "format": { - "type": "string", - "x-omitempty": false - }, - "hints": { - "type": "array", - "items": { - "type": "string" - }, - "x-omitempty": false - }, - "listOptions": { - "type": "array", - "items": { - "type": "string" - }, - "x-omitempty": false - }, - "name": { - "type": "string", - "x-omitempty": false - }, - "readonly": { - "type": "boolean", - "x-omitempty": false - }, - "regex": { - "type": "string", - "x-omitempty": false - }, - "required": { - "type": "boolean", - "x-omitempty": false - }, - "type": { - "type": "string", - "x-omitempty": false - } - } - } - }, - "server": { - "description": "pack registry server or helm repo", - "type": "string" - }, - "tag": { - "description": "pack tag", - "type": "string" - }, - "type": { - "description": "type of the pack", - "type": "string", - "enum": [ - "spectro", - "helm", - "manifest" - ] - }, - "values": { - "description": "values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", + "nameserver": { + "description": "Nameserver define search domains and nameserver addresses", + "type": "object", + "properties": { + "addresses": { + "type": "array", + "items": { "type": "string" - }, - "version": { - "description": "pack version", + } + }, + "search": { + "type": "array", + "items": { "type": "string" } } } }, - "scope": { - "description": "scope or context(system, tenant or project)", - "type": "string" + "prefix": { + "description": "Prefix is the mask of the network as integer (max 128)", + "type": "integer", + "format": "int32" }, - "type": { - "description": "Cluster profile type [ \"cluster\", \"infra\", \"add-on\", \"system\" ]", + "start": { + "description": "Start is the first ip address that can be rendered", "type": "string" }, - "uid": { - "description": "Cluster profile uid", + "subnet": { + "description": "Subnet is used to validate that the rendered IP is in bounds. eg: 192.168.0.0/24 If Start value is not given, start value is derived from the subnet ip incremented by 1 (start value is `192.168.0.1` for subnet `192.168.0.0/24`)", "type": "string" - }, - "version": { - "type": "integer", - "format": "int32" } } }, - "isControlPlane": { - "description": "whether this pool is for control plane", - "type": "boolean", - "x-omitempty": false - }, - "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", - "type": "array", - "items": { - "type": "string" - } - }, - "maintenanceMode": { - "description": "number of machines under maintenance", - "type": "integer", - "format": "int32", - "x-omitempty": false + "priavetGatewayUid": { + "type": "string" }, - "size": { - "description": "size of the pool, number of machines", - "type": "integer", - "format": "int32", + "restrictToSingleCluster": { + "description": "if true, restricts this IP pool to be used by single cluster at any time", + "type": "boolean", "x-omitempty": false } } - } - }, - "uid": { - "description": "Cluster's cloud config uid", - "type": "string" - } - } - }, - "clusterConfig": { - "type": "object", - "properties": { - "hostClusterConfig": { - "properties": { - "clusterGroup": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", - "type": "string" - } - } - } - } - } - } - }, - "clusterProfileTemplate": { - "description": "Cluster profile template meta information", - "type": "object", - "properties": { - "cloudType": { - "type": "string" - }, - "name": { - "description": "Cluster profile name", - "type": "string" - }, - "packs": { - "description": "Cluster profile packs array", - "type": "array", - "items": { - "description": "PackRef server/name:tag to point to a pack PackRef is used when construct a ClusterProfile PackSpec is used for UI to render the parameters form ClusterProfile will not know inner details of a pack ClusterProfile only contain pack name:tag, and the param values user entered for it", + }, + "status": { + "description": "IP Pool status", "type": "object", - "required": [ - "layer", - "name" - ], "properties": { - "annotations": { - "description": "Annotations is used to allow packref to add more arbitrary information one example is to add git reference for values.yaml", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "digest": { - "description": "digest is used to specify the version should be installed by palette when pack upgrade available, change this digest to trigger upgrade", - "type": "string" - }, - "inValidReason": { - "type": "string" - }, - "isInvalid": { - "description": "pack is invalid when the associated tag is deleted from the registry", - "type": "boolean" - }, - "layer": { - "type": "string", - "enum": [ - "kernel", - "os", - "k8s", - "cni", - "csi", - "addon" - ] - }, - "logo": { - "description": "path to the pack logo", - "type": "string" - }, - "manifests": { + "allottedIps": { "type": "array", + "uniqueItems": true, "items": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", - "type": "string" - } - } - } - }, - "name": { - "description": "pack name", - "type": "string" - }, - "packUid": { - "description": "PackUID is Hubble packUID, not palette Pack.UID It is used by Hubble only.", - "type": "string" - }, - "params": { - "description": "params passed as env variables to be consumed at installation time", - "type": "object", - "additionalProperties": { "type": "string" } }, - "presets": { - "type": "array", - "items": { - "description": "PackPreset defines the preset pack values", - "type": "object", - "properties": { - "add": { - "type": "string", - "x-omitempty": false - }, - "displayName": { - "type": "string", - "x-omitempty": false - }, - "group": { - "type": "string", - "x-omitempty": false - }, - "name": { - "type": "string", - "x-omitempty": false - }, - "remove": { - "type": "array", - "items": { - "type": "string" - }, - "x-omitempty": false - } - } - } - }, - "registryUid": { - "description": "pack registry uid", - "type": "string" - }, - "schema": { + "associatedClusters": { "type": "array", + "uniqueItems": true, "items": { - "description": "PackSchema defines the schema definition, hints for the pack values", - "type": "object", - "properties": { - "format": { - "type": "string", - "x-omitempty": false - }, - "hints": { - "type": "array", - "items": { - "type": "string" - }, - "x-omitempty": false - }, - "listOptions": { - "type": "array", - "items": { - "type": "string" - }, - "x-omitempty": false - }, - "name": { - "type": "string", - "x-omitempty": false - }, - "readonly": { - "type": "boolean", - "x-omitempty": false - }, - "regex": { - "type": "string", - "x-omitempty": false - }, - "required": { - "type": "boolean", - "x-omitempty": false - }, - "type": { - "type": "string", - "x-omitempty": false - } - } + "type": "string" } }, - "server": { - "description": "pack registry server or helm repo", - "type": "string" - }, - "tag": { - "description": "pack tag", - "type": "string" - }, - "type": { - "description": "type of the pack", - "type": "string", - "enum": [ - "spectro", - "helm", - "manifest" - ] - }, - "values": { - "description": "values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", - "type": "string" - }, - "version": { - "description": "pack version", - "type": "string" + "inUse": { + "type": "boolean", + "x-omitempty": false } } } - }, - "scope": { - "description": "scope or context(system, tenant or project)", - "type": "string" - }, - "type": { - "description": "Cluster profile type [ \"cluster\", \"infra\", \"add-on\", \"system\" ]", - "type": "string" - }, - "uid": { - "description": "Cluster profile uid", - "type": "string" - }, - "version": { - "type": "integer", - "format": "int32" } } }, - "clusterProfileTemplates": { - "type": "array", - "items": { - "description": "Cluster profile template meta information", - "type": "object", - "properties": { - "cloudType": { - "type": "string" - }, - "name": { - "description": "Cluster profile name", - "type": "string" - }, - "packs": { - "description": "Cluster profile packs array", - "type": "array", - "items": { - "description": "PackRef server/name:tag to point to a pack PackRef is used when construct a ClusterProfile PackSpec is used for UI to render the parameters form ClusterProfile will not know inner details of a pack ClusterProfile only contain pack name:tag, and the param values user entered for it", - "type": "object", - "required": [ - "layer", - "name" - ], - "properties": { - "annotations": { - "description": "Annotations is used to allow packref to add more arbitrary information one example is to add git reference for values.yaml", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "digest": { - "description": "digest is used to specify the version should be installed by palette when pack upgrade available, change this digest to trigger upgrade", - "type": "string" - }, - "inValidReason": { - "type": "string" - }, - "isInvalid": { - "description": "pack is invalid when the associated tag is deleted from the registry", - "type": "boolean" - }, - "layer": { - "type": "string", - "enum": [ - "kernel", - "os", - "k8s", - "cni", - "csi", - "addon" - ] - }, - "logo": { - "description": "path to the pack logo", - "type": "string" - }, - "manifests": { - "type": "array", - "items": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", - "type": "string" - } - } - } - }, - "name": { - "description": "pack name", - "type": "string" - }, - "packUid": { - "description": "PackUID is Hubble packUID, not palette Pack.UID It is used by Hubble only.", - "type": "string" - }, - "params": { - "description": "params passed as env variables to be consumed at installation time", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "presets": { - "type": "array", - "items": { - "description": "PackPreset defines the preset pack values", - "type": "object", - "properties": { - "add": { - "type": "string", - "x-omitempty": false - }, - "displayName": { - "type": "string", - "x-omitempty": false - }, - "group": { - "type": "string", - "x-omitempty": false - }, - "name": { - "type": "string", - "x-omitempty": false - }, - "remove": { - "type": "array", - "items": { - "type": "string" - }, - "x-omitempty": false - } - } - } - }, - "registryUid": { - "description": "pack registry uid", - "type": "string" - }, - "schema": { - "type": "array", - "items": { - "description": "PackSchema defines the schema definition, hints for the pack values", - "type": "object", - "properties": { - "format": { - "type": "string", - "x-omitempty": false - }, - "hints": { - "type": "array", - "items": { - "type": "string" - }, - "x-omitempty": false - }, - "listOptions": { - "type": "array", - "items": { - "type": "string" - }, - "x-omitempty": false - }, - "name": { - "type": "string", - "x-omitempty": false - }, - "readonly": { - "type": "boolean", - "x-omitempty": false - }, - "regex": { - "type": "string", - "x-omitempty": false - }, - "required": { - "type": "boolean", - "x-omitempty": false - }, - "type": { - "type": "string", - "x-omitempty": false - } - } - } - }, - "server": { - "description": "pack registry server or helm repo", - "type": "string" - }, - "tag": { - "description": "pack tag", - "type": "string" - }, - "type": { - "description": "type of the pack", - "type": "string", - "enum": [ - "spectro", - "helm", - "manifest" - ] - }, - "values": { - "description": "values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", - "type": "string" - }, - "version": { - "description": "pack version", - "type": "string" - } - } - } - }, - "scope": { - "description": "scope or context(system, tenant or project)", - "type": "string" - }, - "type": { - "description": "Cluster profile type [ \"cluster\", \"infra\", \"add-on\", \"system\" ]", - "type": "string" - }, - "uid": { - "description": "Cluster profile uid", - "type": "string" - }, - "version": { - "type": "integer", - "format": "int32" - } - } - } + "isSelfHosted": { + "type": "boolean" }, - "projectMeta": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } + "isSystem": { + "type": "boolean" + }, + "spectroClusterUid": { + "type": "string", + "x-omitempty": false + }, + "tenantUid": { + "type": "string" } } }, "status": { - "description": "Spectro cluster status summary", + "description": "Overload status", + "type": "object", "properties": { - "clusterImport": { - "type": "object", - "properties": { - "importLink": { - "description": "import link to download and install ally-lite, palette-lite", - "type": "string" - }, - "isBrownfield": { - "description": "Deprecated. Use the 'spec.clusterType'", - "type": "boolean", - "x-omitempty": false - }, - "state": { - "description": "cluster import status", - "type": "string" - } - } - }, - "cost": { - "description": "Resource Cost information", - "type": "object", - "properties": { - "cloud": { - "description": "Cloud cost information", - "type": "object", - "properties": { - "compute": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "storage": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "total": { - "type": "number", - "format": "float64", - "x-omitempty": false - } - } - }, - "total": { - "type": "number", - "format": "float64", - "x-omitempty": false - } - } - }, - "fips": { - "properties": { - "mode": { - "type": "string", - "default": "none", - "enum": [ - "full", - "none", - "partial", - "unknown" - ] - } - } - }, "health": { "description": "Spectro cluster health status", "properties": { @@ -70755,130 +67759,23 @@ } } }, - "hourlyRate": { - "description": "Resource Cost information", - "type": "object", - "properties": { - "cloud": { - "description": "Cloud cost information", - "type": "object", - "properties": { - "compute": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "storage": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "total": { - "type": "number", - "format": "float64", - "x-omitempty": false - } - } - }, - "total": { - "type": "number", - "format": "float64", - "x-omitempty": false - } - } + "isActive": { + "type": "boolean", + "x-omitempty": false }, - "location": { - "description": "Cluster location information", - "type": "object", - "properties": { - "coordinates": { - "type": "array", - "items": { - "type": "number", - "format": "float64" - } - }, - "countryCode": { - "type": "string" - }, - "countryName": { - "type": "string" - }, - "regionCode": { - "type": "string" - }, - "regionName": { - "type": "string" - } - } + "isReady": { + "type": "boolean", + "x-omitempty": false }, - "metrics": { - "description": "Spectro cluster metrics", - "properties": { - "cpu": { - "description": "Compute metrics", - "type": "object", - "properties": { - "lastUpdatedTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "limit": { - "type": "number", - "x-omitempty": false - }, - "request": { - "type": "number", - "x-omitempty": false - }, - "total": { - "type": "number", - "x-omitempty": false - }, - "unit": { - "type": "string" - }, - "usage": { - "type": "number", - "x-omitempty": false - } - } - }, - "memory": { - "description": "Compute metrics", - "type": "object", - "properties": { - "lastUpdatedTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "limit": { - "type": "number", - "x-omitempty": false - }, - "request": { - "type": "number", - "x-omitempty": false - }, - "total": { - "type": "number", - "x-omitempty": false - }, - "unit": { - "type": "string" - }, - "usage": { - "type": "number", - "x-omitempty": false - } - } - } + "kubectlCommands": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" } }, "notifications": { - "description": "Spectro cluster notifications", + "description": "Cluster notifications status", "properties": { "isAvailable": { "type": "boolean", @@ -70886,132 +67783,435 @@ } } }, - "repave": { - "description": "Cluster repave status", - "properties": { - "state": { - "type": "string", - "default": "Pending", - "enum": [ - "Pending", - "Approved", - "Reverted" - ] - } - } - }, "state": { "type": "string" + } + } + } + } + } + }, + "listmeta": { + "description": "ListMeta describes metadata for the resource listing", + "type": "object", + "properties": { + "continue": { + "description": "Next token for the pagination. Next token is equal to empty string indicates end of result set.", + "type": "string", + "x-omitempty": false + }, + "count": { + "description": "Total count of the resources which might change during pagination based on the resources addition or deletion", + "type": "integer", + "x-omitempty": false + }, + "limit": { + "description": "Number of records feteched", + "type": "integer", + "x-omitempty": false + }, + "offset": { + "description": "The next offset for the pagination. Starting index for which next request will be placed.", + "type": "integer", + "x-omitempty": false + } + } + } + } + } + } + } + } + }, + "/v1/dashboard/pcgs/search/schema": { + "get": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Retrieves a schema for the PCG search filter", + "operationId": "v1DashboardPcgSearchSchemaGet", + "parameters": [ + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "200": { + "description": "An array of schema items", + "schema": { + "properties": { + "schema": { + "properties": { + "properties": { + "type": "array", + "items": { + "properties": { + "default": { + "type": "string", + "x-order": 6 }, - "virtual": { - "properties": { - "appDeployments": { - "description": "list of apps deployed on the virtual cluster", - "type": "array", - "items": { - "description": "Object resource reference", - "type": "object", - "properties": { - "kind": { - "type": "string" - }, - "name": { - "type": "string" - }, - "projectUid": { - "type": "string" - }, - "tenantUid": { - "type": "string" - }, - "uid": { - "type": "string" - } - } + "displayName": { + "type": "string", + "x-order": 2 + }, + "enum": { + "type": "array", + "items": { + "type": "string" + }, + "x-omitempty": true, + "x-order": 4 + }, + "enumValues": { + "type": "array", + "items": { + "properties": { + "displayValue": { + "type": "string" + }, + "value": { + "type": "string" } - }, - "clusterGroup": { - "description": "Object resource reference", - "type": "object", - "properties": { - "kind": { - "type": "string" - }, - "name": { - "type": "string" - }, - "projectUid": { - "type": "string" - }, - "tenantUid": { - "type": "string" - }, - "uid": { - "type": "string" - } + } + }, + "x-omitempty": true, + "x-order": 5 + }, + "hideDisplay": { + "type": "boolean", + "x-order": 1 + }, + "maxFloatVal": { + "type": "number", + "format": "float64", + "x-order": 10 + }, + "maxIntVal": { + "type": "integer", + "format": "int32", + "x-order": 8 + }, + "minFloatVal": { + "type": "number", + "format": "float64", + "x-order": 9 + }, + "minIntVal": { + "type": "integer", + "format": "int32", + "x-order": 7 + }, + "name": { + "type": "string", + "x-order": 0 + }, + "type": { + "type": "string", + "x-order": 3 + } + } + } + } + } + } + } + } + } + } + } + }, + "/v1/dashboard/projects": { + "post": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "operationId": "v1ProjectsFilterSummary", + "parameters": [ + { + "type": "integer", + "format": "int64", + "default": 50, + "description": "limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "name": "limit", + "in": "query" + }, + { + "type": "integer", + "format": "int64", + "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", + "name": "offset", + "in": "query" + }, + { + "type": "string", + "description": "continue token to paginate the subsequent data items", + "name": "continue", + "in": "query" + }, + { + "name": "body", + "in": "body", + "schema": { + "description": "Project filter summary spec", + "properties": { + "filter": { + "description": "Project filter spec", + "properties": { + "name": { + "type": "object", + "properties": { + "beginsWith": { + "type": "string", + "x-nullable": true + }, + "contains": { + "type": "string", + "x-nullable": true + }, + "eq": { + "type": "string", + "x-nullable": true + }, + "ignoreCase": { + "type": "boolean", + "default": true + }, + "ne": { + "type": "string", + "x-nullable": true + } + } + } + } + }, + "sort": { + "type": "array", + "uniqueItems": true, + "items": { + "properties": { + "field": { + "type": "string", + "enum": [ + "name", + "creationTimestamp", + "lastModifiedTimestamp" + ], + "x-nullable": true + }, + "order": { + "type": "string", + "default": "asc", + "enum": [ + "asc", + "desc" + ] + } + } + } + } + } + } + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "200": { + "description": "An array of project filter summary items", + "schema": { + "type": "object", + "required": [ + "items" + ], + "properties": { + "items": { + "type": "array", + "uniqueItems": true, + "items": { + "description": "Project summary", + "type": "object", + "properties": { + "metadata": { + "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", + "type": "object", + "properties": { + "annotations": { + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "creationTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "deletionTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "labels": { + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "lastModifiedTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "name": { + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + }, + "uid": { + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", + "type": "string" + } + } + }, + "specSummary": { + "type": "object", + "properties": { + "logoUrl": { + "type": "string" + }, + "teams": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + } + } + }, + "users": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "uid": { + "type": "string" } + } + } + } + } + }, + "status": { + "description": "Project status summary", + "type": "object", + "properties": { + "clustersHealth": { + "description": "Spectro Clusters health data", + "type": "object", + "properties": { + "errored": { + "type": "integer", + "format": "int32", + "x-omitempty": false }, - "hostCluster": { - "description": "Object resource reference", + "healthy": { + "type": "integer", + "format": "int32", + "x-omitempty": false + }, + "running": { + "type": "integer", + "format": "int32", + "x-omitempty": false + }, + "unhealthy": { + "type": "integer", + "format": "int32", + "x-omitempty": false + } + } + }, + "status": { + "description": "Project status", + "properties": { + "cleanUpStatus": { + "description": "Project cleanup status", "type": "object", "properties": { - "kind": { - "type": "string" - }, - "name": { - "type": "string" - }, - "projectUid": { - "type": "string" - }, - "tenantUid": { - "type": "string" + "cleanedResources": { + "type": "array", + "items": { + "type": "string" + } }, - "uid": { - "type": "string" - } - } - }, - "lifecycleStatus": { - "properties": { "msg": { - "description": "error or success msg of lifecycle", "type": "string" }, - "status": { - "description": "lifecycle status", - "type": "string", - "enum": [ - "Pausing", - "Paused", - "Resuming", - "Running", - "Error" - ] + "state": { + "type": "string" } } }, - "state": { - "description": "cluster virtual host status", - "type": "string" + "isDisabled": { + "type": "boolean" + } + } + }, + "usage": { + "description": "Project usage summary", + "type": "object", + "properties": { + "alloyCpuCores": { + "type": "number", + "x-omitempty": false }, - "virtualClusters": { - "description": "list of virtual clusters deployed on the cluster", + "clusters": { "type": "array", "items": { - "description": "Object resource reference", + "description": "Cluster usage summary", "type": "object", "properties": { - "kind": { - "type": "string" - }, - "name": { - "type": "string" + "cpuCores": { + "type": "number", + "x-omitempty": false }, - "projectUid": { - "type": "string" + "isAlloy": { + "type": "boolean", + "x-omitempty": false }, - "tenantUid": { + "name": { "type": "string" }, "uid": { @@ -71019,6 +68219,10 @@ } } } + }, + "pureCpuCores": { + "type": "number", + "x-omitempty": false } } } @@ -71059,8 +68263,8 @@ } } }, - "/v1/dashboard/clustergroups/{uid}/virtualClusters": { - "post": { + "/v1/dashboard/projects/metadata": { + "get": { "security": [ { "ApiKey": [] @@ -71072,322 +68276,295 @@ "tags": [ "v1" ], - "summary": "Retrieves a list of cluster summary for a given cluster group", - "operationId": "v1ClusterGroupUidVirtualClustersSummary", + "summary": "Retrieves a list of projects metadata", + "operationId": "v1ProjectsMetadata", "parameters": [ { "type": "string", - "name": "uid", - "in": "path", - "required": true - }, - { - "type": "integer", - "format": "int64", - "default": 50, - "description": "limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", - "name": "limit", - "in": "query" - }, - { - "type": "integer", - "format": "int64", - "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", - "name": "offset", + "description": "Name of the project", + "name": "name", "in": "query" }, { "type": "string", - "description": "continue token to paginate the subsequent data items", - "name": "continue", - "in": "query" + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "200": { + "description": "An array of project metadata items", + "schema": { + "type": "object", + "required": [ + "items" + ], + "properties": { + "items": { + "type": "array", + "uniqueItems": true, + "items": { + "description": "Project metadata", + "properties": { + "metadata": { + "description": "Object identity meta", + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + }, + "/v1/dashboard/spectroclusters/cost": { + "post": { + "security": [ + { + "ApiKey": [] }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Retrieves spectro clusters cloud cost summary information", + "operationId": "v1DashboardSpectroClustersCostSummary", + "parameters": [ { "name": "body", "in": "body", "schema": { - "description": "Spectro cluster search filter summary spec", + "description": "Spectro cluster cloud cost summary spec", + "type": "object", "properties": { "filter": { + "description": "Spectro cluster cloud cost summary filter", + "type": "object", "properties": { - "conjunction": { + "clouds": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + }, + "endTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", "type": "string", - "enum": [ - "and", - "or" - ], - "x-nullable": true + "format": "date-time" }, - "filterGroups": { + "projects": { "type": "array", "uniqueItems": true, "items": { - "properties": { - "conjunction": { - "type": "string", - "enum": [ - "and", - "or" - ], - "x-nullable": true - }, - "filters": { - "type": "array", - "uniqueItems": true, - "items": { - "properties": { - "condition": { - "properties": { - "bool": { - "properties": { - "value": { - "type": "boolean" - } - } - }, - "date": { - "properties": { - "match": { - "properties": { - "conjunction": { - "type": "string", - "enum": [ - "and", - "or" - ], - "x-nullable": true - }, - "values": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - } - } - } - }, - "negation": { - "type": "boolean" - }, - "operator": { - "type": "string", - "enum": [ - "eq", - "gt", - "gte", - "lt", - "lte", - "range" - ] - } - } - }, - "float": { - "properties": { - "match": { - "properties": { - "conjunction": { - "type": "string", - "enum": [ - "and", - "or" - ], - "x-nullable": true - }, - "values": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "number", - "format": "float64" - } - } - } - }, - "negation": { - "type": "boolean" - }, - "operator": { - "type": "string", - "enum": [ - "eq", - "gt", - "gte", - "lt", - "lte" - ] - } - } - }, - "int": { - "properties": { - "match": { - "properties": { - "conjunction": { - "type": "string", - "enum": [ - "and", - "or" - ], - "x-nullable": true - }, - "values": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "integer" - } - } - } - }, - "negation": { - "type": "boolean" - }, - "operator": { - "type": "string", - "enum": [ - "eq", - "gt", - "gte", - "lt", - "lte" - ] - } - } - }, - "keyValue": { - "properties": { - "ignoreCase": { - "type": "boolean" - }, - "key": { - "type": "string" - }, - "match": { - "properties": { - "conjunction": { - "type": "string", - "enum": [ - "and", - "or" - ], - "x-nullable": true - }, - "values": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - } - } - }, - "negation": { - "type": "boolean" - }, - "operator": { - "type": "string", - "enum": [ - "eq", - "contains", - "beginsWith" - ] - } - } - }, - "string": { - "properties": { - "ignoreCase": { - "type": "boolean" - }, - "match": { - "properties": { - "conjunction": { - "type": "string", - "enum": [ - "and", - "or" - ], - "x-nullable": true - }, - "values": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - } - } - }, - "negation": { - "type": "boolean" - }, - "operator": { - "type": "string", - "enum": [ - "eq", - "contains", - "beginsWith" - ] - } - } - } - } - }, - "property": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "string", - "int", - "float", - "bool", - "date", - "keyValue" - ] - } - } - } - } - } + "type": "string" + } + }, + "startTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "workspaces": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" } } } }, - "sort": { + "options": { + "description": "Spectro cluster cloud cost summary options", + "type": "object", + "properties": { + "groupBy": { + "type": "string", + "default": "project", + "enum": [ + "tenant", + "project", + "cloud", + "cluster" + ] + }, + "period": { + "type": "integer", + "format": "int32", + "default": 1440 + } + } + } + } + } + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "200": { + "description": "An array of resources cloud cost summary items", + "schema": { + "description": "Resources cloud cost summary information", + "type": "object", + "properties": { + "resources": { "type": "array", - "uniqueItems": true, "items": { + "description": "Resource cloud cost summary information", + "type": "object", "properties": { - "field": { - "type": "string", - "enum": [ - "environment", - "clusterName", - "clusterState", - "healthState", - "creationTimestamp", - "lastModifiedTimestamp" + "data": { + "type": "array", + "uniqueItems": true, + "items": { + "description": "Cloud cost data point information", + "type": "object", + "properties": { + "compute": { + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "storage": { + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "timestamp": { + "type": "number", + "format": "int64" + }, + "total": { + "type": "number", + "format": "float64", + "x-omitempty": false + } + } + } + }, + "entity": { + "type": "object", + "required": [ + "uid" ], - "x-nullable": true + "properties": { + "kind": { + "type": "string" + }, + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + } }, - "order": { - "type": "string", - "default": "asc", - "enum": [ - "asc", - "desc" - ] + "total": { + "description": "Resource total cloud cost information", + "type": "object", + "properties": { + "compute": { + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "storage": { + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "total": { + "type": "number", + "format": "float64", + "x-omitempty": false + } + } } } } + }, + "total": { + "description": "Resource total cloud cost information", + "type": "object", + "properties": { + "compute": { + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "storage": { + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "total": { + "type": "number", + "format": "float64", + "x-omitempty": false + } + } } } } + } + } + } + }, + "/v1/dashboard/spectroclusters/filters/workspace": { + "get": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Retrieves a list of running, non rbac configured clusters in a workspace", + "operationId": "v1SpectroClustersFiltersWorkspace", + "parameters": [ + { + "type": "integer", + "format": "int64", + "default": 50, + "description": "limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "name": "limit", + "in": "query" + }, + { + "type": "integer", + "format": "int64", + "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", + "name": "offset", + "in": "query" + }, + { + "type": "string", + "description": "continue token to paginate the subsequent data items", + "name": "continue", + "in": "query" }, { "type": "string", @@ -71417,7 +68594,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -71434,7 +68611,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -71446,11 +68623,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -71570,11 +68747,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -71730,7 +68907,7 @@ "x-omitempty": false }, "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", + "description": "labels for this pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -71771,11 +68948,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -71850,11 +69027,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -72072,11 +69249,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -72486,7 +69663,7 @@ } }, "notifications": { - "description": "Spectro cluster notifications", + "description": "Cluster notifications status", "properties": { "isAvailable": { "type": "boolean", @@ -72667,8 +69844,8 @@ } } }, - "/v1/dashboard/clusterprofiles": { - "post": { + "/v1/dashboard/spectroclusters/metadata": { + "get": { "security": [ { "ApiKey": [] @@ -72680,186 +69857,168 @@ "tags": [ "v1" ], - "summary": "Retrieves a list of cluster profiles filter summary Supported filter fields - [\"profileName\", \"tags\", \"profileType\", \"environment\"] Supported sort fields - [\"profileName\", \"environment\", \"profileType\", \"creationTimestamp\", \"lastModifiedTimestamp\"]", - "operationId": "v1ClusterProfilesFilterSummary", + "summary": "Retrieves a list of cluster summary metadata", + "operationId": "v1SpectroClustersMetadataGet", "parameters": [ { - "maximum": 20, - "type": "integer", - "format": "int64", - "description": "limit is a maximum number of responses to return for a list call. Maximum value of the limit is 20.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", - "name": "limit", - "in": "query" - }, - { - "type": "integer", - "format": "int64", - "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", - "name": "offset", - "in": "query" - }, - { + "enum": [ + "hostclusters", + "strictHostclusters" + ], "type": "string", - "description": "continue token to paginate the subsequent data items", - "name": "continue", + "name": "quickFilter", "in": "query" }, { - "name": "body", - "in": "body", + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "200": { + "description": "An array of cluster summary items", "schema": { - "description": "Spectro cluster filter summary spec", + "type": "object", + "required": [ + "items" + ], "properties": { - "filter": { - "description": "Cluster profile filter spec", - "properties": { - "environment": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - }, - "fips": { - "type": "string", - "default": "none", - "enum": [ - "full", - "none", - "partial", - "unknown" - ] - }, - "profileName": { - "type": "object", - "properties": { - "beginsWith": { - "type": "string", - "x-nullable": true - }, - "contains": { - "type": "string", - "x-nullable": true - }, - "eq": { - "type": "string", - "x-nullable": true - }, - "ignoreCase": { - "type": "boolean", - "default": true - }, - "ne": { - "type": "string", - "x-nullable": true + "items": { + "type": "array", + "uniqueItems": true, + "items": { + "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", + "type": "object", + "properties": { + "annotations": { + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", + "type": "object", + "additionalProperties": { + "type": "string" } - } - }, - "profileType": { - "type": "array", - "uniqueItems": true, - "items": { + }, + "creationTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", "type": "string", - "default": "cluster", - "enum": [ - "cluster", - "infra", - "add-on", - "system" - ] + "format": "date-time" + }, + "deletionTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "labels": { + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "lastModifiedTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "name": { + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + }, + "uid": { + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", + "type": "string" } + } + } + } + } + } + } + } + }, + "post": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Retrieves a list of cluster summary", + "operationId": "v1SpectroClustersMetadata", + "parameters": [ + { + "name": "body", + "in": "body", + "schema": { + "description": "Spectro cluster metadata spec", + "properties": { + "filter": { + "description": "Spectro cluster filter spec", + "properties": { + "environment": { + "type": "string" }, - "scope": { - "type": "string", - "enum": [ - "system", - "tenant", - "project" - ] + "includeVirtual": { + "type": "boolean", + "default": false }, - "tags": { - "type": "object", - "properties": { - "beginsWith": { - "type": "array", - "items": { - "type": "string" - }, - "x-nullable": true - }, - "eq": { - "type": "array", - "items": { - "type": "string" - }, - "x-nullable": true - }, - "ignoreCase": { - "type": "boolean", - "default": true - }, - "ne": { - "type": "array", - "items": { - "type": "string" - }, - "x-nullable": true - } - } + "isAlloy": { + "description": "isAlloy is renamed to isImported", + "type": "boolean", + "default": false }, - "version": { + "isImportReadOnly": { + "type": "boolean", + "default": true + }, + "isImported": { + "type": "boolean", + "default": false + }, + "name": { "type": "object", "properties": { "beginsWith": { "type": "string", "x-nullable": true }, - "eq": { + "contains": { "type": "string", "x-nullable": true }, - "gt": { + "eq": { "type": "string", "x-nullable": true }, - "lt": { - "type": "string", - "x-nullable": true + "ignoreCase": { + "type": "boolean", + "default": true }, "ne": { "type": "string", "x-nullable": true } } + }, + "state": { + "type": "string" } } }, "sort": { - "type": "array", - "uniqueItems": true, - "items": { - "properties": { - "field": { - "type": "string", - "enum": [ - "profileName", - "environment", - "profileType", - "creationTimestamp", - "lastModifiedTimestamp" - ], - "x-nullable": true - }, - "order": { - "type": "string", - "default": "asc", - "enum": [ - "asc", - "desc" - ] - } - } - } + "type": "string", + "enum": [ + "environment", + "state", + "name" + ], + "x-nullable": true } } } @@ -72873,7 +70032,7 @@ ], "responses": { "200": { - "description": "An array of cluster profiles summary items", + "description": "An array of cluster summary items", "schema": { "type": "object", "required": [ @@ -72884,656 +70043,46 @@ "type": "array", "uniqueItems": true, "items": { - "description": "Cluster profile summary", + "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", "type": "object", "properties": { - "metadata": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", + "annotations": { + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", - "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "name": { - "description": "Name of the resource.", - "type": "string" - }, - "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", - "type": "string" - } + "additionalProperties": { + "type": "string" } }, - "specSummary": { - "description": "Cluster profile spec summary", - "type": "object", - "properties": { - "draft": { - "description": "Cluster profile template summary", - "type": "object", - "properties": { - "cloudType": { - "type": "string" - }, - "packs": { - "type": "array", - "items": { - "description": "Pack ref summary", - "properties": { - "addonType": { - "type": "string" - }, - "annotations": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "displayName": { - "type": "string" - }, - "layer": { - "type": "string", - "enum": [ - "kernel", - "os", - "k8s", - "cni", - "csi", - "addon" - ] - }, - "logoUrl": { - "type": "string" - }, - "name": { - "type": "string" - }, - "packUid": { - "type": "string" - }, - "tag": { - "type": "string" - }, - "type": { - "type": "string" - }, - "version": { - "type": "string" - } - } - } - }, - "type": { - "type": "string" - } - } - }, - "published": { - "description": "Cluster profile template summary", - "type": "object", - "properties": { - "cloudType": { - "type": "string" - }, - "packs": { - "type": "array", - "items": { - "description": "Pack ref summary", - "properties": { - "addonType": { - "type": "string" - }, - "annotations": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "displayName": { - "type": "string" - }, - "layer": { - "type": "string", - "enum": [ - "kernel", - "os", - "k8s", - "cni", - "csi", - "addon" - ] - }, - "logoUrl": { - "type": "string" - }, - "name": { - "type": "string" - }, - "packUid": { - "type": "string" - }, - "tag": { - "type": "string" - }, - "type": { - "type": "string" - }, - "version": { - "type": "string" - } - } - } - }, - "type": { - "type": "string" - } - } - }, - "version": { - "description": "Cluster profile's latest version", - "type": "string" - }, - "versions": { - "description": "Cluster profile's list of all the versions", - "type": "array", - "items": { - "description": "Cluster profile with version", - "properties": { - "uid": { - "type": "string" - }, - "version": { - "type": "string" - } - } - } - } - } + "creationTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" }, - "status": { - "description": "ClusterProfileStatusSummary defines the observed state of ClusterProfile", - "type": "object", - "properties": { - "fips": { - "description": "Cluster profile fips compliance status", - "properties": { - "mode": { - "type": "string", - "default": "none", - "enum": [ - "full", - "none", - "partial", - "unknown" - ] - } - } - }, - "inUseClusterUids": { - "description": "Deprecated. Use inUseClusters", - "type": "array", - "items": { - "type": "string" - } - }, - "inUseClusters": { - "type": "array", - "items": { - "description": "Object identity meta", - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - } - }, - "isPublished": { - "type": "boolean", - "x-omitempty": false - }, - "pack": { - "description": "Cluster profile packs summary about the deprecated, disabled, deleted packs count", - "type": "object", - "properties": { - "deleted": { - "description": "Total count of deleted packs in a cluster profile", - "type": "number", - "x-omitempty": false - }, - "deprecated": { - "description": "Total count of deprecated packs in a cluster profile", - "type": "number", - "x-omitempty": false - }, - "disabled": { - "description": "Total count of disabled packs in a cluster profile", - "type": "number", - "x-omitempty": false - } - } - } - } - } - } - } - }, - "listmeta": { - "description": "ListMeta describes metadata for the resource listing", - "type": "object", - "properties": { - "continue": { - "description": "Next token for the pagination. Next token is equal to empty string indicates end of result set.", - "type": "string", - "x-omitempty": false - }, - "count": { - "description": "Total count of the resources which might change during pagination based on the resources addition or deletion", - "type": "integer", - "x-omitempty": false - }, - "limit": { - "description": "Number of records feteched", - "type": "integer", - "x-omitempty": false - }, - "offset": { - "description": "The next offset for the pagination. Starting index for which next request will be placed.", - "type": "integer", - "x-omitempty": false - } - } - } - } - } - } - } - } - }, - "/v1/dashboard/clusterprofiles/metadata": { - "get": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Retrieves a list of cluster profiles metadata", - "operationId": "v1ClusterProfilesMetadata", - "parameters": [ - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "An array of cluster summary items", - "schema": { - "type": "object", - "required": [ - "items" - ], - "properties": { - "items": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Cluster profile filter spec", - "properties": { - "metadata": { - "description": "Object identity meta", + "deletionTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "labels": { + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", - "properties": { - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } + "additionalProperties": { + "type": "string" } }, - "spec": { - "properties": { - "cloudType": { - "type": "string" - }, - "version": { - "type": "string" - } - } - } - } - } - } - } - } - } - } - } - }, - "/v1/dashboard/clusterprofiles/{uid}": { - "get": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Retrieves a specified cluster profile summary", - "operationId": "v1ClusterProfilesUidSummary", - "parameters": [ - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "Cluster profile summary response", - "schema": { - "description": "Cluster profile summary", - "type": "object", - "properties": { - "metadata": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", - "type": "object", - "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { + "lastModifiedTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "name": { + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" - } - }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "name": { - "description": "Name of the resource.", - "type": "string" - }, - "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", - "type": "string" - } - } - }, - "specSummary": { - "description": "Cluster profile spec summary", - "type": "object", - "properties": { - "draft": { - "description": "Cluster profile template summary", - "type": "object", - "properties": { - "cloudType": { - "type": "string" - }, - "packs": { - "type": "array", - "items": { - "description": "Pack ref summary", - "properties": { - "addonType": { - "type": "string" - }, - "annotations": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "displayName": { - "type": "string" - }, - "layer": { - "type": "string", - "enum": [ - "kernel", - "os", - "k8s", - "cni", - "csi", - "addon" - ] - }, - "logoUrl": { - "type": "string" - }, - "name": { - "type": "string" - }, - "packUid": { - "type": "string" - }, - "tag": { - "type": "string" - }, - "type": { - "type": "string" - }, - "version": { - "type": "string" - } - } - } - }, - "type": { - "type": "string" - } - } - }, - "published": { - "description": "Cluster profile template summary", - "type": "object", - "properties": { - "cloudType": { - "type": "string" - }, - "packs": { - "type": "array", - "items": { - "description": "Pack ref summary", - "properties": { - "addonType": { - "type": "string" - }, - "annotations": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "displayName": { - "type": "string" - }, - "layer": { - "type": "string", - "enum": [ - "kernel", - "os", - "k8s", - "cni", - "csi", - "addon" - ] - }, - "logoUrl": { - "type": "string" - }, - "name": { - "type": "string" - }, - "packUid": { - "type": "string" - }, - "tag": { - "type": "string" - }, - "type": { - "type": "string" - }, - "version": { - "type": "string" - } - } - } - }, - "type": { - "type": "string" - } - } - }, - "version": { - "description": "Cluster profile's latest version", - "type": "string" - }, - "versions": { - "description": "Cluster profile's list of all the versions", - "type": "array", - "items": { - "description": "Cluster profile with version", - "properties": { - "uid": { - "type": "string" - }, - "version": { - "type": "string" - } - } - } - } - } - }, - "status": { - "description": "ClusterProfileStatusSummary defines the observed state of ClusterProfile", - "type": "object", - "properties": { - "fips": { - "description": "Cluster profile fips compliance status", - "properties": { - "mode": { - "type": "string", - "default": "none", - "enum": [ - "full", - "none", - "partial", - "unknown" - ] - } - } - }, - "inUseClusterUids": { - "description": "Deprecated. Use inUseClusters", - "type": "array", - "items": { + }, + "uid": { + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } - }, - "inUseClusters": { - "type": "array", - "items": { - "description": "Object identity meta", - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - } - }, - "isPublished": { - "type": "boolean", - "x-omitempty": false - }, - "pack": { - "description": "Cluster profile packs summary about the deprecated, disabled, deleted packs count", - "type": "object", - "properties": { - "deleted": { - "description": "Total count of deleted packs in a cluster profile", - "type": "number", - "x-omitempty": false - }, - "deprecated": { - "description": "Total count of deprecated packs in a cluster profile", - "type": "number", - "x-omitempty": false - }, - "disabled": { - "description": "Total count of disabled packs in a cluster profile", - "type": "number", - "x-omitempty": false - } - } } } } @@ -73541,17 +70090,9 @@ } } } - }, - "parameters": [ - { - "type": "string", - "name": "uid", - "in": "path", - "required": true - } - ] + } }, - "/v1/dashboard/edgehosts/search": { + "/v1/dashboard/spectroclusters/metadata/search": { "post": { "security": [ { @@ -73564,30 +70105,9 @@ "tags": [ "v1" ], - "summary": "Retrieves a list of Edgehosts summary with provided search filter. Supported fields as per schema /v1/dashboard/edgehosts/search/schema", - "operationId": "v1DashboardEdgehostsSearch", + "summary": "Retrieves a list of cluster metadata with provided search filter spec Supported sort fields - [\"environment\", \"clusterName\", \"clusterState\", \"creationTimestamp\", \"lastModifiedTimestamp\"]", + "operationId": "v1SpectroClustersMetadataSearch", "parameters": [ - { - "maximum": 20, - "type": "integer", - "format": "int64", - "description": "limit is a maximum number of responses to return for a list call. Maximum value of the limit is 20.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", - "name": "limit", - "in": "query" - }, - { - "type": "integer", - "format": "int64", - "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", - "name": "offset", - "in": "query" - }, - { - "type": "string", - "description": "continue token to paginate the subsequent data items", - "name": "continue", - "in": "query" - }, { "name": "body", "in": "body", @@ -73884,7 +70404,7 @@ ], "responses": { "200": { - "description": "An array of edgehost summary items", + "description": "An array of cluster summary meta items", "schema": { "type": "object", "required": [ @@ -73895,6 +70415,7 @@ "type": "array", "uniqueItems": true, "items": { + "description": "Spectro cluster meta summary", "type": "object", "properties": { "metadata": { @@ -73902,7 +70423,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -73919,7 +70440,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -73931,245 +70452,67 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, - "spec": { + "specSummary": { + "description": "Spectro cluster meta summary", "type": "object", "properties": { - "clusterProfileTemplates": { + "archType": { + "description": "Architecture type of the cluster", "type": "array", "items": { - "description": "Edge host clusterprofile template summary", - "type": "object", - "properties": { - "cloudType": { - "type": "string" - }, - "name": { - "type": "string" - }, - "packs": { - "type": "array", - "items": { - "description": "Pack ref summary", - "properties": { - "addonType": { - "type": "string" - }, - "annotations": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "displayName": { - "type": "string" - }, - "layer": { - "type": "string", - "enum": [ - "kernel", - "os", - "k8s", - "cni", - "csi", - "addon" - ] - }, - "logoUrl": { - "type": "string" - }, - "name": { - "type": "string" - }, - "packUid": { - "type": "string" - }, - "tag": { - "type": "string" - }, - "type": { - "type": "string" - }, - "version": { - "type": "string" - } - } - } - }, - "type": { - "type": "string" - }, - "uid": { - "type": "string" - }, - "version": { - "type": "string" - } - } + "type": "string", + "default": "amd64", + "enum": [ + "arm64", + "amd64" + ] } }, - "device": { - "description": "DeviceSpec defines the desired state of Device", + "cloudAccountUid": { + "type": "string" + }, + "cloudRegion": { + "type": "string" + }, + "cloudType": { + "type": "string" + }, + "clusterType": { + "type": "string" + }, + "importMode": { + "type": "string" + }, + "location": { + "description": "Cluster location information", "type": "object", "properties": { - "archType": { - "description": "Architecture type of the edge host", - "type": "string", - "default": "amd64", - "enum": [ - "arm64", - "amd64" - ] + "coordinates": { + "type": "array", + "items": { + "type": "number", + "format": "float64" + } }, - "cpu": { - "type": "object", - "properties": { - "cores": { - "description": "number of cpu cores", - "type": "integer", - "format": "int32" - } - } - }, - "disks": { - "type": "array", - "items": { - "type": "object", - "properties": { - "controller": { - "type": "string" - }, - "partitions": { - "type": "array", - "items": { - "type": "object", - "properties": { - "fileSystemType": { - "type": "string" - }, - "freeSpace": { - "type": "integer", - "format": "int32" - }, - "mountPoint": { - "type": "string" - }, - "totalSpace": { - "type": "integer", - "format": "int32" - }, - "usedSpace": { - "type": "integer", - "format": "int32" - } - } - } - }, - "size": { - "description": "Size in GB", - "type": "integer", - "format": "int32" - }, - "vendor": { - "type": "string" - } - } - } - }, - "gpus": { - "type": "array", - "items": { - "type": "object", - "properties": { - "addresses": { - "description": "Addresses is a map of PCI device entry name to its addresses.\nExample entry would be \"11:00.0 VGA compatible controller [0300]: NVIDIA\nCorporation Device [10de:1eb1] (rev a1)\"- \u003e 0000_11_00_0\" The address is\nBDF (Bus Device Function) identifier format seperated by underscores. The\nfirst 4 bits are almost always 0000. In the above example 11 is Bus, 00\nis Device,0 is function. The values of these addreses are expected in hexadecimal\nformat\n", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "model": { - "description": "Model is the model of GPU, for a given vendor, for eg., TU104GL [Tesla T4]", - "type": "string" - }, - "vendor": { - "description": "Vendor is the GPU vendor, for eg., NVIDIA or AMD", - "type": "string" - } - } - } - }, - "memory": { - "type": "object", - "properties": { - "sizeInMB": { - "description": "memory size in bytes", - "type": "integer", - "format": "int64" - } - } + "countryCode": { + "type": "string" }, - "nics": { - "type": "array", - "items": { - "type": "object", - "properties": { - "dns": { - "type": "array", - "items": { - "type": "string" - } - }, - "gateway": { - "type": "string" - }, - "ip": { - "type": "string" - }, - "isDefault": { - "type": "boolean" - }, - "macAddr": { - "type": "string" - }, - "nicName": { - "type": "string" - }, - "subnet": { - "type": "string" - } - } - } + "countryName": { + "type": "string" }, - "os": { - "type": "object", - "properties": { - "family": { - "type": "string" - }, - "version": { - "type": "string" - } - } - } - } - }, - "host": { - "description": "Host specifications", - "properties": { - "hostAddress": { - "description": "HostAddress is a FQDN or IP address of the Host", + "regionCode": { "type": "string" }, - "macAddress": { + "regionName": { "type": "string" } } @@ -74185,54 +70528,67 @@ } } }, - "type": { - "type": "string" + "tags": { + "type": "array", + "items": { + "type": "string" + } } } }, "status": { - "type": "object", + "description": "Spectro cluster meta status summary", "properties": { - "health": { - "description": "EdgeHostHealth defines the desired health state of EdgeHostDevice", + "cost": { + "description": "Cluster meta Cost information", + "type": "object", "properties": { - "agentVersion": { - "type": "string" - }, - "message": { - "type": "string" - }, - "state": { + "total": { + "type": "number", + "format": "float64", + "x-omitempty": false + } + } + }, + "fips": { + "properties": { + "mode": { "type": "string", + "default": "none", "enum": [ - "healthy", - "unhealthy" + "full", + "none", + "partial", + "unknown" ] } } }, - "inUseClusters": { - "type": "array", - "items": { - "description": "Object identity meta", - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } + "health": { + "description": "Cluster meta health information", + "type": "object", + "properties": { + "isHeartBeatFailed": { + "type": "boolean", + "x-omitempty": false + }, + "state": { + "type": "string" } } }, "state": { - "type": "string", - "enum": [ - "ready", - "unpaired", - "in-use" - ] + "type": "string" + }, + "updates": { + "description": "Cluster meta updates information", + "type": "object", + "properties": { + "isUpdatesPending": { + "type": "boolean", + "x-omitempty": false + } + } } } } @@ -74271,7 +70627,7 @@ } } }, - "/v1/dashboard/edgehosts/search/schema": { + "/v1/dashboard/spectroclusters/metadata/search/schema": { "get": { "security": [ { @@ -74284,8 +70640,8 @@ "tags": [ "v1" ], - "summary": "Retrieves a schema for the Edgehost search filter", - "operationId": "v1DashboardEdgehostsSearchSchemaGet", + "summary": "Retrieves a schema for the cluster metadata search filter", + "operationId": "v1SpectroClustersMetadataSearchSchema", "parameters": [ { "type": "string", @@ -74296,7 +70652,7 @@ ], "responses": { "200": { - "description": "An array of schema items", + "description": "An array of cluster meta schema items", "schema": { "properties": { "schema": { @@ -74379,8 +70735,8 @@ } } }, - "/v1/dashboard/pcgs/search": { - "post": { + "/v1/dashboard/spectroclusters/repaveStatus": { + "get": { "security": [ { "ApiKey": [] @@ -74392,8 +70748,8 @@ "tags": [ "v1" ], - "summary": "Retrieves a list of PCG summary with provided search filter. Supported fields as per schema /v1/dashboard/pcgs/search/schema", - "operationId": "v1DashboardPcgsSearchSummary", + "summary": "Retrieves a list of clusters with the desired repave state", + "operationId": "v1DashboardSpectroClustersRepaveList", "parameters": [ { "maximum": 20, @@ -74417,291 +70773,15 @@ "in": "query" }, { - "name": "body", - "in": "body", - "schema": { - "description": "Spectro cluster search filter summary spec", - "properties": { - "filter": { - "properties": { - "conjunction": { - "type": "string", - "enum": [ - "and", - "or" - ], - "x-nullable": true - }, - "filterGroups": { - "type": "array", - "uniqueItems": true, - "items": { - "properties": { - "conjunction": { - "type": "string", - "enum": [ - "and", - "or" - ], - "x-nullable": true - }, - "filters": { - "type": "array", - "uniqueItems": true, - "items": { - "properties": { - "condition": { - "properties": { - "bool": { - "properties": { - "value": { - "type": "boolean" - } - } - }, - "date": { - "properties": { - "match": { - "properties": { - "conjunction": { - "type": "string", - "enum": [ - "and", - "or" - ], - "x-nullable": true - }, - "values": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - } - } - } - }, - "negation": { - "type": "boolean" - }, - "operator": { - "type": "string", - "enum": [ - "eq", - "gt", - "gte", - "lt", - "lte", - "range" - ] - } - } - }, - "float": { - "properties": { - "match": { - "properties": { - "conjunction": { - "type": "string", - "enum": [ - "and", - "or" - ], - "x-nullable": true - }, - "values": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "number", - "format": "float64" - } - } - } - }, - "negation": { - "type": "boolean" - }, - "operator": { - "type": "string", - "enum": [ - "eq", - "gt", - "gte", - "lt", - "lte" - ] - } - } - }, - "int": { - "properties": { - "match": { - "properties": { - "conjunction": { - "type": "string", - "enum": [ - "and", - "or" - ], - "x-nullable": true - }, - "values": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "integer" - } - } - } - }, - "negation": { - "type": "boolean" - }, - "operator": { - "type": "string", - "enum": [ - "eq", - "gt", - "gte", - "lt", - "lte" - ] - } - } - }, - "keyValue": { - "properties": { - "ignoreCase": { - "type": "boolean" - }, - "key": { - "type": "string" - }, - "match": { - "properties": { - "conjunction": { - "type": "string", - "enum": [ - "and", - "or" - ], - "x-nullable": true - }, - "values": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - } - } - }, - "negation": { - "type": "boolean" - }, - "operator": { - "type": "string", - "enum": [ - "eq", - "contains", - "beginsWith" - ] - } - } - }, - "string": { - "properties": { - "ignoreCase": { - "type": "boolean" - }, - "match": { - "properties": { - "conjunction": { - "type": "string", - "enum": [ - "and", - "or" - ], - "x-nullable": true - }, - "values": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - } - } - }, - "negation": { - "type": "boolean" - }, - "operator": { - "type": "string", - "enum": [ - "eq", - "contains", - "beginsWith" - ] - } - } - } - } - }, - "property": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "string", - "int", - "float", - "bool", - "date", - "keyValue" - ] - } - } - } - } - } - } - } - } - }, - "sort": { - "type": "array", - "uniqueItems": true, - "items": { - "properties": { - "field": { - "type": "string", - "enum": [ - "environment", - "clusterName", - "clusterState", - "healthState", - "creationTimestamp", - "lastModifiedTimestamp" - ], - "x-nullable": true - }, - "order": { - "type": "string", - "default": "asc", - "enum": [ - "asc", - "desc" - ] - } - } - } - } - } - } + "enum": [ + "Pending", + "Approved", + "Reverted" + ], + "type": "string", + "default": "Pending", + "name": "repaveState", + "in": "query" }, { "type": "string", @@ -74723,18 +70803,15 @@ "type": "array", "uniqueItems": true, "items": { - "description": "Overlord defintiion", + "description": "Spectro cluster summary", "type": "object", "properties": { - "kind": { - "type": "string" - }, "metadata": { "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -74751,7 +70828,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -74763,695 +70840,1192 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, - "spec": { - "description": "Overload spec", + "specSummary": { + "description": "Spectro cluster spec summary", "type": "object", "properties": { - "cloudAccountUid": { - "type": "string", - "x-omitempty": false - }, - "ipAddress": { - "type": "string" - }, - "ipPools": { + "archTypes": { + "description": "Architecture type of the cluster", "type": "array", "items": { - "description": "IP Pool entity definition", - "type": "object", - "properties": { - "metadata": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", + "type": "string", + "default": "amd64", + "enum": [ + "amd64", + "arm64" + ] + } + }, + "cloudAccountMeta": { + "description": "Cloud account meta information", + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + } + }, + "cloudConfig": { + "type": "object", + "properties": { + "cloudType": { + "type": "string" + }, + "machinePools": { + "description": "Machine pool meta information", + "type": "array", + "items": { "type": "object", "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "name": { - "description": "Name of the resource.", + "cloudType": { "type": "string" }, - "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", - "type": "string" - } - } - }, - "spec": { - "type": "object", - "properties": { - "pool": { - "description": "Pool defines IP ranges or with CIDR for available IPs Gateway, Prefix and Nameserver if provided, will overwrite values in IPPool", + "healthy": { + "description": "number of healthy machines", + "type": "integer", + "format": "int32", + "x-omitempty": false + }, + "infraProfileTemplate": { + "description": "Cluster profile template meta information", "type": "object", "properties": { - "end": { - "description": "End is the last IP address that can be rendered. It is used as a validation that the rendered IP is in bound.", + "cloudType": { "type": "string" }, - "gateway": { - "description": "Gateway is the gateway ip address", + "name": { + "description": "Cluster profile name", "type": "string" }, - "nameserver": { - "description": "Nameserver define search domains and nameserver addresses", - "type": "object", - "properties": { - "addresses": { - "type": "array", - "items": { + "packs": { + "description": "Cluster profile packs array", + "type": "array", + "items": { + "description": "PackRef server/name:tag to point to a pack PackRef is used when construct a ClusterProfile PackSpec is used for UI to render the parameters form ClusterProfile will not know inner details of a pack ClusterProfile only contain pack name:tag, and the param values user entered for it", + "type": "object", + "required": [ + "layer", + "name" + ], + "properties": { + "annotations": { + "description": "Annotations is used to allow packref to add more arbitrary information one example is to add git reference for values.yaml", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "digest": { + "description": "digest is used to specify the version should be installed by palette when pack upgrade available, change this digest to trigger upgrade", "type": "string" - } - }, - "search": { - "type": "array", - "items": { + }, + "inValidReason": { + "type": "string" + }, + "isInvalid": { + "description": "pack is invalid when the associated tag is deleted from the registry", + "type": "boolean" + }, + "layer": { + "type": "string", + "enum": [ + "kernel", + "os", + "k8s", + "cni", + "csi", + "addon" + ] + }, + "logo": { + "description": "path to the pack logo", + "type": "string" + }, + "manifests": { + "type": "array", + "items": { + "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", + "type": "object", + "properties": { + "kind": { + "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "uid": { + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", + "type": "string" + } + } + } + }, + "name": { + "description": "pack name", + "type": "string" + }, + "packUid": { + "description": "PackUID is Hubble packUID, not palette Pack.UID It is used by Hubble only.", + "type": "string" + }, + "params": { + "description": "params passed as env variables to be consumed at installation time", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "presets": { + "type": "array", + "items": { + "description": "PackPreset defines the preset pack values", + "type": "object", + "properties": { + "add": { + "type": "string", + "x-omitempty": false + }, + "displayName": { + "type": "string", + "x-omitempty": false + }, + "group": { + "type": "string", + "x-omitempty": false + }, + "name": { + "type": "string", + "x-omitempty": false + }, + "remove": { + "type": "array", + "items": { + "type": "string" + }, + "x-omitempty": false + } + } + } + }, + "registryUid": { + "description": "pack registry uid", + "type": "string" + }, + "schema": { + "type": "array", + "items": { + "description": "PackSchema defines the schema definition, hints for the pack values", + "type": "object", + "properties": { + "format": { + "type": "string", + "x-omitempty": false + }, + "hints": { + "type": "array", + "items": { + "type": "string" + }, + "x-omitempty": false + }, + "listOptions": { + "type": "array", + "items": { + "type": "string" + }, + "x-omitempty": false + }, + "name": { + "type": "string", + "x-omitempty": false + }, + "readonly": { + "type": "boolean", + "x-omitempty": false + }, + "regex": { + "type": "string", + "x-omitempty": false + }, + "required": { + "type": "boolean", + "x-omitempty": false + }, + "type": { + "type": "string", + "x-omitempty": false + } + } + } + }, + "server": { + "description": "pack registry server or helm repo", + "type": "string" + }, + "tag": { + "description": "pack tag", + "type": "string" + }, + "type": { + "description": "type of the pack", + "type": "string", + "enum": [ + "spectro", + "helm", + "manifest" + ] + }, + "values": { + "description": "values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", + "type": "string" + }, + "version": { + "description": "pack version", "type": "string" } } } }, - "prefix": { - "description": "Prefix is the mask of the network as integer (max 128)", - "type": "integer", - "format": "int32" + "scope": { + "description": "scope or context(system, tenant or project)", + "type": "string" }, - "start": { - "description": "Start is the first ip address that can be rendered", + "type": { + "description": "Cluster profile type [ \"cluster\", \"infra\", \"add-on\", \"system\" ]", "type": "string" }, - "subnet": { - "description": "Subnet is used to validate that the rendered IP is in bounds. eg: 192.168.0.0/24 If Start value is not given, start value is derived from the subnet ip incremented by 1 (start value is `192.168.0.1` for subnet `192.168.0.0/24`)", + "uid": { + "description": "Cluster profile uid", "type": "string" + }, + "version": { + "type": "integer", + "format": "int32" } } }, - "priavetGatewayUid": { - "type": "string" - }, - "restrictToSingleCluster": { - "description": "if true, restricts this IP pool to be used by single cluster at any time", + "isControlPlane": { + "description": "whether this pool is for control plane", "type": "boolean", "x-omitempty": false - } - } - }, - "status": { - "description": "IP Pool status", - "type": "object", - "properties": { - "allottedIps": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } }, - "associatedClusters": { + "labels": { + "description": "labels for this pool, example: control-plane/worker, gpu, windows", "type": "array", - "uniqueItems": true, "items": { "type": "string" } }, - "inUse": { - "type": "boolean", + "maintenanceMode": { + "description": "number of machines under maintenance", + "type": "integer", + "format": "int32", + "x-omitempty": false + }, + "size": { + "description": "size of the pool, number of machines", + "type": "integer", + "format": "int32", "x-omitempty": false } } } + }, + "uid": { + "description": "Cluster's cloud config uid", + "type": "string" } } }, - "isSelfHosted": { - "type": "boolean" - }, - "isSystem": { - "type": "boolean" - }, - "spectroClusterUid": { - "type": "string", - "x-omitempty": false + "clusterConfig": { + "type": "object", + "properties": { + "hostClusterConfig": { + "properties": { + "clusterGroup": { + "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", + "type": "object", + "properties": { + "kind": { + "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "uid": { + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", + "type": "string" + } + } + } + } + } + } }, - "tenantUid": { - "type": "string" - } - } - }, - "status": { - "description": "Overload status", - "type": "object", - "properties": { - "health": { - "description": "Spectro cluster health status", + "clusterProfileTemplate": { + "description": "Cluster profile template meta information", + "type": "object", "properties": { - "agentVersion": { + "cloudType": { "type": "string" }, - "conditions": { + "name": { + "description": "Cluster profile name", + "type": "string" + }, + "packs": { + "description": "Cluster profile packs array", "type": "array", - "uniqueItems": true, "items": { - "description": "Spectro cluster health condition", + "description": "PackRef server/name:tag to point to a pack PackRef is used when construct a ClusterProfile PackSpec is used for UI to render the parameters form ClusterProfile will not know inner details of a pack ClusterProfile only contain pack name:tag, and the param values user entered for it", + "type": "object", + "required": [ + "layer", + "name" + ], "properties": { - "message": { - "type": "string" - }, - "relatedObject": { - "description": "Object for which the resource is related", + "annotations": { + "description": "Annotations is used to allow packref to add more arbitrary information one example is to add git reference for values.yaml", "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "spectrocluster", - "machine", - "cloudconfig", - "clusterprofile", - "pack", - "appprofile", - "appdeployment", - "edgehost" - ] - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } + "additionalProperties": { + "type": "string" } }, - "type": { + "digest": { + "description": "digest is used to specify the version should be installed by palette when pack upgrade available, change this digest to trigger upgrade", "type": "string" - } - } - } - }, - "lastHeartBeatTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "state": { - "type": "string" - } - } - }, - "isActive": { - "type": "boolean", - "x-omitempty": false - }, - "isReady": { - "type": "boolean", - "x-omitempty": false - }, - "kubectlCommands": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - }, - "state": { - "type": "string" - } - } - } - } - } - }, - "listmeta": { - "description": "ListMeta describes metadata for the resource listing", - "type": "object", - "properties": { - "continue": { - "description": "Next token for the pagination. Next token is equal to empty string indicates end of result set.", - "type": "string", - "x-omitempty": false - }, - "count": { - "description": "Total count of the resources which might change during pagination based on the resources addition or deletion", - "type": "integer", - "x-omitempty": false - }, - "limit": { - "description": "Number of records feteched", - "type": "integer", - "x-omitempty": false - }, - "offset": { - "description": "The next offset for the pagination. Starting index for which next request will be placed.", - "type": "integer", - "x-omitempty": false - } - } - } - } - } - } - } - } - }, - "/v1/dashboard/pcgs/search/schema": { - "get": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Retrieves a schema for the PCG search filter", - "operationId": "v1DashboardPcgSearchSchemaGet", - "parameters": [ - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "An array of schema items", - "schema": { - "properties": { - "schema": { - "properties": { - "properties": { - "type": "array", - "items": { - "properties": { - "default": { - "type": "string", - "x-order": 6 - }, - "displayName": { - "type": "string", - "x-order": 2 - }, - "enum": { - "type": "array", - "items": { - "type": "string" - }, - "x-omitempty": true, - "x-order": 4 + }, + "inValidReason": { + "type": "string" + }, + "isInvalid": { + "description": "pack is invalid when the associated tag is deleted from the registry", + "type": "boolean" + }, + "layer": { + "type": "string", + "enum": [ + "kernel", + "os", + "k8s", + "cni", + "csi", + "addon" + ] + }, + "logo": { + "description": "path to the pack logo", + "type": "string" + }, + "manifests": { + "type": "array", + "items": { + "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", + "type": "object", + "properties": { + "kind": { + "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "uid": { + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", + "type": "string" + } + } + } + }, + "name": { + "description": "pack name", + "type": "string" + }, + "packUid": { + "description": "PackUID is Hubble packUID, not palette Pack.UID It is used by Hubble only.", + "type": "string" + }, + "params": { + "description": "params passed as env variables to be consumed at installation time", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "presets": { + "type": "array", + "items": { + "description": "PackPreset defines the preset pack values", + "type": "object", + "properties": { + "add": { + "type": "string", + "x-omitempty": false + }, + "displayName": { + "type": "string", + "x-omitempty": false + }, + "group": { + "type": "string", + "x-omitempty": false + }, + "name": { + "type": "string", + "x-omitempty": false + }, + "remove": { + "type": "array", + "items": { + "type": "string" + }, + "x-omitempty": false + } + } + } + }, + "registryUid": { + "description": "pack registry uid", + "type": "string" + }, + "schema": { + "type": "array", + "items": { + "description": "PackSchema defines the schema definition, hints for the pack values", + "type": "object", + "properties": { + "format": { + "type": "string", + "x-omitempty": false + }, + "hints": { + "type": "array", + "items": { + "type": "string" + }, + "x-omitempty": false + }, + "listOptions": { + "type": "array", + "items": { + "type": "string" + }, + "x-omitempty": false + }, + "name": { + "type": "string", + "x-omitempty": false + }, + "readonly": { + "type": "boolean", + "x-omitempty": false + }, + "regex": { + "type": "string", + "x-omitempty": false + }, + "required": { + "type": "boolean", + "x-omitempty": false + }, + "type": { + "type": "string", + "x-omitempty": false + } + } + } + }, + "server": { + "description": "pack registry server or helm repo", + "type": "string" + }, + "tag": { + "description": "pack tag", + "type": "string" + }, + "type": { + "description": "type of the pack", + "type": "string", + "enum": [ + "spectro", + "helm", + "manifest" + ] + }, + "values": { + "description": "values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", + "type": "string" + }, + "version": { + "description": "pack version", + "type": "string" + } + } + } + }, + "scope": { + "description": "scope or context(system, tenant or project)", + "type": "string" + }, + "type": { + "description": "Cluster profile type [ \"cluster\", \"infra\", \"add-on\", \"system\" ]", + "type": "string" + }, + "uid": { + "description": "Cluster profile uid", + "type": "string" + }, + "version": { + "type": "integer", + "format": "int32" + } + } }, - "enumValues": { + "clusterProfileTemplates": { "type": "array", "items": { + "description": "Cluster profile template meta information", + "type": "object", "properties": { - "displayValue": { + "cloudType": { "type": "string" }, - "value": { + "name": { + "description": "Cluster profile name", + "type": "string" + }, + "packs": { + "description": "Cluster profile packs array", + "type": "array", + "items": { + "description": "PackRef server/name:tag to point to a pack PackRef is used when construct a ClusterProfile PackSpec is used for UI to render the parameters form ClusterProfile will not know inner details of a pack ClusterProfile only contain pack name:tag, and the param values user entered for it", + "type": "object", + "required": [ + "layer", + "name" + ], + "properties": { + "annotations": { + "description": "Annotations is used to allow packref to add more arbitrary information one example is to add git reference for values.yaml", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "digest": { + "description": "digest is used to specify the version should be installed by palette when pack upgrade available, change this digest to trigger upgrade", + "type": "string" + }, + "inValidReason": { + "type": "string" + }, + "isInvalid": { + "description": "pack is invalid when the associated tag is deleted from the registry", + "type": "boolean" + }, + "layer": { + "type": "string", + "enum": [ + "kernel", + "os", + "k8s", + "cni", + "csi", + "addon" + ] + }, + "logo": { + "description": "path to the pack logo", + "type": "string" + }, + "manifests": { + "type": "array", + "items": { + "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", + "type": "object", + "properties": { + "kind": { + "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "uid": { + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", + "type": "string" + } + } + } + }, + "name": { + "description": "pack name", + "type": "string" + }, + "packUid": { + "description": "PackUID is Hubble packUID, not palette Pack.UID It is used by Hubble only.", + "type": "string" + }, + "params": { + "description": "params passed as env variables to be consumed at installation time", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "presets": { + "type": "array", + "items": { + "description": "PackPreset defines the preset pack values", + "type": "object", + "properties": { + "add": { + "type": "string", + "x-omitempty": false + }, + "displayName": { + "type": "string", + "x-omitempty": false + }, + "group": { + "type": "string", + "x-omitempty": false + }, + "name": { + "type": "string", + "x-omitempty": false + }, + "remove": { + "type": "array", + "items": { + "type": "string" + }, + "x-omitempty": false + } + } + } + }, + "registryUid": { + "description": "pack registry uid", + "type": "string" + }, + "schema": { + "type": "array", + "items": { + "description": "PackSchema defines the schema definition, hints for the pack values", + "type": "object", + "properties": { + "format": { + "type": "string", + "x-omitempty": false + }, + "hints": { + "type": "array", + "items": { + "type": "string" + }, + "x-omitempty": false + }, + "listOptions": { + "type": "array", + "items": { + "type": "string" + }, + "x-omitempty": false + }, + "name": { + "type": "string", + "x-omitempty": false + }, + "readonly": { + "type": "boolean", + "x-omitempty": false + }, + "regex": { + "type": "string", + "x-omitempty": false + }, + "required": { + "type": "boolean", + "x-omitempty": false + }, + "type": { + "type": "string", + "x-omitempty": false + } + } + } + }, + "server": { + "description": "pack registry server or helm repo", + "type": "string" + }, + "tag": { + "description": "pack tag", + "type": "string" + }, + "type": { + "description": "type of the pack", + "type": "string", + "enum": [ + "spectro", + "helm", + "manifest" + ] + }, + "values": { + "description": "values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", + "type": "string" + }, + "version": { + "description": "pack version", + "type": "string" + } + } + } + }, + "scope": { + "description": "scope or context(system, tenant or project)", + "type": "string" + }, + "type": { + "description": "Cluster profile type [ \"cluster\", \"infra\", \"add-on\", \"system\" ]", + "type": "string" + }, + "uid": { + "description": "Cluster profile uid", "type": "string" + }, + "version": { + "type": "integer", + "format": "int32" } } - }, - "x-omitempty": true, - "x-order": 5 - }, - "hideDisplay": { - "type": "boolean", - "x-order": 1 - }, - "maxFloatVal": { - "type": "number", - "format": "float64", - "x-order": 10 - }, - "maxIntVal": { - "type": "integer", - "format": "int32", - "x-order": 8 - }, - "minFloatVal": { - "type": "number", - "format": "float64", - "x-order": 9 - }, - "minIntVal": { - "type": "integer", - "format": "int32", - "x-order": 7 - }, - "name": { - "type": "string", - "x-order": 0 + } }, - "type": { - "type": "string", - "x-order": 3 + "projectMeta": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + } } } - } - } - } - } - } - } - } - } - } - }, - "/v1/dashboard/projects": { - "post": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "operationId": "v1ProjectsFilterSummary", - "parameters": [ - { - "type": "integer", - "format": "int64", - "default": 50, - "description": "limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", - "name": "limit", - "in": "query" - }, - { - "type": "integer", - "format": "int64", - "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", - "name": "offset", - "in": "query" - }, - { - "type": "string", - "description": "continue token to paginate the subsequent data items", - "name": "continue", - "in": "query" - }, - { - "name": "body", - "in": "body", - "schema": { - "description": "Project filter summary spec", - "properties": { - "filter": { - "description": "Project filter spec", - "properties": { - "name": { - "type": "object", - "properties": { - "beginsWith": { - "type": "string", - "x-nullable": true - }, - "contains": { - "type": "string", - "x-nullable": true - }, - "eq": { - "type": "string", - "x-nullable": true - }, - "ignoreCase": { - "type": "boolean", - "default": true - }, - "ne": { - "type": "string", - "x-nullable": true - } - } - } - } - }, - "sort": { - "type": "array", - "uniqueItems": true, - "items": { - "properties": { - "field": { - "type": "string", - "enum": [ - "name", - "creationTimestamp", - "lastModifiedTimestamp" - ], - "x-nullable": true }, - "order": { - "type": "string", - "default": "asc", - "enum": [ - "asc", - "desc" - ] - } - } - } - } - } - } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "An array of project filter summary items", - "schema": { - "type": "object", - "required": [ - "items" - ], - "properties": { - "items": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Project summary", - "type": "object", - "properties": { - "metadata": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", - "type": "object", + "status": { + "description": "Spectro cluster status summary", "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "clusterImport": { "type": "object", - "additionalProperties": { - "type": "string" + "properties": { + "importLink": { + "description": "import link to download and install ally-lite, palette-lite", + "type": "string" + }, + "isBrownfield": { + "description": "Deprecated. Use the 'spec.clusterType'", + "type": "boolean", + "x-omitempty": false + }, + "state": { + "description": "cluster import status", + "type": "string" + } } }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "cost": { + "description": "Resource Cost information", "type": "object", - "additionalProperties": { - "type": "string" + "properties": { + "cloud": { + "description": "Cloud cost information", + "type": "object", + "properties": { + "compute": { + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "storage": { + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "total": { + "type": "number", + "format": "float64", + "x-omitempty": false + } + } + }, + "total": { + "type": "number", + "format": "float64", + "x-omitempty": false + } } }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "name": { - "description": "Name of the resource.", - "type": "string" - }, - "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", - "type": "string" - } - } - }, - "specSummary": { - "type": "object", - "properties": { - "logoUrl": { - "type": "string" + "fips": { + "properties": { + "mode": { + "type": "string", + "default": "none", + "enum": [ + "full", + "none", + "partial", + "unknown" + ] + } + } }, - "teams": { - "type": "array", - "items": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "uid": { - "type": "string" + "health": { + "description": "Spectro cluster health status", + "properties": { + "agentVersion": { + "type": "string" + }, + "conditions": { + "type": "array", + "uniqueItems": true, + "items": { + "description": "Spectro cluster health condition", + "properties": { + "message": { + "type": "string" + }, + "relatedObject": { + "description": "Object for which the resource is related", + "type": "object", + "properties": { + "kind": { + "type": "string", + "enum": [ + "spectrocluster", + "machine", + "cloudconfig", + "clusterprofile", + "pack", + "appprofile", + "appdeployment", + "edgehost" + ] + }, + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + } + }, + "type": { + "type": "string" + } + } } + }, + "lastHeartBeatTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "state": { + "type": "string" } } }, - "users": { - "type": "array", - "items": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "uid": { - "type": "string" + "hourlyRate": { + "description": "Resource Cost information", + "type": "object", + "properties": { + "cloud": { + "description": "Cloud cost information", + "type": "object", + "properties": { + "compute": { + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "storage": { + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "total": { + "type": "number", + "format": "float64", + "x-omitempty": false + } } + }, + "total": { + "type": "number", + "format": "float64", + "x-omitempty": false } } - } - } - }, - "status": { - "description": "Project status summary", - "type": "object", - "properties": { - "clustersHealth": { - "description": "Spectro Clusters health data", + }, + "location": { + "description": "Cluster location information", "type": "object", "properties": { - "errored": { - "type": "integer", - "format": "int32", - "x-omitempty": false + "coordinates": { + "type": "array", + "items": { + "type": "number", + "format": "float64" + } }, - "healthy": { - "type": "integer", - "format": "int32", - "x-omitempty": false + "countryCode": { + "type": "string" }, - "running": { - "type": "integer", - "format": "int32", - "x-omitempty": false + "countryName": { + "type": "string" }, - "unhealthy": { - "type": "integer", - "format": "int32", - "x-omitempty": false + "regionCode": { + "type": "string" + }, + "regionName": { + "type": "string" } } }, - "status": { - "description": "Project status", + "metrics": { + "description": "Spectro cluster metrics", "properties": { - "cleanUpStatus": { - "description": "Project cleanup status", + "cpu": { + "description": "Compute metrics", "type": "object", "properties": { - "cleanedResources": { - "type": "array", - "items": { - "type": "string" - } + "lastUpdatedTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" }, - "msg": { - "type": "string" + "limit": { + "type": "number", + "x-omitempty": false }, - "state": { + "request": { + "type": "number", + "x-omitempty": false + }, + "total": { + "type": "number", + "x-omitempty": false + }, + "unit": { "type": "string" + }, + "usage": { + "type": "number", + "x-omitempty": false } } }, - "isDisabled": { - "type": "boolean" + "memory": { + "description": "Compute metrics", + "type": "object", + "properties": { + "lastUpdatedTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "limit": { + "type": "number", + "x-omitempty": false + }, + "request": { + "type": "number", + "x-omitempty": false + }, + "total": { + "type": "number", + "x-omitempty": false + }, + "unit": { + "type": "string" + }, + "usage": { + "type": "number", + "x-omitempty": false + } + } } } }, - "usage": { - "description": "Project usage summary", - "type": "object", + "notifications": { + "description": "Cluster notifications status", "properties": { - "alloyCpuCores": { - "type": "number", + "isAvailable": { + "type": "boolean", "x-omitempty": false - }, - "clusters": { + } + } + }, + "repave": { + "description": "Cluster repave status", + "properties": { + "state": { + "type": "string", + "default": "Pending", + "enum": [ + "Pending", + "Approved", + "Reverted" + ] + } + } + }, + "state": { + "type": "string" + }, + "virtual": { + "properties": { + "appDeployments": { + "description": "list of apps deployed on the virtual cluster", "type": "array", "items": { - "description": "Cluster usage summary", + "description": "Object resource reference", "type": "object", "properties": { - "cpuCores": { - "type": "number", - "x-omitempty": false - }, - "isAlloy": { - "type": "boolean", - "x-omitempty": false + "kind": { + "type": "string" }, "name": { "type": "string" }, + "projectUid": { + "type": "string" + }, + "tenantUid": { + "type": "string" + }, "uid": { "type": "string" } } } }, - "pureCpuCores": { - "type": "number", - "x-omitempty": false - } - } - } - } - } + "clusterGroup": { + "description": "Object resource reference", + "type": "object", + "properties": { + "kind": { + "type": "string" + }, + "name": { + "type": "string" + }, + "projectUid": { + "type": "string" + }, + "tenantUid": { + "type": "string" + }, + "uid": { + "type": "string" + } + } + }, + "hostCluster": { + "description": "Object resource reference", + "type": "object", + "properties": { + "kind": { + "type": "string" + }, + "name": { + "type": "string" + }, + "projectUid": { + "type": "string" + }, + "tenantUid": { + "type": "string" + }, + "uid": { + "type": "string" + } + } + }, + "lifecycleStatus": { + "properties": { + "msg": { + "description": "error or success msg of lifecycle", + "type": "string" + }, + "status": { + "description": "lifecycle status", + "type": "string", + "enum": [ + "Pausing", + "Paused", + "Resuming", + "Running", + "Error" + ] + } + } + }, + "state": { + "description": "cluster virtual host status", + "type": "string" + }, + "virtualClusters": { + "description": "list of virtual clusters deployed on the cluster", + "type": "array", + "items": { + "description": "Object resource reference", + "type": "object", + "properties": { + "kind": { + "type": "string" + }, + "name": { + "type": "string" + }, + "projectUid": { + "type": "string" + }, + "tenantUid": { + "type": "string" + }, + "uid": { + "type": "string" + } + } + } + } + } + } + } + } } } }, @@ -75487,8 +72061,8 @@ } } }, - "/v1/dashboard/projects/metadata": { - "get": { + "/v1/dashboard/spectroclusters/resources/consumption": { + "post": { "security": [ { "ApiKey": [] @@ -75500,14 +72074,103 @@ "tags": [ "v1" ], - "summary": "Retrieves a list of projects metadata", - "operationId": "v1ProjectsMetadata", + "summary": "Retrieves spectro clusters resource consumption", + "operationId": "v1SpectroClustersResourcesConsumption", "parameters": [ { - "type": "string", - "description": "Name of the project", - "name": "name", - "in": "query" + "name": "body", + "in": "body", + "schema": { + "description": "Resource consumption spec", + "type": "object", + "properties": { + "filter": { + "description": "Resource consumption filter", + "type": "object", + "properties": { + "clouds": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + }, + "clusters": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + }, + "endTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "includeControlPlaneMachines": { + "type": "boolean" + }, + "includeMasterMachines": { + "description": "Deprecated. Use includeControlPlaneMachines", + "type": "boolean" + }, + "namespaces": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + }, + "projects": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + }, + "startTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "workspaces": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + } + } + }, + "options": { + "description": "Resource consumption options", + "type": "object", + "properties": { + "enableSummaryView": { + "type": "boolean", + "default": true + }, + "groupBy": { + "type": "string", + "default": "namespace", + "enum": [ + "tenant", + "project", + "workspace", + "cluster", + "namespace", + "cloud" + ] + }, + "period": { + "type": "integer", + "format": "int32", + "default": 60 + } + } + } + } + } }, { "type": "string", @@ -75518,23 +72181,98 @@ ], "responses": { "200": { - "description": "An array of project metadata items", + "description": "An array of resource consumption data items", "schema": { + "description": "Resources consumption information", "type": "object", - "required": [ - "items" - ], "properties": { - "items": { + "cpuUnit": { + "type": "string" + }, + "memoryUnit": { + "type": "string" + }, + "resources": { "type": "array", - "uniqueItems": true, "items": { - "description": "Project metadata", + "description": "Resource consumption information", + "type": "object", "properties": { - "metadata": { - "description": "Object identity meta", + "associatedResources": { + "type": "array", + "items": { + "type": "object", + "required": [ + "uid" + ], + "properties": { + "kind": { + "type": "string" + }, + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + } + } + }, + "data": { + "type": "array", + "uniqueItems": true, + "items": { + "description": "Resource cosumption data point", + "type": "object", + "properties": { + "allotted": { + "description": "Resource cosumption data", + "type": "object", + "properties": { + "cpu": { + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "memory": { + "type": "number", + "format": "float64", + "x-omitempty": false + } + } + }, + "timestamp": { + "type": "number", + "format": "int64" + }, + "usage": { + "description": "Resource cosumption data", + "type": "object", + "properties": { + "cpu": { + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "memory": { + "type": "number", + "format": "float64", + "x-omitempty": false + } + } + } + } + } + }, + "entity": { "type": "object", + "required": [ + "uid" + ], "properties": { + "kind": { + "type": "string" + }, "name": { "type": "string" }, @@ -75542,6 +72280,82 @@ "type": "string" } } + }, + "total": { + "description": "Resource total cosumption data", + "type": "object", + "properties": { + "allotted": { + "description": "Resource cosumption data", + "type": "object", + "properties": { + "cpu": { + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "memory": { + "type": "number", + "format": "float64", + "x-omitempty": false + } + } + }, + "usage": { + "description": "Resource cosumption data", + "type": "object", + "properties": { + "cpu": { + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "memory": { + "type": "number", + "format": "float64", + "x-omitempty": false + } + } + } + } + } + } + } + }, + "total": { + "description": "Resource total cosumption data", + "type": "object", + "properties": { + "allotted": { + "description": "Resource cosumption data", + "type": "object", + "properties": { + "cpu": { + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "memory": { + "type": "number", + "format": "float64", + "x-omitempty": false + } + } + }, + "usage": { + "description": "Resource cosumption data", + "type": "object", + "properties": { + "cpu": { + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "memory": { + "type": "number", + "format": "float64", + "x-omitempty": false + } } } } @@ -75552,7 +72366,7 @@ } } }, - "/v1/dashboard/spectroclusters/cost": { + "/v1/dashboard/spectroclusters/resources/cost": { "post": { "security": [ { @@ -75565,18 +72379,18 @@ "tags": [ "v1" ], - "summary": "Retrieves spectro clusters cloud cost summary information", - "operationId": "v1DashboardSpectroClustersCostSummary", + "summary": "Retrieves spectro clusters resources cost summary information", + "operationId": "v1SpectroClustersResourcesCostSummary", "parameters": [ { "name": "body", "in": "body", "schema": { - "description": "Spectro cluster cloud cost summary spec", + "description": "Resource cost summary spec", "type": "object", "properties": { "filter": { - "description": "Spectro cluster cloud cost summary filter", + "description": "Resource cost summary filter", "type": "object", "properties": { "clouds": { @@ -75586,11 +72400,32 @@ "type": "string" } }, + "clusters": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + }, "endTime": { "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", "type": "string", "format": "date-time" }, + "includeControlPlaneMachines": { + "type": "boolean" + }, + "includeMasterMachines": { + "description": "Deprecated. Use includeControlPlaneMachines", + "type": "boolean" + }, + "namespaces": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + }, "projects": { "type": "array", "uniqueItems": true, @@ -75613,23 +72448,30 @@ } }, "options": { - "description": "Spectro cluster cloud cost summary options", + "description": "Resource cost summary options", "type": "object", "properties": { + "enableSummaryView": { + "type": "boolean", + "default": true + }, "groupBy": { "type": "string", - "default": "project", + "default": "cluster", "enum": [ "tenant", "project", - "cloud", - "cluster" + "workspace", + "cluster", + "namespace", + "deployment", + "cloud" ] }, "period": { "type": "integer", "format": "int32", - "default": 1440 + "default": 60 } } } @@ -75645,25 +72487,50 @@ ], "responses": { "200": { - "description": "An array of resources cloud cost summary items", + "description": "An array of resources cost summary items", "schema": { - "description": "Resources cloud cost summary information", + "description": "Resources cost summary information", "type": "object", "properties": { "resources": { "type": "array", "items": { - "description": "Resource cloud cost summary information", + "description": "Resource cost summary information", "type": "object", "properties": { + "associatedResources": { + "type": "array", + "items": { + "type": "object", + "required": [ + "uid" + ], + "properties": { + "kind": { + "type": "string" + }, + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + } + } + }, "data": { "type": "array", "uniqueItems": true, "items": { - "description": "Cloud cost data point information", + "description": "Resource cost data point", "type": "object", "properties": { - "compute": { + "cpu": { + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "memory": { "type": "number", "format": "float64", "x-omitempty": false @@ -75703,10 +72570,15 @@ } }, "total": { - "description": "Resource total cloud cost information", + "description": "Resource total cost information", "type": "object", "properties": { - "compute": { + "cpu": { + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "memory": { "type": "number", "format": "float64", "x-omitempty": false @@ -75727,10 +72599,15 @@ } }, "total": { - "description": "Resource total cloud cost information", + "description": "Resource total cost information", "type": "object", "properties": { - "compute": { + "cpu": { + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "memory": { "type": "number", "format": "float64", "x-omitempty": false @@ -75753,8 +72630,8 @@ } } }, - "/v1/dashboard/spectroclusters/filters/workspace": { - "get": { + "/v1/dashboard/spectroclusters/resources/usage": { + "post": { "security": [ { "ApiKey": [] @@ -75766,29 +72643,141 @@ "tags": [ "v1" ], - "summary": "Retrieves a list of running, non rbac configured clusters in a workspace", - "operationId": "v1SpectroClustersFiltersWorkspace", + "summary": "Retrieves spectro clusters resources usage summary information", + "operationId": "v1SpectroClustersResourcesUsageSummary", "parameters": [ { - "type": "integer", - "format": "int64", - "default": 50, - "description": "limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", - "name": "limit", - "in": "query" - }, - { - "type": "integer", - "format": "int64", - "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", - "name": "offset", - "in": "query" - }, - { - "type": "string", - "description": "continue token to paginate the subsequent data items", - "name": "continue", - "in": "query" + "name": "body", + "in": "body", + "schema": { + "description": "Resource usage summary spec", + "type": "object", + "properties": { + "filter": { + "description": "Resource usage summary filter", + "type": "object", + "properties": { + "clouds": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + }, + "clusters": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + }, + "endTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "includeControlPlaneMachines": { + "type": "boolean" + }, + "includeMasterMachines": { + "description": "Deprecated. Use includeControlPlaneMachines", + "type": "boolean" + }, + "namespaces": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + }, + "pods": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + }, + "projects": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + }, + "startTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "workload": { + "description": "Workload resource filter", + "type": "object", + "properties": { + "names": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + }, + "type": { + "type": "string", + "default": "all", + "enum": [ + "deployment", + "statefulset", + "daemonset", + "all" + ] + } + } + }, + "workspaces": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + } + } + }, + "options": { + "description": "Resource usage summary options", + "type": "object", + "properties": { + "enableSummaryView": { + "type": "boolean", + "default": true + }, + "groupBy": { + "type": "string", + "default": "cluster", + "enum": [ + "tenant", + "project", + "workspace", + "cluster", + "namespace", + "deployment", + "statefulset", + "daemonset", + "pod", + "cloud" + ] + }, + "includeMeteringInfo": { + "type": "boolean", + "default": false + }, + "period": { + "type": "integer", + "format": "int32", + "default": 60 + } + } + } + } + } }, { "type": "string", @@ -75799,138 +72788,602 @@ ], "responses": { "200": { - "description": "An array of cluster summary items", + "description": "An array of resources usage summary items", "schema": { + "description": "Resources usage summary information", "type": "object", - "required": [ - "items" - ], "properties": { - "items": { + "cpuUnit": { + "type": "string" + }, + "memoryUnit": { + "type": "string" + }, + "resources": { "type": "array", - "uniqueItems": true, "items": { - "description": "Spectro cluster summary", + "description": "Resource usage summary information", "type": "object", "properties": { - "metadata": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", - "type": "object", - "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { + "associatedResources": { + "type": "array", + "items": { + "type": "object", + "required": [ + "uid" + ], + "properties": { + "kind": { "type": "string" - } - }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { + }, + "name": { + "type": "string" + }, + "uid": { "type": "string" } - }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" + } + } + }, + "data": { + "type": "array", + "uniqueItems": true, + "items": { + "description": "Resource usage data point", + "type": "object", + "properties": { + "baremetal": { + "description": "min and max count for machines \u0026 edgehost for the given period", + "type": "object", + "properties": { + "activeEdgehosts": { + "type": "number", + "format": "int64" + }, + "activeMachines": { + "type": "number", + "format": "int64" + }, + "maxEdgehosts": { + "type": "number", + "format": "int64" + }, + "maxMachines": { + "type": "number", + "format": "int64" + } + } + }, + "cpu": { + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "edgehost": { + "description": "min and max count for machines \u0026 edgehost for the given period", + "type": "object", + "properties": { + "activeEdgehosts": { + "type": "number", + "format": "int64" + }, + "activeMachines": { + "type": "number", + "format": "int64" + }, + "maxEdgehosts": { + "type": "number", + "format": "int64" + }, + "maxMachines": { + "type": "number", + "format": "int64" + } + } + }, + "memory": { + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "timestamp": { + "type": "number", + "format": "int64" + } + } + } + }, + "entity": { + "type": "object", + "required": [ + "uid" + ], + "properties": { + "kind": { + "type": "string" }, "name": { - "description": "Name of the resource.", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", "type": "string" } } - }, - "specSummary": { - "description": "Spectro cluster spec summary", - "type": "object", + } + } + } + } + } + } + } + } + } + }, + "/v1/dashboard/spectroclusters/search": { + "post": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Retrieves a list of cluster summary with provided search filter spec Supported sort fields - [\"environment\", \"clusterName\", \"memoryUsage\", \"healthState\", \"creationTimestamp\", \"lastModifiedTimestamp\"]", + "operationId": "v1SpectroClustersSearchFilterSummary", + "parameters": [ + { + "maximum": 20, + "type": "integer", + "format": "int64", + "description": "limit is a maximum number of responses to return for a list call. Maximum value of the limit is 20.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "name": "limit", + "in": "query" + }, + { + "type": "integer", + "format": "int64", + "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", + "name": "offset", + "in": "query" + }, + { + "type": "string", + "description": "continue token to paginate the subsequent data items", + "name": "continue", + "in": "query" + }, + { + "name": "body", + "in": "body", + "schema": { + "description": "Spectro cluster search filter summary spec", + "properties": { + "filter": { + "properties": { + "conjunction": { + "type": "string", + "enum": [ + "and", + "or" + ], + "x-nullable": true + }, + "filterGroups": { + "type": "array", + "uniqueItems": true, + "items": { "properties": { - "archTypes": { - "description": "Architecture type of the cluster", + "conjunction": { + "type": "string", + "enum": [ + "and", + "or" + ], + "x-nullable": true + }, + "filters": { "type": "array", + "uniqueItems": true, "items": { - "type": "string", - "default": "amd64", - "enum": [ - "amd64", - "arm64" - ] - } - }, - "cloudAccountMeta": { - "description": "Cloud account meta information", - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - }, - "cloudConfig": { - "type": "object", - "properties": { - "cloudType": { - "type": "string" - }, - "machinePools": { - "description": "Machine pool meta information", - "type": "array", - "items": { - "type": "object", + "properties": { + "condition": { "properties": { - "cloudType": { - "type": "string" + "bool": { + "properties": { + "value": { + "type": "boolean" + } + } }, - "healthy": { - "description": "number of healthy machines", - "type": "integer", - "format": "int32", - "x-omitempty": false + "date": { + "properties": { + "match": { + "properties": { + "conjunction": { + "type": "string", + "enum": [ + "and", + "or" + ], + "x-nullable": true + }, + "values": { + "type": "array", + "uniqueItems": true, + "items": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + } + } + } + }, + "negation": { + "type": "boolean" + }, + "operator": { + "type": "string", + "enum": [ + "eq", + "gt", + "gte", + "lt", + "lte", + "range" + ] + } + } }, - "infraProfileTemplate": { - "description": "Cluster profile template meta information", - "type": "object", + "float": { "properties": { - "cloudType": { - "type": "string" + "match": { + "properties": { + "conjunction": { + "type": "string", + "enum": [ + "and", + "or" + ], + "x-nullable": true + }, + "values": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "number", + "format": "float64" + } + } + } }, - "name": { - "description": "Cluster profile name", + "negation": { + "type": "boolean" + }, + "operator": { + "type": "string", + "enum": [ + "eq", + "gt", + "gte", + "lt", + "lte" + ] + } + } + }, + "int": { + "properties": { + "match": { + "properties": { + "conjunction": { + "type": "string", + "enum": [ + "and", + "or" + ], + "x-nullable": true + }, + "values": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "integer" + } + } + } + }, + "negation": { + "type": "boolean" + }, + "operator": { + "type": "string", + "enum": [ + "eq", + "gt", + "gte", + "lt", + "lte" + ] + } + } + }, + "keyValue": { + "properties": { + "ignoreCase": { + "type": "boolean" + }, + "key": { "type": "string" }, - "packs": { - "description": "Cluster profile packs array", - "type": "array", - "items": { - "description": "PackRef server/name:tag to point to a pack PackRef is used when construct a ClusterProfile PackSpec is used for UI to render the parameters form ClusterProfile will not know inner details of a pack ClusterProfile only contain pack name:tag, and the param values user entered for it", - "type": "object", - "required": [ - "layer", - "name" - ], - "properties": { - "annotations": { - "description": "Annotations is used to allow packref to add more arbitrary information one example is to add git reference for values.yaml", - "type": "object", - "additionalProperties": { + "match": { + "properties": { + "conjunction": { + "type": "string", + "enum": [ + "and", + "or" + ], + "x-nullable": true + }, + "values": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + } + } + }, + "negation": { + "type": "boolean" + }, + "operator": { + "type": "string", + "enum": [ + "eq", + "contains", + "beginsWith" + ] + } + } + }, + "string": { + "properties": { + "ignoreCase": { + "type": "boolean" + }, + "match": { + "properties": { + "conjunction": { + "type": "string", + "enum": [ + "and", + "or" + ], + "x-nullable": true + }, + "values": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + } + } + }, + "negation": { + "type": "boolean" + }, + "operator": { + "type": "string", + "enum": [ + "eq", + "contains", + "beginsWith" + ] + } + } + } + } + }, + "property": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "string", + "int", + "float", + "bool", + "date", + "keyValue" + ] + } + } + } + } + } + } + } + } + }, + "sort": { + "type": "array", + "uniqueItems": true, + "items": { + "properties": { + "field": { + "type": "string", + "enum": [ + "environment", + "clusterName", + "clusterState", + "healthState", + "creationTimestamp", + "lastModifiedTimestamp" + ], + "x-nullable": true + }, + "order": { + "type": "string", + "default": "asc", + "enum": [ + "asc", + "desc" + ] + } + } + } + } + } + } + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "200": { + "description": "An array of cluster summary items", + "schema": { + "type": "object", + "required": [ + "items" + ], + "properties": { + "items": { + "type": "array", + "uniqueItems": true, + "items": { + "description": "Spectro cluster summary", + "type": "object", + "properties": { + "metadata": { + "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", + "type": "object", + "properties": { + "annotations": { + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "creationTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "deletionTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "labels": { + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "lastModifiedTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "name": { + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + }, + "uid": { + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", + "type": "string" + } + } + }, + "specSummary": { + "description": "Spectro cluster spec summary", + "type": "object", + "properties": { + "archTypes": { + "description": "Architecture type of the cluster", + "type": "array", + "items": { + "type": "string", + "default": "amd64", + "enum": [ + "amd64", + "arm64" + ] + } + }, + "cloudAccountMeta": { + "description": "Cloud account meta information", + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + } + }, + "cloudConfig": { + "type": "object", + "properties": { + "cloudType": { + "type": "string" + }, + "machinePools": { + "description": "Machine pool meta information", + "type": "array", + "items": { + "type": "object", + "properties": { + "cloudType": { + "type": "string" + }, + "healthy": { + "description": "number of healthy machines", + "type": "integer", + "format": "int32", + "x-omitempty": false + }, + "infraProfileTemplate": { + "description": "Cluster profile template meta information", + "type": "object", + "properties": { + "cloudType": { + "type": "string" + }, + "name": { + "description": "Cluster profile name", + "type": "string" + }, + "packs": { + "description": "Cluster profile packs array", + "type": "array", + "items": { + "description": "PackRef server/name:tag to point to a pack PackRef is used when construct a ClusterProfile PackSpec is used for UI to render the parameters form ClusterProfile will not know inner details of a pack ClusterProfile only contain pack name:tag, and the param values user entered for it", + "type": "object", + "required": [ + "layer", + "name" + ], + "properties": { + "annotations": { + "description": "Annotations is used to allow packref to add more arbitrary information one example is to add git reference for values.yaml", + "type": "object", + "additionalProperties": { "type": "string" } }, @@ -75971,11 +73424,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -76131,7 +73584,7 @@ "x-omitempty": false }, "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", + "description": "labels for this pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -76172,11 +73625,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -76251,11 +73704,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -76473,11 +73926,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -76887,7 +74340,7 @@ } }, "notifications": { - "description": "Spectro cluster notifications", + "description": "Cluster notifications status", "properties": { "isAvailable": { "type": "boolean", @@ -77068,7 +74521,7 @@ } } }, - "/v1/dashboard/spectroclusters/metadata": { + "/v1/dashboard/spectroclusters/search/export": { "get": { "security": [ { @@ -77078,19 +74531,27 @@ "Authorization": [] } ], + "produces": [ + "application/octet-stream" + ], "tags": [ "v1" ], - "summary": "Retrieves a list of cluster summary metadata", - "operationId": "v1SpectroClustersMetadataGet", + "summary": "Export and download the list of cluster summary with matching search filter and download as a file(csv)", + "operationId": "v1DashboardClustersSearchSummaryExportGet", "parameters": [ + { + "type": "string", + "name": "encodedFilter", + "in": "query" + }, { "enum": [ - "hostclusters", - "strictHostclusters" + "csv" ], "type": "string", - "name": "quickFilter", + "default": "csv", + "name": "format", "in": "query" }, { @@ -77102,60 +74563,16 @@ ], "responses": { "200": { - "description": "An array of cluster summary items", + "description": "OK", "schema": { - "type": "object", - "required": [ - "items" - ], - "properties": { - "items": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", - "type": "object", - "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "name": { - "description": "Name of the resource.", - "type": "string" - }, - "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", - "type": "string" - } - } - } - } + "type": "file" + }, + "headers": { + "Content-Disposition": { + "type": "string" + }, + "Content-Type": { + "type": "string" } } } @@ -77170,168 +74587,24 @@ "Authorization": [] } ], + "produces": [ + "application/octet-stream" + ], "tags": [ "v1" ], - "summary": "Retrieves a list of cluster summary", - "operationId": "v1SpectroClustersMetadata", + "summary": "Export the list of cluster summary with matching search filter and download as a file(csv) Supported sort fields - [\"environment\", \"clusterName\", \"healthState\", \"creationTimestamp\", \"lastModifiedTimestamp\"]", + "operationId": "v1DashboardClustersSearchSummaryExport", "parameters": [ { - "name": "body", - "in": "body", - "schema": { - "description": "Spectro cluster metadata spec", - "properties": { - "filter": { - "description": "Spectro cluster filter spec", - "properties": { - "environment": { - "type": "string" - }, - "includeVirtual": { - "type": "boolean", - "default": false - }, - "isAlloy": { - "description": "isAlloy is renamed to isImported", - "type": "boolean", - "default": false - }, - "isImportReadOnly": { - "type": "boolean", - "default": true - }, - "isImported": { - "type": "boolean", - "default": false - }, - "name": { - "type": "object", - "properties": { - "beginsWith": { - "type": "string", - "x-nullable": true - }, - "contains": { - "type": "string", - "x-nullable": true - }, - "eq": { - "type": "string", - "x-nullable": true - }, - "ignoreCase": { - "type": "boolean", - "default": true - }, - "ne": { - "type": "string", - "x-nullable": true - } - } - }, - "state": { - "type": "string" - } - } - }, - "sort": { - "type": "string", - "enum": [ - "environment", - "state", - "name" - ], - "x-nullable": true - } - } - } - }, - { + "enum": [ + "csv" + ], "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "An array of cluster summary items", - "schema": { - "type": "object", - "required": [ - "items" - ], - "properties": { - "items": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", - "type": "object", - "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "name": { - "description": "Name of the resource.", - "type": "string" - }, - "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", - "type": "string" - } - } - } - } - } - } - } - } - } - }, - "/v1/dashboard/spectroclusters/metadata/search": { - "post": { - "security": [ - { - "ApiKey": [] + "default": "csv", + "name": "format", + "in": "query" }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Retrieves a list of cluster metadata with provided search filter spec Supported sort fields - [\"environment\", \"clusterName\", \"clusterState\", \"creationTimestamp\", \"lastModifiedTimestamp\"]", - "operationId": "v1SpectroClustersMetadataSearch", - "parameters": [ { "name": "body", "in": "body", @@ -77628,222 +74901,70 @@ ], "responses": { "200": { - "description": "An array of cluster summary meta items", + "description": "download file", + "schema": { + "type": "string", + "format": "binary" + }, + "headers": { + "Content-Disposition": { + "type": "string" + } + } + } + } + } + }, + "/v1/dashboard/spectroclusters/search/input": { + "get": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Retrieves a supported input values for the cluster search filter", + "operationId": "v1DashboardSpectroClustersSearchInput", + "parameters": [ + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "200": { + "description": "An array of cluster search filter input items", "schema": { - "type": "object", - "required": [ - "items" - ], "properties": { - "items": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Spectro cluster meta summary", - "type": "object", + "inputs": { + "type": "object", + "additionalProperties": { "properties": { - "metadata": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", - "type": "object", - "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { + "values": { + "type": "array", + "items": { + "description": "Object identity meta", + "type": "object", + "properties": { + "name": { "type": "string" - } - }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "name": { - "description": "Name of the resource.", - "type": "string" - }, - "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", - "type": "string" - } - } - }, - "specSummary": { - "description": "Spectro cluster meta summary", - "type": "object", - "properties": { - "archType": { - "description": "Architecture type of the cluster", - "type": "array", - "items": { - "type": "string", - "default": "amd64", - "enum": [ - "arm64", - "amd64" - ] - } - }, - "cloudAccountUid": { - "type": "string" - }, - "cloudRegion": { - "type": "string" - }, - "cloudType": { - "type": "string" - }, - "clusterType": { - "type": "string" - }, - "importMode": { - "type": "string" - }, - "location": { - "description": "Cluster location information", - "type": "object", - "properties": { - "coordinates": { - "type": "array", - "items": { - "type": "number", - "format": "float64" - } - }, - "countryCode": { - "type": "string" - }, - "countryName": { - "type": "string" - }, - "regionCode": { - "type": "string" - }, - "regionName": { - "type": "string" - } - } - }, - "projectMeta": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - }, - "tags": { - "type": "array", - "items": { + }, + "uid": { "type": "string" } } - } - }, - "status": { - "description": "Spectro cluster meta status summary", - "properties": { - "cost": { - "description": "Cluster meta Cost information", - "type": "object", - "properties": { - "total": { - "type": "number", - "format": "float64", - "x-omitempty": false - } - } - }, - "fips": { - "properties": { - "mode": { - "type": "string", - "default": "none", - "enum": [ - "full", - "none", - "partial", - "unknown" - ] - } - } - }, - "health": { - "description": "Cluster meta health information", - "type": "object", - "properties": { - "isHeartBeatFailed": { - "type": "boolean", - "x-omitempty": false - }, - "state": { - "type": "string" - } - } - }, - "state": { - "type": "string" - }, - "updates": { - "description": "Cluster meta updates information", - "type": "object", - "properties": { - "isUpdatesPending": { - "type": "boolean", - "x-omitempty": false - } - } - } - } + }, + "x-omitempty": true } } } - }, - "listmeta": { - "description": "ListMeta describes metadata for the resource listing", - "type": "object", - "properties": { - "continue": { - "description": "Next token for the pagination. Next token is equal to empty string indicates end of result set.", - "type": "string", - "x-omitempty": false - }, - "count": { - "description": "Total count of the resources which might change during pagination based on the resources addition or deletion", - "type": "integer", - "x-omitempty": false - }, - "limit": { - "description": "Number of records feteched", - "type": "integer", - "x-omitempty": false - }, - "offset": { - "description": "The next offset for the pagination. Starting index for which next request will be placed.", - "type": "integer", - "x-omitempty": false - } - } } } } @@ -77851,7 +74972,7 @@ } } }, - "/v1/dashboard/spectroclusters/metadata/search/schema": { + "/v1/dashboard/spectroclusters/search/schema": { "get": { "security": [ { @@ -77864,8 +74985,8 @@ "tags": [ "v1" ], - "summary": "Retrieves a schema for the cluster metadata search filter", - "operationId": "v1SpectroClustersMetadataSearchSchema", + "summary": "Retrieves a schema for the cluster search filter", + "operationId": "v1SpectroClustersSearchSchema", "parameters": [ { "type": "string", @@ -77876,7 +74997,7 @@ ], "responses": { "200": { - "description": "An array of cluster meta schema items", + "description": "An array of cluster filter schema items", "schema": { "properties": { "schema": { @@ -77959,7 +75080,7 @@ } } }, - "/v1/dashboard/spectroclusters/repaveStatus": { + "/v1/dashboard/spectroclusters/vms": { "get": { "security": [ { @@ -77972,41 +75093,9 @@ "tags": [ "v1" ], - "summary": "Retrieves a list of clusters with the desired repave state", - "operationId": "v1DashboardSpectroClustersRepaveList", + "summary": "Retrieves a list of Virtual machine enabled clusters", + "operationId": "V1DashboardVMEnabledClustersList", "parameters": [ - { - "maximum": 20, - "type": "integer", - "format": "int64", - "description": "limit is a maximum number of responses to return for a list call. Maximum value of the limit is 20.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", - "name": "limit", - "in": "query" - }, - { - "type": "integer", - "format": "int64", - "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", - "name": "offset", - "in": "query" - }, - { - "type": "string", - "description": "continue token to paginate the subsequent data items", - "name": "continue", - "in": "query" - }, - { - "enum": [ - "Pending", - "Approved", - "Reverted" - ], - "type": "string", - "default": "Pending", - "name": "repaveState", - "in": "query" - }, { "type": "string", "description": "Scope the request to the specified project uid", @@ -78016,7 +75105,7 @@ ], "responses": { "200": { - "description": "An array of cluster summary items", + "description": "An array of schema items", "schema": { "type": "object", "required": [ @@ -78027,1404 +75116,1492 @@ "type": "array", "uniqueItems": true, "items": { - "description": "Spectro cluster summary", + "description": "VM Dashboard enabled Spectro cluster", "type": "object", "properties": { "metadata": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", - "type": "object", "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, "name": { - "description": "Name of the resource.", + "type": "string" + }, + "projectUid": { "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", "type": "string" } } }, - "specSummary": { - "description": "Spectro cluster spec summary", + "spec": { + "description": "Spectro cluster spec", "type": "object", "properties": { - "archTypes": { - "description": "Architecture type of the cluster", - "type": "array", - "items": { - "type": "string", - "default": "amd64", - "enum": [ - "amd64", - "arm64" - ] - } - }, - "cloudAccountMeta": { - "description": "Cloud account meta information", - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - }, - "cloudConfig": { + "cloudType": { + "type": "string" + } + } + }, + "status": { + "description": "Spectro cluster status", + "properties": { + "clusterState": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + }, + "/v1/dashboard/spectroclusters/{uid}": { + "get": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Returns the specified cluster summary", + "operationId": "v1SpectroClustersSummaryUid", + "parameters": [ + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "200": { + "description": "An spectro cluster summary", + "schema": { + "description": "Spectro cluster summary", + "type": "object", + "properties": { + "metadata": { + "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", + "type": "object", + "properties": { + "annotations": { + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "creationTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "deletionTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "labels": { + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "lastModifiedTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "name": { + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + }, + "uid": { + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", + "type": "string" + } + } + }, + "spec": { + "description": "Spectro cluster spec summary", + "type": "object", + "properties": { + "archTypes": { + "description": "Architecture types of the cluster", + "type": "array", + "items": { + "type": "string", + "default": "amd64", + "enum": [ + "amd64", + "arm64" + ] + } + }, + "cloudConfig": { + "type": "object", + "properties": { + "cloudType": { + "type": "string" + }, + "machinePools": { + "description": "Machine pool meta information", + "type": "array", + "items": { "type": "object", "properties": { "cloudType": { "type": "string" }, - "machinePools": { - "description": "Machine pool meta information", - "type": "array", - "items": { - "type": "object", - "properties": { - "cloudType": { - "type": "string" - }, - "healthy": { - "description": "number of healthy machines", - "type": "integer", - "format": "int32", - "x-omitempty": false - }, - "infraProfileTemplate": { - "description": "Cluster profile template meta information", + "healthy": { + "description": "number of healthy machines", + "type": "integer", + "format": "int32", + "x-omitempty": false + }, + "infraProfileTemplate": { + "description": "Cluster profile template meta information", + "type": "object", + "properties": { + "cloudType": { + "type": "string" + }, + "name": { + "description": "Cluster profile name", + "type": "string" + }, + "packs": { + "description": "Cluster profile packs array", + "type": "array", + "items": { + "description": "PackRef server/name:tag to point to a pack PackRef is used when construct a ClusterProfile PackSpec is used for UI to render the parameters form ClusterProfile will not know inner details of a pack ClusterProfile only contain pack name:tag, and the param values user entered for it", "type": "object", + "required": [ + "layer", + "name" + ], "properties": { - "cloudType": { + "annotations": { + "description": "Annotations is used to allow packref to add more arbitrary information one example is to add git reference for values.yaml", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "digest": { + "description": "digest is used to specify the version should be installed by palette when pack upgrade available, change this digest to trigger upgrade", "type": "string" }, - "name": { - "description": "Cluster profile name", + "inValidReason": { "type": "string" }, - "packs": { - "description": "Cluster profile packs array", + "isInvalid": { + "description": "pack is invalid when the associated tag is deleted from the registry", + "type": "boolean" + }, + "layer": { + "type": "string", + "enum": [ + "kernel", + "os", + "k8s", + "cni", + "csi", + "addon" + ] + }, + "logo": { + "description": "path to the pack logo", + "type": "string" + }, + "manifests": { "type": "array", "items": { - "description": "PackRef server/name:tag to point to a pack PackRef is used when construct a ClusterProfile PackSpec is used for UI to render the parameters form ClusterProfile will not know inner details of a pack ClusterProfile only contain pack name:tag, and the param values user entered for it", + "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", "type": "object", - "required": [ - "layer", - "name" - ], "properties": { - "annotations": { - "description": "Annotations is used to allow packref to add more arbitrary information one example is to add git reference for values.yaml", - "type": "object", - "additionalProperties": { - "type": "string" - } + "kind": { + "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" }, - "digest": { - "description": "digest is used to specify the version should be installed by palette when pack upgrade available, change this digest to trigger upgrade", + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, - "inValidReason": { + "uid": { + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" + } + } + } + }, + "name": { + "description": "pack name", + "type": "string" + }, + "packUid": { + "description": "PackUID is Hubble packUID, not palette Pack.UID It is used by Hubble only.", + "type": "string" + }, + "params": { + "description": "params passed as env variables to be consumed at installation time", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "presets": { + "type": "array", + "items": { + "description": "PackPreset defines the preset pack values", + "type": "object", + "properties": { + "add": { + "type": "string", + "x-omitempty": false }, - "isInvalid": { - "description": "pack is invalid when the associated tag is deleted from the registry", - "type": "boolean" + "displayName": { + "type": "string", + "x-omitempty": false }, - "layer": { + "group": { "type": "string", - "enum": [ - "kernel", - "os", - "k8s", - "cni", - "csi", - "addon" - ] + "x-omitempty": false }, - "logo": { - "description": "path to the pack logo", - "type": "string" + "name": { + "type": "string", + "x-omitempty": false }, - "manifests": { + "remove": { "type": "array", "items": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", - "type": "string" - } - } - } - }, - "name": { - "description": "pack name", - "type": "string" - }, - "packUid": { - "description": "PackUID is Hubble packUID, not palette Pack.UID It is used by Hubble only.", - "type": "string" - }, - "params": { - "description": "params passed as env variables to be consumed at installation time", - "type": "object", - "additionalProperties": { "type": "string" - } + }, + "x-omitempty": false + } + } + } + }, + "registryUid": { + "description": "pack registry uid", + "type": "string" + }, + "schema": { + "type": "array", + "items": { + "description": "PackSchema defines the schema definition, hints for the pack values", + "type": "object", + "properties": { + "format": { + "type": "string", + "x-omitempty": false }, - "presets": { + "hints": { "type": "array", "items": { - "description": "PackPreset defines the preset pack values", - "type": "object", - "properties": { - "add": { - "type": "string", - "x-omitempty": false - }, - "displayName": { - "type": "string", - "x-omitempty": false - }, - "group": { - "type": "string", - "x-omitempty": false - }, - "name": { - "type": "string", - "x-omitempty": false - }, - "remove": { - "type": "array", - "items": { - "type": "string" - }, - "x-omitempty": false - } - } - } - }, - "registryUid": { - "description": "pack registry uid", - "type": "string" + "type": "string" + }, + "x-omitempty": false }, - "schema": { + "listOptions": { "type": "array", "items": { - "description": "PackSchema defines the schema definition, hints for the pack values", - "type": "object", - "properties": { - "format": { - "type": "string", - "x-omitempty": false - }, - "hints": { - "type": "array", - "items": { - "type": "string" - }, - "x-omitempty": false - }, - "listOptions": { - "type": "array", - "items": { - "type": "string" - }, - "x-omitempty": false - }, - "name": { - "type": "string", - "x-omitempty": false - }, - "readonly": { - "type": "boolean", - "x-omitempty": false - }, - "regex": { - "type": "string", - "x-omitempty": false - }, - "required": { - "type": "boolean", - "x-omitempty": false - }, - "type": { - "type": "string", - "x-omitempty": false - } - } - } + "type": "string" + }, + "x-omitempty": false }, - "server": { - "description": "pack registry server or helm repo", - "type": "string" + "name": { + "type": "string", + "x-omitempty": false }, - "tag": { - "description": "pack tag", - "type": "string" + "readonly": { + "type": "boolean", + "x-omitempty": false }, - "type": { - "description": "type of the pack", + "regex": { "type": "string", - "enum": [ - "spectro", - "helm", - "manifest" - ] + "x-omitempty": false }, - "values": { - "description": "values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", - "type": "string" + "required": { + "type": "boolean", + "x-omitempty": false }, - "version": { - "description": "pack version", - "type": "string" + "type": { + "type": "string", + "x-omitempty": false } } } }, - "scope": { - "description": "scope or context(system, tenant or project)", + "server": { + "description": "pack registry server or helm repo", "type": "string" }, - "type": { - "description": "Cluster profile type [ \"cluster\", \"infra\", \"add-on\", \"system\" ]", + "tag": { + "description": "pack tag", "type": "string" }, - "uid": { - "description": "Cluster profile uid", + "type": { + "description": "type of the pack", + "type": "string", + "enum": [ + "spectro", + "helm", + "manifest" + ] + }, + "values": { + "description": "values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", "type": "string" }, "version": { - "type": "integer", - "format": "int32" + "description": "pack version", + "type": "string" } } - }, - "isControlPlane": { - "description": "whether this pool is for control plane", - "type": "boolean", - "x-omitempty": false - }, - "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", - "type": "array", - "items": { - "type": "string" - } - }, - "maintenanceMode": { - "description": "number of machines under maintenance", - "type": "integer", - "format": "int32", - "x-omitempty": false - }, - "size": { - "description": "size of the pool, number of machines", - "type": "integer", - "format": "int32", - "x-omitempty": false } + }, + "scope": { + "description": "scope or context(system, tenant or project)", + "type": "string" + }, + "type": { + "description": "Cluster profile type [ \"cluster\", \"infra\", \"add-on\", \"system\" ]", + "type": "string" + }, + "uid": { + "description": "Cluster profile uid", + "type": "string" + }, + "version": { + "type": "integer", + "format": "int32" } } }, - "uid": { - "description": "Cluster's cloud config uid", - "type": "string" - } - } - }, - "clusterConfig": { - "type": "object", - "properties": { - "hostClusterConfig": { - "properties": { - "clusterGroup": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", - "type": "string" - } - } - } + "isControlPlane": { + "description": "whether this pool is for control plane", + "type": "boolean", + "x-omitempty": false + }, + "labels": { + "description": "labels for this pool, example: control-plane/worker, gpu, windows", + "type": "array", + "items": { + "type": "string" } + }, + "maintenanceMode": { + "description": "number of machines under maintenance", + "type": "integer", + "format": "int32", + "x-omitempty": false + }, + "size": { + "description": "size of the pool, number of machines", + "type": "integer", + "format": "int32", + "x-omitempty": false } } - }, - "clusterProfileTemplate": { - "description": "Cluster profile template meta information", + } + }, + "uid": { + "description": "Cluster's cloud config uid", + "type": "string" + } + } + }, + "cloudaccount": { + "description": "Cloud account meta information", + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + } + }, + "clusterProfileTemplate": { + "description": "Cluster profile template meta information", + "type": "object", + "properties": { + "cloudType": { + "type": "string" + }, + "name": { + "description": "Cluster profile name", + "type": "string" + }, + "packs": { + "description": "Cluster profile packs array", + "type": "array", + "items": { + "description": "PackRef server/name:tag to point to a pack PackRef is used when construct a ClusterProfile PackSpec is used for UI to render the parameters form ClusterProfile will not know inner details of a pack ClusterProfile only contain pack name:tag, and the param values user entered for it", "type": "object", + "required": [ + "layer", + "name" + ], "properties": { - "cloudType": { + "annotations": { + "description": "Annotations is used to allow packref to add more arbitrary information one example is to add git reference for values.yaml", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "digest": { + "description": "digest is used to specify the version should be installed by palette when pack upgrade available, change this digest to trigger upgrade", "type": "string" }, - "name": { - "description": "Cluster profile name", + "inValidReason": { "type": "string" }, - "packs": { - "description": "Cluster profile packs array", + "isInvalid": { + "description": "pack is invalid when the associated tag is deleted from the registry", + "type": "boolean" + }, + "layer": { + "type": "string", + "enum": [ + "kernel", + "os", + "k8s", + "cni", + "csi", + "addon" + ] + }, + "logo": { + "description": "path to the pack logo", + "type": "string" + }, + "manifests": { "type": "array", "items": { - "description": "PackRef server/name:tag to point to a pack PackRef is used when construct a ClusterProfile PackSpec is used for UI to render the parameters form ClusterProfile will not know inner details of a pack ClusterProfile only contain pack name:tag, and the param values user entered for it", + "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", "type": "object", - "required": [ - "layer", - "name" - ], "properties": { - "annotations": { - "description": "Annotations is used to allow packref to add more arbitrary information one example is to add git reference for values.yaml", - "type": "object", - "additionalProperties": { - "type": "string" - } + "kind": { + "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" }, - "digest": { - "description": "digest is used to specify the version should be installed by palette when pack upgrade available, change this digest to trigger upgrade", + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, - "inValidReason": { + "uid": { + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" + } + } + } + }, + "name": { + "description": "pack name", + "type": "string" + }, + "packUid": { + "description": "PackUID is Hubble packUID, not palette Pack.UID It is used by Hubble only.", + "type": "string" + }, + "params": { + "description": "params passed as env variables to be consumed at installation time", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "presets": { + "type": "array", + "items": { + "description": "PackPreset defines the preset pack values", + "type": "object", + "properties": { + "add": { + "type": "string", + "x-omitempty": false }, - "isInvalid": { - "description": "pack is invalid when the associated tag is deleted from the registry", - "type": "boolean" + "displayName": { + "type": "string", + "x-omitempty": false }, - "layer": { + "group": { "type": "string", - "enum": [ - "kernel", - "os", - "k8s", - "cni", - "csi", - "addon" - ] + "x-omitempty": false }, - "logo": { - "description": "path to the pack logo", - "type": "string" + "name": { + "type": "string", + "x-omitempty": false }, - "manifests": { + "remove": { "type": "array", "items": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", - "type": "string" - } - } - } - }, - "name": { - "description": "pack name", - "type": "string" - }, - "packUid": { - "description": "PackUID is Hubble packUID, not palette Pack.UID It is used by Hubble only.", - "type": "string" - }, - "params": { - "description": "params passed as env variables to be consumed at installation time", - "type": "object", - "additionalProperties": { "type": "string" - } + }, + "x-omitempty": false + } + } + } + }, + "registryUid": { + "description": "pack registry uid", + "type": "string" + }, + "schema": { + "type": "array", + "items": { + "description": "PackSchema defines the schema definition, hints for the pack values", + "type": "object", + "properties": { + "format": { + "type": "string", + "x-omitempty": false }, - "presets": { + "hints": { "type": "array", "items": { - "description": "PackPreset defines the preset pack values", - "type": "object", - "properties": { - "add": { - "type": "string", - "x-omitempty": false - }, - "displayName": { - "type": "string", - "x-omitempty": false - }, - "group": { - "type": "string", - "x-omitempty": false - }, - "name": { - "type": "string", - "x-omitempty": false - }, - "remove": { - "type": "array", - "items": { - "type": "string" - }, - "x-omitempty": false - } - } - } - }, - "registryUid": { - "description": "pack registry uid", - "type": "string" + "type": "string" + }, + "x-omitempty": false }, - "schema": { + "listOptions": { "type": "array", "items": { - "description": "PackSchema defines the schema definition, hints for the pack values", - "type": "object", - "properties": { - "format": { - "type": "string", - "x-omitempty": false - }, - "hints": { - "type": "array", - "items": { - "type": "string" - }, - "x-omitempty": false - }, - "listOptions": { - "type": "array", - "items": { - "type": "string" - }, - "x-omitempty": false - }, - "name": { - "type": "string", - "x-omitempty": false - }, - "readonly": { - "type": "boolean", - "x-omitempty": false - }, - "regex": { - "type": "string", - "x-omitempty": false - }, - "required": { - "type": "boolean", - "x-omitempty": false - }, - "type": { - "type": "string", - "x-omitempty": false - } - } - } + "type": "string" + }, + "x-omitempty": false }, - "server": { - "description": "pack registry server or helm repo", - "type": "string" + "name": { + "type": "string", + "x-omitempty": false }, - "tag": { - "description": "pack tag", - "type": "string" + "readonly": { + "type": "boolean", + "x-omitempty": false }, - "type": { - "description": "type of the pack", + "regex": { "type": "string", - "enum": [ - "spectro", - "helm", - "manifest" - ] + "x-omitempty": false }, - "values": { - "description": "values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", - "type": "string" + "required": { + "type": "boolean", + "x-omitempty": false }, - "version": { - "description": "pack version", - "type": "string" + "type": { + "type": "string", + "x-omitempty": false } } } }, - "scope": { - "description": "scope or context(system, tenant or project)", + "server": { + "description": "pack registry server or helm repo", "type": "string" }, - "type": { - "description": "Cluster profile type [ \"cluster\", \"infra\", \"add-on\", \"system\" ]", + "tag": { + "description": "pack tag", "type": "string" }, - "uid": { - "description": "Cluster profile uid", + "type": { + "description": "type of the pack", + "type": "string", + "enum": [ + "spectro", + "helm", + "manifest" + ] + }, + "values": { + "description": "values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", "type": "string" }, "version": { - "type": "integer", - "format": "int32" + "description": "pack version", + "type": "string" } } + } + }, + "scope": { + "description": "scope or context(system, tenant or project)", + "type": "string" + }, + "type": { + "description": "Cluster profile type [ \"cluster\", \"infra\", \"add-on\", \"system\" ]", + "type": "string" + }, + "uid": { + "description": "Cluster profile uid", + "type": "string" + }, + "version": { + "type": "integer", + "format": "int32" + } + } + }, + "clusterProfileTemplates": { + "type": "array", + "items": { + "description": "Cluster profile template meta information", + "type": "object", + "properties": { + "cloudType": { + "type": "string" }, - "clusterProfileTemplates": { + "name": { + "description": "Cluster profile name", + "type": "string" + }, + "packs": { + "description": "Cluster profile packs array", "type": "array", "items": { - "description": "Cluster profile template meta information", + "description": "PackRef server/name:tag to point to a pack PackRef is used when construct a ClusterProfile PackSpec is used for UI to render the parameters form ClusterProfile will not know inner details of a pack ClusterProfile only contain pack name:tag, and the param values user entered for it", "type": "object", + "required": [ + "layer", + "name" + ], "properties": { - "cloudType": { + "annotations": { + "description": "Annotations is used to allow packref to add more arbitrary information one example is to add git reference for values.yaml", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "digest": { + "description": "digest is used to specify the version should be installed by palette when pack upgrade available, change this digest to trigger upgrade", "type": "string" }, - "name": { - "description": "Cluster profile name", + "inValidReason": { "type": "string" }, - "packs": { - "description": "Cluster profile packs array", + "isInvalid": { + "description": "pack is invalid when the associated tag is deleted from the registry", + "type": "boolean" + }, + "layer": { + "type": "string", + "enum": [ + "kernel", + "os", + "k8s", + "cni", + "csi", + "addon" + ] + }, + "logo": { + "description": "path to the pack logo", + "type": "string" + }, + "manifests": { "type": "array", "items": { - "description": "PackRef server/name:tag to point to a pack PackRef is used when construct a ClusterProfile PackSpec is used for UI to render the parameters form ClusterProfile will not know inner details of a pack ClusterProfile only contain pack name:tag, and the param values user entered for it", + "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", "type": "object", - "required": [ - "layer", - "name" - ], "properties": { - "annotations": { - "description": "Annotations is used to allow packref to add more arbitrary information one example is to add git reference for values.yaml", - "type": "object", - "additionalProperties": { - "type": "string" - } + "kind": { + "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" }, - "digest": { - "description": "digest is used to specify the version should be installed by palette when pack upgrade available, change this digest to trigger upgrade", + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, - "inValidReason": { + "uid": { + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" + } + } + } + }, + "name": { + "description": "pack name", + "type": "string" + }, + "packUid": { + "description": "PackUID is Hubble packUID, not palette Pack.UID It is used by Hubble only.", + "type": "string" + }, + "params": { + "description": "params passed as env variables to be consumed at installation time", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "presets": { + "type": "array", + "items": { + "description": "PackPreset defines the preset pack values", + "type": "object", + "properties": { + "add": { + "type": "string", + "x-omitempty": false }, - "isInvalid": { - "description": "pack is invalid when the associated tag is deleted from the registry", - "type": "boolean" + "displayName": { + "type": "string", + "x-omitempty": false }, - "layer": { + "group": { "type": "string", - "enum": [ - "kernel", - "os", - "k8s", - "cni", - "csi", - "addon" - ] + "x-omitempty": false }, - "logo": { - "description": "path to the pack logo", - "type": "string" + "name": { + "type": "string", + "x-omitempty": false }, - "manifests": { + "remove": { "type": "array", "items": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", - "type": "string" - } - } - } - }, - "name": { - "description": "pack name", - "type": "string" - }, - "packUid": { - "description": "PackUID is Hubble packUID, not palette Pack.UID It is used by Hubble only.", - "type": "string" - }, - "params": { - "description": "params passed as env variables to be consumed at installation time", - "type": "object", - "additionalProperties": { "type": "string" - } + }, + "x-omitempty": false + } + } + } + }, + "registryUid": { + "description": "pack registry uid", + "type": "string" + }, + "schema": { + "type": "array", + "items": { + "description": "PackSchema defines the schema definition, hints for the pack values", + "type": "object", + "properties": { + "format": { + "type": "string", + "x-omitempty": false }, - "presets": { + "hints": { "type": "array", "items": { - "description": "PackPreset defines the preset pack values", - "type": "object", - "properties": { - "add": { - "type": "string", - "x-omitempty": false - }, - "displayName": { - "type": "string", - "x-omitempty": false - }, - "group": { - "type": "string", - "x-omitempty": false - }, - "name": { - "type": "string", - "x-omitempty": false - }, - "remove": { - "type": "array", - "items": { - "type": "string" - }, - "x-omitempty": false - } - } - } - }, - "registryUid": { - "description": "pack registry uid", - "type": "string" + "type": "string" + }, + "x-omitempty": false }, - "schema": { + "listOptions": { "type": "array", "items": { - "description": "PackSchema defines the schema definition, hints for the pack values", - "type": "object", - "properties": { - "format": { - "type": "string", - "x-omitempty": false - }, - "hints": { - "type": "array", - "items": { - "type": "string" - }, - "x-omitempty": false - }, - "listOptions": { - "type": "array", - "items": { - "type": "string" - }, - "x-omitempty": false - }, - "name": { - "type": "string", - "x-omitempty": false - }, - "readonly": { - "type": "boolean", - "x-omitempty": false - }, - "regex": { - "type": "string", - "x-omitempty": false - }, - "required": { - "type": "boolean", - "x-omitempty": false - }, - "type": { - "type": "string", - "x-omitempty": false - } - } - } + "type": "string" + }, + "x-omitempty": false }, - "server": { - "description": "pack registry server or helm repo", - "type": "string" + "name": { + "type": "string", + "x-omitempty": false }, - "tag": { - "description": "pack tag", - "type": "string" + "readonly": { + "type": "boolean", + "x-omitempty": false }, - "type": { - "description": "type of the pack", + "regex": { "type": "string", - "enum": [ - "spectro", - "helm", - "manifest" - ] + "x-omitempty": false }, - "values": { - "description": "values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", - "type": "string" + "required": { + "type": "boolean", + "x-omitempty": false }, - "version": { - "description": "pack version", - "type": "string" + "type": { + "type": "string", + "x-omitempty": false } } } }, - "scope": { - "description": "scope or context(system, tenant or project)", + "server": { + "description": "pack registry server or helm repo", "type": "string" }, - "type": { - "description": "Cluster profile type [ \"cluster\", \"infra\", \"add-on\", \"system\" ]", + "tag": { + "description": "pack tag", "type": "string" }, - "uid": { - "description": "Cluster profile uid", + "type": { + "description": "type of the pack", + "type": "string", + "enum": [ + "spectro", + "helm", + "manifest" + ] + }, + "values": { + "description": "values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", "type": "string" }, "version": { - "type": "integer", - "format": "int32" + "description": "pack version", + "type": "string" } } } }, - "projectMeta": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } + "scope": { + "description": "scope or context(system, tenant or project)", + "type": "string" + }, + "type": { + "description": "Cluster profile type [ \"cluster\", \"infra\", \"add-on\", \"system\" ]", + "type": "string" + }, + "uid": { + "description": "Cluster profile uid", + "type": "string" + }, + "version": { + "type": "integer", + "format": "int32" } } - }, - "status": { + } + } + } + }, + "status": { + "description": "Spectro cluster status summary", + "properties": { + "abortTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "addOnServices": { + "type": "array", + "items": { "description": "Spectro cluster status summary", "properties": { - "clusterImport": { - "type": "object", + "endpoint": { + "type": "string" + }, + "name": { + "type": "string" + } + } + } + }, + "apiEndpoints": { + "type": "array", + "items": { + "description": "APIEndpoint represents a reachable Kubernetes API endpoint.", + "type": "object", + "required": [ + "host", + "port" + ], + "properties": { + "host": { + "description": "The hostname on which the API server is serving.", + "type": "string" + }, + "port": { + "description": "The port on which the API server is serving.", + "type": "integer", + "format": "int32" + } + } + } + }, + "clusterImport": { + "type": "object", + "properties": { + "importLink": { + "description": "import link to download and install ally-lite, palette-lite", + "type": "string" + }, + "isBrownfield": { + "description": "Deprecated. Use the 'spec.clusterType'", + "type": "boolean", + "x-omitempty": false + }, + "state": { + "description": "cluster import status", + "type": "string" + } + } + }, + "conditions": { + "type": "array", + "items": { + "type": "object", + "required": [ + "type", + "status" + ], + "properties": { + "lastProbeTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "lastTransitionTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "type": "string" + }, + "type": { + "type": "string" + } + } + } + }, + "cost": { + "description": "Resource Cost information", + "type": "object", + "properties": { + "cloud": { + "description": "Cloud cost information", + "type": "object", + "properties": { + "compute": { + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "storage": { + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "total": { + "type": "number", + "format": "float64", + "x-omitempty": false + } + } + }, + "total": { + "type": "number", + "format": "float64", + "x-omitempty": false + } + } + }, + "fips": { + "properties": { + "mode": { + "type": "string", + "default": "none", + "enum": [ + "full", + "none", + "partial", + "unknown" + ] + } + } + }, + "health": { + "description": "Spectro cluster health status", + "properties": { + "agentVersion": { + "type": "string" + }, + "conditions": { + "type": "array", + "uniqueItems": true, + "items": { + "description": "Spectro cluster health condition", "properties": { - "importLink": { - "description": "import link to download and install ally-lite, palette-lite", + "message": { "type": "string" }, - "isBrownfield": { - "description": "Deprecated. Use the 'spec.clusterType'", - "type": "boolean", - "x-omitempty": false - }, - "state": { - "description": "cluster import status", - "type": "string" - } - } - }, - "cost": { - "description": "Resource Cost information", - "type": "object", - "properties": { - "cloud": { - "description": "Cloud cost information", + "relatedObject": { + "description": "Object for which the resource is related", "type": "object", "properties": { - "compute": { - "type": "number", - "format": "float64", - "x-omitempty": false + "kind": { + "type": "string", + "enum": [ + "spectrocluster", + "machine", + "cloudconfig", + "clusterprofile", + "pack", + "appprofile", + "appdeployment", + "edgehost" + ] }, - "storage": { - "type": "number", - "format": "float64", - "x-omitempty": false + "name": { + "type": "string" }, - "total": { - "type": "number", - "format": "float64", - "x-omitempty": false + "uid": { + "type": "string" } } }, - "total": { - "type": "number", - "format": "float64", - "x-omitempty": false + "type": { + "type": "string" } } - }, - "fips": { - "properties": { - "mode": { - "type": "string", - "default": "none", - "enum": [ - "full", - "none", - "partial", - "unknown" - ] - } + } + }, + "lastHeartBeatTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "state": { + "type": "string" + } + } + }, + "hourlyRate": { + "description": "Resource Cost information", + "type": "object", + "properties": { + "cloud": { + "description": "Cloud cost information", + "type": "object", + "properties": { + "compute": { + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "storage": { + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "total": { + "type": "number", + "format": "float64", + "x-omitempty": false } - }, - "health": { - "description": "Spectro cluster health status", + } + }, + "total": { + "type": "number", + "format": "float64", + "x-omitempty": false + } + } + }, + "kubeMeta": { + "description": "Spectro cluster kube meta", + "type": "object", + "properties": { + "hasKubeConfig": { + "type": "boolean", + "x-omitempty": false + }, + "hasKubeConfigClient": { + "type": "boolean", + "x-omitempty": false + }, + "hasManifest": { + "type": "boolean", + "x-omitempty": false + }, + "kubernetesVersion": { + "type": "string" + } + } + }, + "location": { + "description": "Cluster location information", + "type": "object", + "properties": { + "coordinates": { + "type": "array", + "items": { + "type": "number", + "format": "float64" + } + }, + "countryCode": { + "type": "string" + }, + "countryName": { + "type": "string" + }, + "regionCode": { + "type": "string" + }, + "regionName": { + "type": "string" + } + } + }, + "metrics": { + "description": "Spectro cluster metrics", + "properties": { + "cpu": { + "description": "Compute metrics", + "type": "object", + "properties": { + "lastUpdatedTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "limit": { + "type": "number", + "x-omitempty": false + }, + "request": { + "type": "number", + "x-omitempty": false + }, + "total": { + "type": "number", + "x-omitempty": false + }, + "unit": { + "type": "string" + }, + "usage": { + "type": "number", + "x-omitempty": false + } + } + }, + "memory": { + "description": "Compute metrics", + "type": "object", + "properties": { + "lastUpdatedTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "limit": { + "type": "number", + "x-omitempty": false + }, + "request": { + "type": "number", + "x-omitempty": false + }, + "total": { + "type": "number", + "x-omitempty": false + }, + "unit": { + "type": "string" + }, + "usage": { + "type": "number", + "x-omitempty": false + } + } + } + } + }, + "notifications": { + "description": "Cluster notifications status", + "properties": { + "isAvailable": { + "type": "boolean", + "x-omitempty": false + } + } + }, + "packs": { + "type": "array", + "items": { + "type": "object", + "properties": { + "condition": { + "type": "object", + "required": [ + "type", + "status" + ], "properties": { - "agentVersion": { - "type": "string" - }, - "conditions": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Spectro cluster health condition", - "properties": { - "message": { - "type": "string" - }, - "relatedObject": { - "description": "Object for which the resource is related", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "spectrocluster", - "machine", - "cloudconfig", - "clusterprofile", - "pack", - "appprofile", - "appdeployment", - "edgehost" - ] - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - }, - "type": { - "type": "string" - } - } - } - }, - "lastHeartBeatTimestamp": { + "lastProbeTime": { "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", "type": "string", "format": "date-time" }, - "state": { - "type": "string" - } - } - }, - "hourlyRate": { - "description": "Resource Cost information", - "type": "object", - "properties": { - "cloud": { - "description": "Cloud cost information", - "type": "object", - "properties": { - "compute": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "storage": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "total": { - "type": "number", - "format": "float64", - "x-omitempty": false - } - } - }, - "total": { - "type": "number", - "format": "float64", - "x-omitempty": false - } - } - }, - "location": { - "description": "Cluster location information", - "type": "object", - "properties": { - "coordinates": { - "type": "array", - "items": { - "type": "number", - "format": "float64" - } + "lastTransitionTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" }, - "countryCode": { + "message": { + "description": "Human-readable message indicating details about last transition.", "type": "string" }, - "countryName": { + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", "type": "string" }, - "regionCode": { + "status": { "type": "string" }, - "regionName": { + "type": { "type": "string" } } }, - "metrics": { - "description": "Spectro cluster metrics", - "properties": { - "cpu": { - "description": "Compute metrics", - "type": "object", - "properties": { - "lastUpdatedTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "limit": { - "type": "number", - "x-omitempty": false - }, - "request": { - "type": "number", - "x-omitempty": false - }, - "total": { - "type": "number", - "x-omitempty": false - }, - "unit": { - "type": "string" - }, - "usage": { - "type": "number", - "x-omitempty": false - } - } - }, - "memory": { - "description": "Compute metrics", - "type": "object", - "properties": { - "lastUpdatedTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "limit": { - "type": "number", - "x-omitempty": false - }, - "request": { - "type": "number", - "x-omitempty": false - }, - "total": { - "type": "number", - "x-omitempty": false - }, - "unit": { - "type": "string" - }, - "usage": { - "type": "number", - "x-omitempty": false - } - } - } - } - }, - "notifications": { - "description": "Spectro cluster notifications", - "properties": { - "isAvailable": { - "type": "boolean", - "x-omitempty": false - } - } - }, - "repave": { - "description": "Cluster repave status", - "properties": { - "state": { - "type": "string", - "default": "Pending", - "enum": [ - "Pending", - "Approved", - "Reverted" - ] - } - } - }, - "state": { - "type": "string" + "endTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" }, - "virtual": { - "properties": { - "appDeployments": { - "description": "list of apps deployed on the virtual cluster", - "type": "array", - "items": { - "description": "Object resource reference", + "manifests": { + "type": "array", + "items": { + "type": "object", + "properties": { + "condition": { "type": "object", + "required": [ + "type", + "status" + ], "properties": { - "kind": { - "type": "string" + "lastProbeTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" }, - "name": { + "lastTransitionTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", "type": "string" }, - "projectUid": { + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", "type": "string" }, - "tenantUid": { + "status": { "type": "string" }, - "uid": { + "type": { "type": "string" } } + }, + "name": { + "type": "string" + }, + "uid": { + "type": "string" } - }, - "clusterGroup": { - "description": "Object resource reference", - "type": "object", - "properties": { - "kind": { - "type": "string" - }, - "name": { - "type": "string" - }, - "projectUid": { - "type": "string" - }, - "tenantUid": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - }, - "hostCluster": { - "description": "Object resource reference", - "type": "object", - "properties": { - "kind": { - "type": "string" - }, - "name": { - "type": "string" - }, - "projectUid": { - "type": "string" - }, - "tenantUid": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - }, - "lifecycleStatus": { - "properties": { - "msg": { - "description": "error or success msg of lifecycle", - "type": "string" - }, - "status": { - "description": "lifecycle status", - "type": "string", - "enum": [ - "Pausing", - "Paused", - "Resuming", - "Running", - "Error" - ] - } - } - }, - "state": { - "description": "cluster virtual host status", - "type": "string" - }, - "virtualClusters": { - "description": "list of virtual clusters deployed on the cluster", - "type": "array", - "items": { - "description": "Object resource reference", - "type": "object", - "properties": { - "kind": { - "type": "string" - }, - "name": { - "type": "string" - }, - "projectUid": { - "type": "string" - }, - "tenantUid": { - "type": "string" - }, - "uid": { - "type": "string" + } + } + }, + "name": { + "type": "string" + }, + "profileUid": { + "type": "string" + }, + "services": { + "type": "array", + "items": { + "type": "object", + "properties": { + "host": { + "description": "IP or Host from svc.Status.LoadBalancerStatus.Ingress", + "type": "string" + }, + "name": { + "description": "name of the loadbalancer service", + "type": "string" + }, + "ports": { + "description": "port this service exposed", + "type": "array", + "items": { + "type": "object", + "required": [ + "port" + ], + "properties": { + "port": { + "description": "The port that will be exposed by this service.", + "type": "integer", + "format": "int32" + }, + "protocol": { + "type": "string" + } } } } } } + }, + "startTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "type": { + "type": "string" + }, + "version": { + "type": "string" } } } - } - } - }, - "listmeta": { - "description": "ListMeta describes metadata for the resource listing", - "type": "object", - "properties": { - "continue": { - "description": "Next token for the pagination. Next token is equal to empty string indicates end of result set.", - "type": "string", - "x-omitempty": false - }, - "count": { - "description": "Total count of the resources which might change during pagination based on the resources addition or deletion", - "type": "integer", - "x-omitempty": false - }, - "limit": { - "description": "Number of records feteched", - "type": "integer", - "x-omitempty": false - }, - "offset": { - "description": "The next offset for the pagination. Starting index for which next request will be placed.", - "type": "integer", - "x-omitempty": false - } - } - } - } - } - } - } - } - }, - "/v1/dashboard/spectroclusters/resources/consumption": { - "post": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Retrieves spectro clusters resource consumption", - "operationId": "v1SpectroClustersResourcesConsumption", - "parameters": [ - { - "name": "body", - "in": "body", - "schema": { - "description": "Resource consumption spec", - "type": "object", - "properties": { - "filter": { - "description": "Resource consumption filter", - "type": "object", - "properties": { - "clouds": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - }, - "clusters": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - }, - "endTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "includeMasterMachines": { - "type": "boolean" }, - "namespaces": { + "services": { "type": "array", - "uniqueItems": true, "items": { - "type": "string" + "type": "object", + "properties": { + "host": { + "description": "IP or Host from svc.Status.LoadBalancerStatus.Ingress", + "type": "string" + }, + "name": { + "description": "name of the loadbalancer service", + "type": "string" + }, + "ports": { + "description": "port this service exposed", + "type": "array", + "items": { + "type": "object", + "required": [ + "port" + ], + "properties": { + "port": { + "description": "The port that will be exposed by this service.", + "type": "integer", + "format": "int32" + }, + "protocol": { + "type": "string" + } + } + } + } + } } }, - "projects": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" + "spcApply": { + "type": "object", + "properties": { + "actionType": { + "type": "string", + "enum": [ + "DownloadAndInstall", + "DownloadAndInstallLater" + ] + }, + "canBeApplied": { + "description": "If it is true then Agent can apply the changes to the palette", + "type": "boolean", + "x-omitempty": false + }, + "crdDigest": { + "type": "string" + }, + "lastModifiedTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "patchAppliedTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "spcHash": { + "type": "string" + }, + "spcInfraHash": { + "type": "string" + } } }, - "startTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" + "state": { + "description": "current operational state", + "type": "string" }, - "workspaces": { + "upgrades": { "type": "array", - "uniqueItems": true, "items": { - "type": "string" + "description": "Upgrades represent the reason of the last upgrade that took place", + "type": "object", + "properties": { + "reason": { + "type": "array", + "items": { + "type": "string" + } + }, + "timestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + } + } } - } - } - }, - "options": { - "description": "Resource consumption options", - "type": "object", - "properties": { - "enableSummaryView": { - "type": "boolean", - "default": true - }, - "groupBy": { - "type": "string", - "default": "namespace", - "enum": [ - "tenant", - "project", - "workspace", - "cluster", - "namespace", - "cloud" - ] }, - "period": { - "type": "integer", - "format": "int32", - "default": 60 - } - } - } - } - } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "An array of resource consumption data items", - "schema": { - "description": "Resources consumption information", - "type": "object", - "properties": { - "cpuUnit": { - "type": "string" - }, - "memoryUnit": { - "type": "string" - }, - "resources": { - "type": "array", - "items": { - "description": "Resource consumption information", - "type": "object", - "properties": { - "associatedResources": { - "type": "array", - "items": { + "virtual": { + "properties": { + "appDeployments": { + "description": "list of apps deployed on the virtual cluster", + "type": "array", + "items": { + "description": "Object resource reference", + "type": "object", + "properties": { + "kind": { + "type": "string" + }, + "name": { + "type": "string" + }, + "projectUid": { + "type": "string" + }, + "tenantUid": { + "type": "string" + }, + "uid": { + "type": "string" + } + } + } + }, + "clusterGroup": { + "description": "Object resource reference", "type": "object", - "required": [ - "uid" - ], "properties": { "kind": { "type": "string" @@ -79432,59 +76609,91 @@ "name": { "type": "string" }, + "projectUid": { + "type": "string" + }, + "tenantUid": { + "type": "string" + }, "uid": { "type": "string" } } - } - }, - "data": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Resource cosumption data point", + }, + "hostCluster": { + "description": "Object resource reference", "type": "object", "properties": { - "allotted": { - "description": "Resource cosumption data", - "type": "object", - "properties": { - "cpu": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "memory": { - "type": "number", - "format": "float64", - "x-omitempty": false - } - } + "kind": { + "type": "string" }, - "timestamp": { - "type": "number", - "format": "int64" + "name": { + "type": "string" }, - "usage": { - "description": "Resource cosumption data", - "type": "object", - "properties": { - "cpu": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "memory": { - "type": "number", - "format": "float64", - "x-omitempty": false - } + "projectUid": { + "type": "string" + }, + "tenantUid": { + "type": "string" + }, + "uid": { + "type": "string" + } + } + }, + "lifecycleStatus": { + "properties": { + "msg": { + "description": "error or success msg of lifecycle", + "type": "string" + }, + "status": { + "description": "lifecycle status", + "type": "string", + "enum": [ + "Pausing", + "Paused", + "Resuming", + "Running", + "Error" + ] + } + } + }, + "state": { + "description": "cluster virtual host status", + "type": "string" + }, + "virtualClusters": { + "description": "list of virtual clusters deployed on the cluster", + "type": "array", + "items": { + "description": "Object resource reference", + "type": "object", + "properties": { + "kind": { + "type": "string" + }, + "name": { + "type": "string" + }, + "projectUid": { + "type": "string" + }, + "tenantUid": { + "type": "string" + }, + "uid": { + "type": "string" } } } } - }, - "entity": { + } + }, + "workspaces": { + "type": "array", + "items": { "type": "object", "required": [ "uid" @@ -79500,82 +76709,6 @@ "type": "string" } } - }, - "total": { - "description": "Resource total cosumption data", - "type": "object", - "properties": { - "allotted": { - "description": "Resource cosumption data", - "type": "object", - "properties": { - "cpu": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "memory": { - "type": "number", - "format": "float64", - "x-omitempty": false - } - } - }, - "usage": { - "description": "Resource cosumption data", - "type": "object", - "properties": { - "cpu": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "memory": { - "type": "number", - "format": "float64", - "x-omitempty": false - } - } - } - } - } - } - } - }, - "total": { - "description": "Resource total cosumption data", - "type": "object", - "properties": { - "allotted": { - "description": "Resource cosumption data", - "type": "object", - "properties": { - "cpu": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "memory": { - "type": "number", - "format": "float64", - "x-omitempty": false - } - } - }, - "usage": { - "description": "Resource cosumption data", - "type": "object", - "properties": { - "cpu": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "memory": { - "type": "number", - "format": "float64", - "x-omitempty": false - } } } } @@ -79584,10 +76717,18 @@ } } } - } + }, + "parameters": [ + { + "type": "string", + "name": "uid", + "in": "path", + "required": true + } + ] }, - "/v1/dashboard/spectroclusters/resources/cost": { - "post": { + "/v1/dashboard/spectroclusters/{uid}/cost": { + "get": { "security": [ { "ApiKey": [] @@ -79599,100 +76740,30 @@ "tags": [ "v1" ], - "summary": "Retrieves spectro clusters resources cost summary information", - "operationId": "v1SpectroClustersResourcesCostSummary", + "summary": "Retrieves the specified cluster cost summary", + "operationId": "v1SpectroClustersUidCostSummary", "parameters": [ { - "name": "body", - "in": "body", - "schema": { - "description": "Resource cost summary spec", - "type": "object", - "properties": { - "filter": { - "description": "Resource cost summary filter", - "type": "object", - "properties": { - "clouds": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - }, - "clusters": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - }, - "endTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "includeMasterMachines": { - "type": "boolean" - }, - "namespaces": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - }, - "projects": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - }, - "startTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "workspaces": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - } - } - }, - "options": { - "description": "Resource cost summary options", - "type": "object", - "properties": { - "enableSummaryView": { - "type": "boolean", - "default": true - }, - "groupBy": { - "type": "string", - "default": "cluster", - "enum": [ - "tenant", - "project", - "workspace", - "cluster", - "namespace", - "deployment", - "cloud" - ] - }, - "period": { - "type": "integer", - "format": "int32", - "default": 60 - } - } - } - } - } + "type": "string", + "format": "date-time", + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "name": "startTime", + "in": "query" + }, + { + "type": "string", + "format": "date-time", + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "name": "endTime", + "in": "query" + }, + { + "minimum": 60, + "type": "integer", + "format": "int32", + "description": "period in minutes, group the data point by the specified period", + "name": "period", + "in": "query" }, { "type": "string", @@ -79703,50 +76774,89 @@ ], "responses": { "200": { - "description": "An array of resources cost summary items", + "description": "An spectro cluster cost summary", "schema": { - "description": "Resources cost summary information", "type": "object", "properties": { - "resources": { - "type": "array", - "items": { - "description": "Resource cost summary information", - "type": "object", - "properties": { - "associatedResources": { - "type": "array", - "items": { + "cluster": { + "description": "Spectro cluster cost information", + "type": "object", + "properties": { + "cloud": { + "description": "Spectro cluster cloud cost information", + "type": "object", + "properties": { + "cost": { + "description": "Resource Cost information", "type": "object", - "required": [ - "uid" - ], "properties": { - "kind": { - "type": "string" - }, - "name": { - "type": "string" + "cloud": { + "description": "Cloud cost information", + "type": "object", + "properties": { + "compute": { + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "storage": { + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "total": { + "type": "number", + "format": "float64", + "x-omitempty": false + } + } }, - "uid": { - "type": "string" + "total": { + "type": "number", + "format": "float64", + "x-omitempty": false + } + } + }, + "data": { + "type": "array", + "items": { + "description": "Cloud cost data point information", + "type": "object", + "properties": { + "compute": { + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "storage": { + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "timestamp": { + "type": "number", + "format": "int64" + }, + "total": { + "type": "number", + "format": "float64", + "x-omitempty": false + } } } } - }, - "data": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Resource cost data point", + } + }, + "cost": { + "description": "Resource Cost information", + "type": "object", + "properties": { + "cloud": { + "description": "Cloud cost information", "type": "object", "properties": { - "cpu": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "memory": { + "compute": { "type": "number", "format": "float64", "x-omitempty": false @@ -79756,98 +76866,58 @@ "format": "float64", "x-omitempty": false }, - "timestamp": { - "type": "number", - "format": "int64" - }, "total": { "type": "number", "format": "float64", "x-omitempty": false } } - } - }, - "entity": { - "type": "object", - "required": [ - "uid" - ], - "properties": { - "kind": { - "type": "string" - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - }, - "total": { - "description": "Resource total cost information", - "type": "object", - "properties": { - "cpu": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "memory": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "storage": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "total": { - "type": "number", - "format": "float64", - "x-omitempty": false - } + }, + "total": { + "type": "number", + "format": "float64", + "x-omitempty": false } } - } - } - }, - "total": { - "description": "Resource total cost information", - "type": "object", - "properties": { - "cpu": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "memory": { - "type": "number", - "format": "float64", - "x-omitempty": false }, - "storage": { - "type": "number", - "format": "float64", - "x-omitempty": false + "name": { + "type": "string" }, - "total": { - "type": "number", - "format": "float64", - "x-omitempty": false + "uid": { + "type": "string" } } + }, + "endTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "period": { + "type": "integer", + "format": "int32" + }, + "startTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" } } } } } - } + }, + "parameters": [ + { + "type": "string", + "name": "uid", + "in": "path", + "required": true + } + ] }, - "/v1/dashboard/spectroclusters/resources/usage": { - "post": { + "/v1/dashboard/spectroclusters/{uid}/overview": { + "get": { "security": [ { "ApiKey": [] @@ -79859,1871 +76929,1545 @@ "tags": [ "v1" ], - "summary": "Retrieves spectro clusters resources usage summary information", - "operationId": "v1SpectroClustersResourcesUsageSummary", + "summary": "Returns the specified cluster summary overview", + "operationId": "v1SpectroClustersSummaryUidOverview", "parameters": [ { - "name": "body", - "in": "body", + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "200": { + "description": "An spectro cluster summary overview", "schema": { - "description": "Resource usage summary spec", + "description": "Spectro cluster summary", "type": "object", "properties": { - "filter": { - "description": "Resource usage summary filter", + "metadata": { + "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", "type": "object", "properties": { - "clouds": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - }, - "clusters": { - "type": "array", - "uniqueItems": true, - "items": { + "annotations": { + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", + "type": "object", + "additionalProperties": { "type": "string" } }, - "endTime": { + "creationTimestamp": { "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", "type": "string", "format": "date-time" }, - "includeMasterMachines": { - "type": "boolean" - }, - "namespaces": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - }, - "pods": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } + "deletionTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" }, - "projects": { - "type": "array", - "uniqueItems": true, - "items": { + "labels": { + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", + "type": "object", + "additionalProperties": { "type": "string" } }, - "startTime": { + "lastModifiedTimestamp": { "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", "type": "string", "format": "date-time" }, - "workload": { - "description": "Workload resource filter", - "type": "object", - "properties": { - "names": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - }, - "type": { - "type": "string", - "default": "all", - "enum": [ - "deployment", - "statefulset", - "daemonset", - "all" - ] - } - } + "name": { + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" }, - "workspaces": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } + "uid": { + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", + "type": "string" } } }, - "options": { - "description": "Resource usage summary options", + "spec": { + "description": "Spectro cluster spec summary", "type": "object", "properties": { - "enableSummaryView": { - "type": "boolean", - "default": true - }, - "groupBy": { - "type": "string", - "default": "cluster", - "enum": [ - "tenant", - "project", - "workspace", - "cluster", - "namespace", - "deployment", - "statefulset", - "daemonset", - "pod", - "cloud" - ] - }, - "includeMeteringInfo": { - "type": "boolean", - "default": false - }, - "period": { - "type": "integer", - "format": "int32", - "default": 60 - } - } - } - } - } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "An array of resources usage summary items", - "schema": { - "description": "Resources usage summary information", - "type": "object", - "properties": { - "cpuUnit": { - "type": "string" - }, - "memoryUnit": { - "type": "string" - }, - "resources": { - "type": "array", - "items": { - "description": "Resource usage summary information", - "type": "object", - "properties": { - "associatedResources": { - "type": "array", - "items": { - "type": "object", - "required": [ - "uid" - ], - "properties": { - "kind": { - "type": "string" - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - } - }, - "data": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Resource usage data point", - "type": "object", - "properties": { - "baremetal": { - "description": "min and max count for machines \u0026 edgehost for the given period", - "type": "object", - "properties": { - "activeEdgehosts": { - "type": "number", - "format": "int64" - }, - "activeMachines": { - "type": "number", - "format": "int64" - }, - "maxEdgehosts": { - "type": "number", - "format": "int64" - }, - "maxMachines": { - "type": "number", - "format": "int64" - } - } - }, - "cpu": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "edgehost": { - "description": "min and max count for machines \u0026 edgehost for the given period", - "type": "object", - "properties": { - "activeEdgehosts": { - "type": "number", - "format": "int64" - }, - "activeMachines": { - "type": "number", - "format": "int64" - }, - "maxEdgehosts": { - "type": "number", - "format": "int64" - }, - "maxMachines": { - "type": "number", - "format": "int64" - } - } - }, - "memory": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "timestamp": { - "type": "number", - "format": "int64" - } - } - } - }, - "entity": { - "type": "object", - "required": [ - "uid" - ], - "properties": { - "kind": { - "type": "string" - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - } - } - } - } - } - } - } - } - } - }, - "/v1/dashboard/spectroclusters/search": { - "post": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Retrieves a list of cluster summary with provided search filter spec Supported sort fields - [\"environment\", \"clusterName\", \"memoryUsage\", \"healthState\", \"creationTimestamp\", \"lastModifiedTimestamp\"]", - "operationId": "v1SpectroClustersSearchFilterSummary", - "parameters": [ - { - "maximum": 20, - "type": "integer", - "format": "int64", - "description": "limit is a maximum number of responses to return for a list call. Maximum value of the limit is 20.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", - "name": "limit", - "in": "query" - }, - { - "type": "integer", - "format": "int64", - "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", - "name": "offset", - "in": "query" - }, - { - "type": "string", - "description": "continue token to paginate the subsequent data items", - "name": "continue", - "in": "query" - }, - { - "name": "body", - "in": "body", - "schema": { - "description": "Spectro cluster search filter summary spec", - "properties": { - "filter": { - "properties": { - "conjunction": { - "type": "string", - "enum": [ - "and", - "or" - ], - "x-nullable": true - }, - "filterGroups": { + "archTypes": { + "description": "Architecture types of the cluster", "type": "array", - "uniqueItems": true, "items": { - "properties": { - "conjunction": { - "type": "string", - "enum": [ - "and", - "or" - ], - "x-nullable": true - }, - "filters": { - "type": "array", - "uniqueItems": true, - "items": { - "properties": { - "condition": { - "properties": { - "bool": { - "properties": { - "value": { - "type": "boolean" - } - } - }, - "date": { - "properties": { - "match": { - "properties": { - "conjunction": { - "type": "string", - "enum": [ - "and", - "or" - ], - "x-nullable": true - }, - "values": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - } - } - } - }, - "negation": { - "type": "boolean" - }, - "operator": { - "type": "string", - "enum": [ - "eq", - "gt", - "gte", - "lt", - "lte", - "range" - ] - } - } - }, - "float": { + "type": "string", + "default": "amd64", + "enum": [ + "amd64", + "arm64" + ] + } + }, + "cloudConfig": { + "type": "object", + "properties": { + "cloudType": { + "type": "string" + }, + "machinePools": { + "description": "Machine pool meta information", + "type": "array", + "items": { + "type": "object", + "properties": { + "cloudType": { + "type": "string" + }, + "healthy": { + "description": "number of healthy machines", + "type": "integer", + "format": "int32", + "x-omitempty": false + }, + "infraProfileTemplate": { + "description": "Cluster profile template meta information", + "type": "object", + "properties": { + "cloudType": { + "type": "string" + }, + "name": { + "description": "Cluster profile name", + "type": "string" + }, + "packs": { + "description": "Cluster profile packs array", + "type": "array", + "items": { + "description": "PackRef server/name:tag to point to a pack PackRef is used when construct a ClusterProfile PackSpec is used for UI to render the parameters form ClusterProfile will not know inner details of a pack ClusterProfile only contain pack name:tag, and the param values user entered for it", + "type": "object", + "required": [ + "layer", + "name" + ], "properties": { - "match": { - "properties": { - "conjunction": { - "type": "string", - "enum": [ - "and", - "or" - ], - "x-nullable": true - }, - "values": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "number", - "format": "float64" - } - } + "annotations": { + "description": "Annotations is used to allow packref to add more arbitrary information one example is to add git reference for values.yaml", + "type": "object", + "additionalProperties": { + "type": "string" } }, - "negation": { - "type": "boolean" + "digest": { + "description": "digest is used to specify the version should be installed by palette when pack upgrade available, change this digest to trigger upgrade", + "type": "string" }, - "operator": { - "type": "string", - "enum": [ - "eq", - "gt", - "gte", - "lt", - "lte" - ] - } - } - }, - "int": { - "properties": { - "match": { - "properties": { - "conjunction": { - "type": "string", - "enum": [ - "and", - "or" - ], - "x-nullable": true - }, - "values": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "integer" - } - } - } + "inValidReason": { + "type": "string" }, - "negation": { + "isInvalid": { + "description": "pack is invalid when the associated tag is deleted from the registry", "type": "boolean" }, - "operator": { + "layer": { "type": "string", "enum": [ - "eq", - "gt", - "gte", - "lt", - "lte" + "kernel", + "os", + "k8s", + "cni", + "csi", + "addon" ] - } - } - }, - "keyValue": { - "properties": { - "ignoreCase": { - "type": "boolean" }, - "key": { + "logo": { + "description": "path to the pack logo", "type": "string" }, - "match": { - "properties": { - "conjunction": { - "type": "string", - "enum": [ - "and", - "or" - ], - "x-nullable": true - }, - "values": { - "type": "array", - "uniqueItems": true, - "items": { + "manifests": { + "type": "array", + "items": { + "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", + "type": "object", + "properties": { + "kind": { + "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", "type": "string" - } - } - } - }, - "negation": { - "type": "boolean" - }, - "operator": { - "type": "string", - "enum": [ - "eq", - "contains", - "beginsWith" - ] - } - } - }, - "string": { - "properties": { - "ignoreCase": { - "type": "boolean" - }, - "match": { - "properties": { - "conjunction": { - "type": "string", - "enum": [ - "and", - "or" - ], - "x-nullable": true - }, - "values": { - "type": "array", - "uniqueItems": true, - "items": { + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "uid": { + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } } }, - "negation": { - "type": "boolean" - }, - "operator": { - "type": "string", - "enum": [ - "eq", - "contains", - "beginsWith" - ] - } - } - } - } - }, - "property": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "string", - "int", - "float", - "bool", - "date", - "keyValue" - ] - } - } - } - } - } - } - } - } - }, - "sort": { - "type": "array", - "uniqueItems": true, - "items": { - "properties": { - "field": { - "type": "string", - "enum": [ - "environment", - "clusterName", - "clusterState", - "healthState", - "creationTimestamp", - "lastModifiedTimestamp" - ], - "x-nullable": true - }, - "order": { - "type": "string", - "default": "asc", - "enum": [ - "asc", - "desc" - ] - } - } - } - } - } - } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "An array of cluster summary items", - "schema": { - "type": "object", - "required": [ - "items" - ], - "properties": { - "items": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Spectro cluster summary", - "type": "object", - "properties": { - "metadata": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", - "type": "object", - "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "name": { - "description": "Name of the resource.", - "type": "string" - }, - "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", - "type": "string" - } - } - }, - "specSummary": { - "description": "Spectro cluster spec summary", - "type": "object", - "properties": { - "archTypes": { - "description": "Architecture type of the cluster", - "type": "array", - "items": { - "type": "string", - "default": "amd64", - "enum": [ - "amd64", - "arm64" - ] - } - }, - "cloudAccountMeta": { - "description": "Cloud account meta information", - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - }, - "cloudConfig": { - "type": "object", - "properties": { - "cloudType": { - "type": "string" - }, - "machinePools": { - "description": "Machine pool meta information", - "type": "array", - "items": { - "type": "object", - "properties": { - "cloudType": { - "type": "string" - }, - "healthy": { - "description": "number of healthy machines", - "type": "integer", - "format": "int32", - "x-omitempty": false - }, - "infraProfileTemplate": { - "description": "Cluster profile template meta information", - "type": "object", - "properties": { - "cloudType": { + "name": { + "description": "pack name", "type": "string" }, - "name": { - "description": "Cluster profile name", + "packUid": { + "description": "PackUID is Hubble packUID, not palette Pack.UID It is used by Hubble only.", "type": "string" }, - "packs": { - "description": "Cluster profile packs array", + "params": { + "description": "params passed as env variables to be consumed at installation time", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "presets": { "type": "array", "items": { - "description": "PackRef server/name:tag to point to a pack PackRef is used when construct a ClusterProfile PackSpec is used for UI to render the parameters form ClusterProfile will not know inner details of a pack ClusterProfile only contain pack name:tag, and the param values user entered for it", + "description": "PackPreset defines the preset pack values", "type": "object", - "required": [ - "layer", - "name" - ], "properties": { - "annotations": { - "description": "Annotations is used to allow packref to add more arbitrary information one example is to add git reference for values.yaml", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "digest": { - "description": "digest is used to specify the version should be installed by palette when pack upgrade available, change this digest to trigger upgrade", - "type": "string" - }, - "inValidReason": { - "type": "string" + "add": { + "type": "string", + "x-omitempty": false }, - "isInvalid": { - "description": "pack is invalid when the associated tag is deleted from the registry", - "type": "boolean" + "displayName": { + "type": "string", + "x-omitempty": false }, - "layer": { + "group": { "type": "string", - "enum": [ - "kernel", - "os", - "k8s", - "cni", - "csi", - "addon" - ] + "x-omitempty": false }, - "logo": { - "description": "path to the pack logo", - "type": "string" + "name": { + "type": "string", + "x-omitempty": false }, - "manifests": { + "remove": { "type": "array", "items": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", - "type": "string" - } - } - } - }, - "name": { - "description": "pack name", - "type": "string" - }, - "packUid": { - "description": "PackUID is Hubble packUID, not palette Pack.UID It is used by Hubble only.", - "type": "string" - }, - "params": { - "description": "params passed as env variables to be consumed at installation time", - "type": "object", - "additionalProperties": { "type": "string" - } + }, + "x-omitempty": false + } + } + } + }, + "registryUid": { + "description": "pack registry uid", + "type": "string" + }, + "schema": { + "type": "array", + "items": { + "description": "PackSchema defines the schema definition, hints for the pack values", + "type": "object", + "properties": { + "format": { + "type": "string", + "x-omitempty": false }, - "presets": { + "hints": { "type": "array", "items": { - "description": "PackPreset defines the preset pack values", - "type": "object", - "properties": { - "add": { - "type": "string", - "x-omitempty": false - }, - "displayName": { - "type": "string", - "x-omitempty": false - }, - "group": { - "type": "string", - "x-omitempty": false - }, - "name": { - "type": "string", - "x-omitempty": false - }, - "remove": { - "type": "array", - "items": { - "type": "string" - }, - "x-omitempty": false - } - } - } - }, - "registryUid": { - "description": "pack registry uid", - "type": "string" + "type": "string" + }, + "x-omitempty": false }, - "schema": { + "listOptions": { "type": "array", "items": { - "description": "PackSchema defines the schema definition, hints for the pack values", - "type": "object", - "properties": { - "format": { - "type": "string", - "x-omitempty": false - }, - "hints": { - "type": "array", - "items": { - "type": "string" - }, - "x-omitempty": false - }, - "listOptions": { - "type": "array", - "items": { - "type": "string" - }, - "x-omitempty": false - }, - "name": { - "type": "string", - "x-omitempty": false - }, - "readonly": { - "type": "boolean", - "x-omitempty": false - }, - "regex": { - "type": "string", - "x-omitempty": false - }, - "required": { - "type": "boolean", - "x-omitempty": false - }, - "type": { - "type": "string", - "x-omitempty": false - } - } - } + "type": "string" + }, + "x-omitempty": false }, - "server": { - "description": "pack registry server or helm repo", - "type": "string" + "name": { + "type": "string", + "x-omitempty": false }, - "tag": { - "description": "pack tag", - "type": "string" + "readonly": { + "type": "boolean", + "x-omitempty": false }, - "type": { - "description": "type of the pack", + "regex": { "type": "string", - "enum": [ - "spectro", - "helm", - "manifest" - ] + "x-omitempty": false }, - "values": { - "description": "values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", - "type": "string" + "required": { + "type": "boolean", + "x-omitempty": false }, - "version": { - "description": "pack version", - "type": "string" + "type": { + "type": "string", + "x-omitempty": false } } } }, - "scope": { - "description": "scope or context(system, tenant or project)", + "server": { + "description": "pack registry server or helm repo", "type": "string" }, - "type": { - "description": "Cluster profile type [ \"cluster\", \"infra\", \"add-on\", \"system\" ]", + "tag": { + "description": "pack tag", "type": "string" }, - "uid": { - "description": "Cluster profile uid", + "type": { + "description": "type of the pack", + "type": "string", + "enum": [ + "spectro", + "helm", + "manifest" + ] + }, + "values": { + "description": "values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", "type": "string" }, "version": { - "type": "integer", - "format": "int32" + "description": "pack version", + "type": "string" } } - }, - "isControlPlane": { - "description": "whether this pool is for control plane", - "type": "boolean", - "x-omitempty": false - }, - "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", - "type": "array", - "items": { - "type": "string" - } - }, - "maintenanceMode": { - "description": "number of machines under maintenance", - "type": "integer", - "format": "int32", - "x-omitempty": false - }, - "size": { - "description": "size of the pool, number of machines", - "type": "integer", - "format": "int32", - "x-omitempty": false - } - } - } - }, - "uid": { - "description": "Cluster's cloud config uid", - "type": "string" - } - } - }, - "clusterConfig": { - "type": "object", - "properties": { - "hostClusterConfig": { - "properties": { - "clusterGroup": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", - "type": "string" - } } + }, + "scope": { + "description": "scope or context(system, tenant or project)", + "type": "string" + }, + "type": { + "description": "Cluster profile type [ \"cluster\", \"infra\", \"add-on\", \"system\" ]", + "type": "string" + }, + "uid": { + "description": "Cluster profile uid", + "type": "string" + }, + "version": { + "type": "integer", + "format": "int32" } } - } - } - }, - "clusterProfileTemplate": { - "description": "Cluster profile template meta information", - "type": "object", - "properties": { - "cloudType": { - "type": "string" }, - "name": { - "description": "Cluster profile name", - "type": "string" + "isControlPlane": { + "description": "whether this pool is for control plane", + "type": "boolean", + "x-omitempty": false }, - "packs": { - "description": "Cluster profile packs array", + "labels": { + "description": "labels for this pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { - "description": "PackRef server/name:tag to point to a pack PackRef is used when construct a ClusterProfile PackSpec is used for UI to render the parameters form ClusterProfile will not know inner details of a pack ClusterProfile only contain pack name:tag, and the param values user entered for it", - "type": "object", - "required": [ - "layer", - "name" - ], - "properties": { - "annotations": { - "description": "Annotations is used to allow packref to add more arbitrary information one example is to add git reference for values.yaml", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "digest": { - "description": "digest is used to specify the version should be installed by palette when pack upgrade available, change this digest to trigger upgrade", - "type": "string" - }, - "inValidReason": { + "type": "string" + } + }, + "maintenanceMode": { + "description": "number of machines under maintenance", + "type": "integer", + "format": "int32", + "x-omitempty": false + }, + "size": { + "description": "size of the pool, number of machines", + "type": "integer", + "format": "int32", + "x-omitempty": false + } + } + } + }, + "uid": { + "description": "Cluster's cloud config uid", + "type": "string" + } + } + }, + "cloudaccount": { + "description": "Cloud account meta information", + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + } + }, + "clusterProfileTemplate": { + "description": "Cluster profile template meta information", + "type": "object", + "properties": { + "cloudType": { + "type": "string" + }, + "name": { + "description": "Cluster profile name", + "type": "string" + }, + "packs": { + "description": "Cluster profile packs array", + "type": "array", + "items": { + "description": "PackRef server/name:tag to point to a pack PackRef is used when construct a ClusterProfile PackSpec is used for UI to render the parameters form ClusterProfile will not know inner details of a pack ClusterProfile only contain pack name:tag, and the param values user entered for it", + "type": "object", + "required": [ + "layer", + "name" + ], + "properties": { + "annotations": { + "description": "Annotations is used to allow packref to add more arbitrary information one example is to add git reference for values.yaml", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "digest": { + "description": "digest is used to specify the version should be installed by palette when pack upgrade available, change this digest to trigger upgrade", + "type": "string" + }, + "inValidReason": { + "type": "string" + }, + "isInvalid": { + "description": "pack is invalid when the associated tag is deleted from the registry", + "type": "boolean" + }, + "layer": { + "type": "string", + "enum": [ + "kernel", + "os", + "k8s", + "cni", + "csi", + "addon" + ] + }, + "logo": { + "description": "path to the pack logo", + "type": "string" + }, + "manifests": { + "type": "array", + "items": { + "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", + "type": "object", + "properties": { + "kind": { + "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", "type": "string" }, - "isInvalid": { - "description": "pack is invalid when the associated tag is deleted from the registry", - "type": "boolean" + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" }, - "layer": { + "uid": { + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", + "type": "string" + } + } + } + }, + "name": { + "description": "pack name", + "type": "string" + }, + "packUid": { + "description": "PackUID is Hubble packUID, not palette Pack.UID It is used by Hubble only.", + "type": "string" + }, + "params": { + "description": "params passed as env variables to be consumed at installation time", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "presets": { + "type": "array", + "items": { + "description": "PackPreset defines the preset pack values", + "type": "object", + "properties": { + "add": { "type": "string", - "enum": [ - "kernel", - "os", - "k8s", - "cni", - "csi", - "addon" - ] + "x-omitempty": false }, - "logo": { - "description": "path to the pack logo", - "type": "string" + "displayName": { + "type": "string", + "x-omitempty": false }, - "manifests": { - "type": "array", - "items": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", - "type": "string" - } - } - } + "group": { + "type": "string", + "x-omitempty": false }, "name": { - "description": "pack name", - "type": "string" - }, - "packUid": { - "description": "PackUID is Hubble packUID, not palette Pack.UID It is used by Hubble only.", - "type": "string" + "type": "string", + "x-omitempty": false }, - "params": { - "description": "params passed as env variables to be consumed at installation time", - "type": "object", - "additionalProperties": { + "remove": { + "type": "array", + "items": { "type": "string" - } + }, + "x-omitempty": false + } + } + } + }, + "registryUid": { + "description": "pack registry uid", + "type": "string" + }, + "schema": { + "type": "array", + "items": { + "description": "PackSchema defines the schema definition, hints for the pack values", + "type": "object", + "properties": { + "format": { + "type": "string", + "x-omitempty": false }, - "presets": { + "hints": { "type": "array", "items": { - "description": "PackPreset defines the preset pack values", - "type": "object", - "properties": { - "add": { - "type": "string", - "x-omitempty": false - }, - "displayName": { - "type": "string", - "x-omitempty": false - }, - "group": { - "type": "string", - "x-omitempty": false - }, - "name": { - "type": "string", - "x-omitempty": false - }, - "remove": { - "type": "array", - "items": { - "type": "string" - }, - "x-omitempty": false - } - } - } - }, - "registryUid": { - "description": "pack registry uid", - "type": "string" + "type": "string" + }, + "x-omitempty": false }, - "schema": { + "listOptions": { "type": "array", "items": { - "description": "PackSchema defines the schema definition, hints for the pack values", - "type": "object", - "properties": { - "format": { - "type": "string", - "x-omitempty": false - }, - "hints": { - "type": "array", - "items": { - "type": "string" - }, - "x-omitempty": false - }, - "listOptions": { - "type": "array", - "items": { - "type": "string" - }, - "x-omitempty": false - }, - "name": { - "type": "string", - "x-omitempty": false - }, - "readonly": { - "type": "boolean", - "x-omitempty": false - }, - "regex": { - "type": "string", - "x-omitempty": false - }, - "required": { - "type": "boolean", - "x-omitempty": false - }, - "type": { - "type": "string", - "x-omitempty": false - } - } - } + "type": "string" + }, + "x-omitempty": false }, - "server": { - "description": "pack registry server or helm repo", - "type": "string" + "name": { + "type": "string", + "x-omitempty": false }, - "tag": { - "description": "pack tag", - "type": "string" + "readonly": { + "type": "boolean", + "x-omitempty": false }, - "type": { - "description": "type of the pack", + "regex": { "type": "string", - "enum": [ - "spectro", - "helm", - "manifest" - ] + "x-omitempty": false }, - "values": { - "description": "values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", - "type": "string" + "required": { + "type": "boolean", + "x-omitempty": false }, - "version": { - "description": "pack version", - "type": "string" + "type": { + "type": "string", + "x-omitempty": false } } } }, - "scope": { - "description": "scope or context(system, tenant or project)", + "server": { + "description": "pack registry server or helm repo", "type": "string" }, - "type": { - "description": "Cluster profile type [ \"cluster\", \"infra\", \"add-on\", \"system\" ]", + "tag": { + "description": "pack tag", "type": "string" }, - "uid": { - "description": "Cluster profile uid", + "type": { + "description": "type of the pack", + "type": "string", + "enum": [ + "spectro", + "helm", + "manifest" + ] + }, + "values": { + "description": "values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", "type": "string" }, "version": { - "type": "integer", - "format": "int32" + "description": "pack version", + "type": "string" } } + } + }, + "scope": { + "description": "scope or context(system, tenant or project)", + "type": "string" + }, + "type": { + "description": "Cluster profile type [ \"cluster\", \"infra\", \"add-on\", \"system\" ]", + "type": "string" + }, + "uid": { + "description": "Cluster profile uid", + "type": "string" + }, + "version": { + "type": "integer", + "format": "int32" + } + } + }, + "clusterProfileTemplates": { + "type": "array", + "items": { + "description": "Cluster profile template meta information", + "type": "object", + "properties": { + "cloudType": { + "type": "string" }, - "clusterProfileTemplates": { + "name": { + "description": "Cluster profile name", + "type": "string" + }, + "packs": { + "description": "Cluster profile packs array", "type": "array", "items": { - "description": "Cluster profile template meta information", + "description": "PackRef server/name:tag to point to a pack PackRef is used when construct a ClusterProfile PackSpec is used for UI to render the parameters form ClusterProfile will not know inner details of a pack ClusterProfile only contain pack name:tag, and the param values user entered for it", "type": "object", + "required": [ + "layer", + "name" + ], "properties": { - "cloudType": { + "annotations": { + "description": "Annotations is used to allow packref to add more arbitrary information one example is to add git reference for values.yaml", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "digest": { + "description": "digest is used to specify the version should be installed by palette when pack upgrade available, change this digest to trigger upgrade", "type": "string" }, - "name": { - "description": "Cluster profile name", + "inValidReason": { "type": "string" }, - "packs": { - "description": "Cluster profile packs array", + "isInvalid": { + "description": "pack is invalid when the associated tag is deleted from the registry", + "type": "boolean" + }, + "layer": { + "type": "string", + "enum": [ + "kernel", + "os", + "k8s", + "cni", + "csi", + "addon" + ] + }, + "logo": { + "description": "path to the pack logo", + "type": "string" + }, + "manifests": { "type": "array", "items": { - "description": "PackRef server/name:tag to point to a pack PackRef is used when construct a ClusterProfile PackSpec is used for UI to render the parameters form ClusterProfile will not know inner details of a pack ClusterProfile only contain pack name:tag, and the param values user entered for it", + "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", "type": "object", - "required": [ - "layer", - "name" - ], "properties": { - "annotations": { - "description": "Annotations is used to allow packref to add more arbitrary information one example is to add git reference for values.yaml", - "type": "object", - "additionalProperties": { - "type": "string" - } + "kind": { + "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" }, - "digest": { - "description": "digest is used to specify the version should be installed by palette when pack upgrade available, change this digest to trigger upgrade", + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, - "inValidReason": { + "uid": { + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" + } + } + } + }, + "name": { + "description": "pack name", + "type": "string" + }, + "packUid": { + "description": "PackUID is Hubble packUID, not palette Pack.UID It is used by Hubble only.", + "type": "string" + }, + "params": { + "description": "params passed as env variables to be consumed at installation time", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "presets": { + "type": "array", + "items": { + "description": "PackPreset defines the preset pack values", + "type": "object", + "properties": { + "add": { + "type": "string", + "x-omitempty": false }, - "isInvalid": { - "description": "pack is invalid when the associated tag is deleted from the registry", - "type": "boolean" + "displayName": { + "type": "string", + "x-omitempty": false }, - "layer": { + "group": { "type": "string", - "enum": [ - "kernel", - "os", - "k8s", - "cni", - "csi", - "addon" - ] + "x-omitempty": false }, - "logo": { - "description": "path to the pack logo", - "type": "string" + "name": { + "type": "string", + "x-omitempty": false }, - "manifests": { + "remove": { "type": "array", "items": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", - "type": "string" - } - } - } - }, - "name": { - "description": "pack name", - "type": "string" - }, - "packUid": { - "description": "PackUID is Hubble packUID, not palette Pack.UID It is used by Hubble only.", - "type": "string" - }, - "params": { - "description": "params passed as env variables to be consumed at installation time", - "type": "object", - "additionalProperties": { "type": "string" - } + }, + "x-omitempty": false + } + } + } + }, + "registryUid": { + "description": "pack registry uid", + "type": "string" + }, + "schema": { + "type": "array", + "items": { + "description": "PackSchema defines the schema definition, hints for the pack values", + "type": "object", + "properties": { + "format": { + "type": "string", + "x-omitempty": false }, - "presets": { + "hints": { "type": "array", "items": { - "description": "PackPreset defines the preset pack values", - "type": "object", - "properties": { - "add": { - "type": "string", - "x-omitempty": false - }, - "displayName": { - "type": "string", - "x-omitempty": false - }, - "group": { - "type": "string", - "x-omitempty": false - }, - "name": { - "type": "string", - "x-omitempty": false - }, - "remove": { - "type": "array", - "items": { - "type": "string" - }, - "x-omitempty": false - } - } - } - }, - "registryUid": { - "description": "pack registry uid", - "type": "string" + "type": "string" + }, + "x-omitempty": false }, - "schema": { + "listOptions": { "type": "array", "items": { - "description": "PackSchema defines the schema definition, hints for the pack values", - "type": "object", - "properties": { - "format": { - "type": "string", - "x-omitempty": false - }, - "hints": { - "type": "array", - "items": { - "type": "string" - }, - "x-omitempty": false - }, - "listOptions": { - "type": "array", - "items": { - "type": "string" - }, - "x-omitempty": false - }, - "name": { - "type": "string", - "x-omitempty": false - }, - "readonly": { - "type": "boolean", - "x-omitempty": false - }, - "regex": { - "type": "string", - "x-omitempty": false - }, - "required": { - "type": "boolean", - "x-omitempty": false - }, - "type": { - "type": "string", - "x-omitempty": false - } - } - } + "type": "string" + }, + "x-omitempty": false }, - "server": { - "description": "pack registry server or helm repo", - "type": "string" + "name": { + "type": "string", + "x-omitempty": false }, - "tag": { - "description": "pack tag", - "type": "string" + "readonly": { + "type": "boolean", + "x-omitempty": false }, - "type": { - "description": "type of the pack", + "regex": { "type": "string", - "enum": [ - "spectro", - "helm", - "manifest" - ] + "x-omitempty": false }, - "values": { - "description": "values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", - "type": "string" + "required": { + "type": "boolean", + "x-omitempty": false }, - "version": { - "description": "pack version", - "type": "string" + "type": { + "type": "string", + "x-omitempty": false } } } }, - "scope": { - "description": "scope or context(system, tenant or project)", + "server": { + "description": "pack registry server or helm repo", "type": "string" }, - "type": { - "description": "Cluster profile type [ \"cluster\", \"infra\", \"add-on\", \"system\" ]", + "tag": { + "description": "pack tag", "type": "string" }, - "uid": { - "description": "Cluster profile uid", + "type": { + "description": "type of the pack", + "type": "string", + "enum": [ + "spectro", + "helm", + "manifest" + ] + }, + "values": { + "description": "values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", "type": "string" }, "version": { - "type": "integer", - "format": "int32" + "description": "pack version", + "type": "string" } } } }, - "projectMeta": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } + "scope": { + "description": "scope or context(system, tenant or project)", + "type": "string" + }, + "type": { + "description": "Cluster profile type [ \"cluster\", \"infra\", \"add-on\", \"system\" ]", + "type": "string" + }, + "uid": { + "description": "Cluster profile uid", + "type": "string" + }, + "version": { + "type": "integer", + "format": "int32" } } - }, - "status": { + } + } + } + }, + "status": { + "description": "Spectro cluster status summary", + "properties": { + "abortTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "addOnServices": { + "type": "array", + "items": { "description": "Spectro cluster status summary", "properties": { - "clusterImport": { - "type": "object", - "properties": { - "importLink": { - "description": "import link to download and install ally-lite, palette-lite", - "type": "string" - }, - "isBrownfield": { - "description": "Deprecated. Use the 'spec.clusterType'", - "type": "boolean", - "x-omitempty": false - }, - "state": { - "description": "cluster import status", - "type": "string" - } - } + "endpoint": { + "type": "string" }, - "cost": { - "description": "Resource Cost information", - "type": "object", - "properties": { - "cloud": { - "description": "Cloud cost information", - "type": "object", - "properties": { - "compute": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "storage": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "total": { - "type": "number", - "format": "float64", - "x-omitempty": false - } - } - }, - "total": { - "type": "number", - "format": "float64", - "x-omitempty": false - } - } + "name": { + "type": "string" + } + } + } + }, + "apiEndpoints": { + "type": "array", + "items": { + "description": "APIEndpoint represents a reachable Kubernetes API endpoint.", + "type": "object", + "required": [ + "host", + "port" + ], + "properties": { + "host": { + "description": "The hostname on which the API server is serving.", + "type": "string" }, - "fips": { - "properties": { - "mode": { - "type": "string", - "default": "none", - "enum": [ - "full", - "none", - "partial", - "unknown" - ] - } - } + "port": { + "description": "The port on which the API server is serving.", + "type": "integer", + "format": "int32" + } + } + } + }, + "clusterImport": { + "type": "object", + "properties": { + "importLink": { + "description": "import link to download and install ally-lite, palette-lite", + "type": "string" + }, + "isBrownfield": { + "description": "Deprecated. Use the 'spec.clusterType'", + "type": "boolean", + "x-omitempty": false + }, + "state": { + "description": "cluster import status", + "type": "string" + } + } + }, + "conditions": { + "type": "array", + "items": { + "type": "object", + "required": [ + "type", + "status" + ], + "properties": { + "lastProbeTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" }, - "health": { - "description": "Spectro cluster health status", + "lastTransitionTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "type": "string" + }, + "type": { + "type": "string" + } + } + } + }, + "cost": { + "description": "Resource Cost information", + "type": "object", + "properties": { + "cloud": { + "description": "Cloud cost information", + "type": "object", + "properties": { + "compute": { + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "storage": { + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "total": { + "type": "number", + "format": "float64", + "x-omitempty": false + } + } + }, + "total": { + "type": "number", + "format": "float64", + "x-omitempty": false + } + } + }, + "fips": { + "properties": { + "mode": { + "type": "string", + "default": "none", + "enum": [ + "full", + "none", + "partial", + "unknown" + ] + } + } + }, + "health": { + "description": "Spectro cluster health status", + "properties": { + "agentVersion": { + "type": "string" + }, + "conditions": { + "type": "array", + "uniqueItems": true, + "items": { + "description": "Spectro cluster health condition", "properties": { - "agentVersion": { + "message": { "type": "string" }, - "conditions": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Spectro cluster health condition", - "properties": { - "message": { - "type": "string" - }, - "relatedObject": { - "description": "Object for which the resource is related", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "spectrocluster", - "machine", - "cloudconfig", - "clusterprofile", - "pack", - "appprofile", - "appdeployment", - "edgehost" - ] - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - }, - "type": { - "type": "string" - } - } - } - }, - "lastHeartBeatTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "state": { - "type": "string" - } - } - }, - "hourlyRate": { - "description": "Resource Cost information", - "type": "object", - "properties": { - "cloud": { - "description": "Cloud cost information", + "relatedObject": { + "description": "Object for which the resource is related", "type": "object", "properties": { - "compute": { - "type": "number", - "format": "float64", - "x-omitempty": false + "kind": { + "type": "string", + "enum": [ + "spectrocluster", + "machine", + "cloudconfig", + "clusterprofile", + "pack", + "appprofile", + "appdeployment", + "edgehost" + ] }, - "storage": { - "type": "number", - "format": "float64", - "x-omitempty": false + "name": { + "type": "string" }, - "total": { - "type": "number", - "format": "float64", - "x-omitempty": false + "uid": { + "type": "string" } } }, - "total": { - "type": "number", - "format": "float64", - "x-omitempty": false + "type": { + "type": "string" } } - }, - "location": { - "description": "Cluster location information", + } + }, + "lastHeartBeatTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "state": { + "type": "string" + } + } + }, + "hourlyRate": { + "description": "Resource Cost information", + "type": "object", + "properties": { + "cloud": { + "description": "Cloud cost information", + "type": "object", + "properties": { + "compute": { + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "storage": { + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "total": { + "type": "number", + "format": "float64", + "x-omitempty": false + } + } + }, + "total": { + "type": "number", + "format": "float64", + "x-omitempty": false + } + } + }, + "kubeMeta": { + "description": "Spectro cluster kube meta", + "type": "object", + "properties": { + "hasKubeConfig": { + "type": "boolean", + "x-omitempty": false + }, + "hasKubeConfigClient": { + "type": "boolean", + "x-omitempty": false + }, + "hasManifest": { + "type": "boolean", + "x-omitempty": false + }, + "kubernetesVersion": { + "type": "string" + } + } + }, + "location": { + "description": "Cluster location information", + "type": "object", + "properties": { + "coordinates": { + "type": "array", + "items": { + "type": "number", + "format": "float64" + } + }, + "countryCode": { + "type": "string" + }, + "countryName": { + "type": "string" + }, + "regionCode": { + "type": "string" + }, + "regionName": { + "type": "string" + } + } + }, + "metrics": { + "description": "Spectro cluster metrics", + "properties": { + "cpu": { + "description": "Compute metrics", + "type": "object", + "properties": { + "lastUpdatedTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "limit": { + "type": "number", + "x-omitempty": false + }, + "request": { + "type": "number", + "x-omitempty": false + }, + "total": { + "type": "number", + "x-omitempty": false + }, + "unit": { + "type": "string" + }, + "usage": { + "type": "number", + "x-omitempty": false + } + } + }, + "memory": { + "description": "Compute metrics", + "type": "object", + "properties": { + "lastUpdatedTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "limit": { + "type": "number", + "x-omitempty": false + }, + "request": { + "type": "number", + "x-omitempty": false + }, + "total": { + "type": "number", + "x-omitempty": false + }, + "unit": { + "type": "string" + }, + "usage": { + "type": "number", + "x-omitempty": false + } + } + } + } + }, + "notifications": { + "description": "Cluster notifications status", + "properties": { + "isAvailable": { + "type": "boolean", + "x-omitempty": false + } + } + }, + "packs": { + "type": "array", + "items": { + "type": "object", + "properties": { + "condition": { "type": "object", + "required": [ + "type", + "status" + ], "properties": { - "coordinates": { - "type": "array", - "items": { - "type": "number", - "format": "float64" - } + "lastProbeTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" }, - "countryCode": { - "type": "string" + "lastTransitionTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" }, - "countryName": { + "message": { + "description": "Human-readable message indicating details about last transition.", "type": "string" }, - "regionCode": { + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", "type": "string" }, - "regionName": { + "status": { "type": "string" - } - } - }, - "metrics": { - "description": "Spectro cluster metrics", - "properties": { - "cpu": { - "description": "Compute metrics", - "type": "object", - "properties": { - "lastUpdatedTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "limit": { - "type": "number", - "x-omitempty": false - }, - "request": { - "type": "number", - "x-omitempty": false - }, - "total": { - "type": "number", - "x-omitempty": false - }, - "unit": { - "type": "string" - }, - "usage": { - "type": "number", - "x-omitempty": false - } - } }, - "memory": { - "description": "Compute metrics", - "type": "object", - "properties": { - "lastUpdatedTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "limit": { - "type": "number", - "x-omitempty": false - }, - "request": { - "type": "number", - "x-omitempty": false - }, - "total": { - "type": "number", - "x-omitempty": false - }, - "unit": { - "type": "string" - }, - "usage": { - "type": "number", - "x-omitempty": false - } - } - } - } - }, - "notifications": { - "description": "Spectro cluster notifications", - "properties": { - "isAvailable": { - "type": "boolean", - "x-omitempty": false - } - } - }, - "repave": { - "description": "Cluster repave status", - "properties": { - "state": { - "type": "string", - "default": "Pending", - "enum": [ - "Pending", - "Approved", - "Reverted" - ] + "type": { + "type": "string" } } }, - "state": { - "type": "string" + "endTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" }, - "virtual": { - "properties": { - "appDeployments": { - "description": "list of apps deployed on the virtual cluster", - "type": "array", - "items": { - "description": "Object resource reference", + "manifests": { + "type": "array", + "items": { + "type": "object", + "properties": { + "condition": { "type": "object", + "required": [ + "type", + "status" + ], "properties": { - "kind": { - "type": "string" + "lastProbeTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" }, - "name": { + "lastTransitionTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", "type": "string" }, - "projectUid": { + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", "type": "string" }, - "tenantUid": { + "status": { "type": "string" }, - "uid": { + "type": { "type": "string" } } + }, + "name": { + "type": "string" + }, + "uid": { + "type": "string" } - }, - "clusterGroup": { - "description": "Object resource reference", - "type": "object", - "properties": { - "kind": { - "type": "string" - }, - "name": { - "type": "string" - }, - "projectUid": { - "type": "string" - }, - "tenantUid": { - "type": "string" - }, - "uid": { - "type": "string" + } + } + }, + "name": { + "type": "string" + }, + "profileUid": { + "type": "string" + }, + "services": { + "type": "array", + "items": { + "type": "object", + "properties": { + "host": { + "description": "IP or Host from svc.Status.LoadBalancerStatus.Ingress", + "type": "string" + }, + "name": { + "description": "name of the loadbalancer service", + "type": "string" + }, + "ports": { + "description": "port this service exposed", + "type": "array", + "items": { + "type": "object", + "required": [ + "port" + ], + "properties": { + "port": { + "description": "The port that will be exposed by this service.", + "type": "integer", + "format": "int32" + }, + "protocol": { + "type": "string" + } + } } } - }, - "hostCluster": { - "description": "Object resource reference", - "type": "object", - "properties": { - "kind": { - "type": "string" - }, - "name": { - "type": "string" - }, - "projectUid": { - "type": "string" - }, - "tenantUid": { - "type": "string" - }, - "uid": { - "type": "string" - } + } + } + }, + "startTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "type": { + "type": "string" + }, + "version": { + "type": "string" + } + } + } + }, + "services": { + "type": "array", + "items": { + "type": "object", + "properties": { + "host": { + "description": "IP or Host from svc.Status.LoadBalancerStatus.Ingress", + "type": "string" + }, + "name": { + "description": "name of the loadbalancer service", + "type": "string" + }, + "ports": { + "description": "port this service exposed", + "type": "array", + "items": { + "type": "object", + "required": [ + "port" + ], + "properties": { + "port": { + "description": "The port that will be exposed by this service.", + "type": "integer", + "format": "int32" + }, + "protocol": { + "type": "string" } + } + } + } + } + } + }, + "spcApply": { + "type": "object", + "properties": { + "actionType": { + "type": "string", + "enum": [ + "DownloadAndInstall", + "DownloadAndInstallLater" + ] + }, + "canBeApplied": { + "description": "If it is true then Agent can apply the changes to the palette", + "type": "boolean", + "x-omitempty": false + }, + "crdDigest": { + "type": "string" + }, + "lastModifiedTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "patchAppliedTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "spcHash": { + "type": "string" + }, + "spcInfraHash": { + "type": "string" + } + } + }, + "state": { + "description": "current operational state", + "type": "string" + }, + "upgrades": { + "type": "array", + "items": { + "description": "Upgrades represent the reason of the last upgrade that took place", + "type": "object", + "properties": { + "reason": { + "type": "array", + "items": { + "type": "string" + } + }, + "timestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + } + } + } + }, + "virtual": { + "properties": { + "appDeployments": { + "description": "list of apps deployed on the virtual cluster", + "type": "array", + "items": { + "description": "Object resource reference", + "type": "object", + "properties": { + "kind": { + "type": "string" }, - "lifecycleStatus": { - "properties": { - "msg": { - "description": "error or success msg of lifecycle", - "type": "string" - }, - "status": { - "description": "lifecycle status", - "type": "string", - "enum": [ - "Pausing", - "Paused", - "Resuming", - "Running", - "Error" - ] - } - } + "name": { + "type": "string" }, - "state": { - "description": "cluster virtual host status", + "projectUid": { "type": "string" }, - "virtualClusters": { - "description": "list of virtual clusters deployed on the cluster", - "type": "array", - "items": { - "description": "Object resource reference", - "type": "object", - "properties": { - "kind": { - "type": "string" - }, - "name": { - "type": "string" - }, - "projectUid": { - "type": "string" - }, - "tenantUid": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - } + "tenantUid": { + "type": "string" + }, + "uid": { + "type": "string" + } + } + } + }, + "clusterGroup": { + "description": "Object resource reference", + "type": "object", + "properties": { + "kind": { + "type": "string" + }, + "name": { + "type": "string" + }, + "projectUid": { + "type": "string" + }, + "tenantUid": { + "type": "string" + }, + "uid": { + "type": "string" + } + } + }, + "hostCluster": { + "description": "Object resource reference", + "type": "object", + "properties": { + "kind": { + "type": "string" + }, + "name": { + "type": "string" + }, + "projectUid": { + "type": "string" + }, + "tenantUid": { + "type": "string" + }, + "uid": { + "type": "string" + } + } + }, + "lifecycleStatus": { + "properties": { + "msg": { + "description": "error or success msg of lifecycle", + "type": "string" + }, + "status": { + "description": "lifecycle status", + "type": "string", + "enum": [ + "Pausing", + "Paused", + "Resuming", + "Running", + "Error" + ] + } + } + }, + "state": { + "description": "cluster virtual host status", + "type": "string" + }, + "virtualClusters": { + "description": "list of virtual clusters deployed on the cluster", + "type": "array", + "items": { + "description": "Object resource reference", + "type": "object", + "properties": { + "kind": { + "type": "string" + }, + "name": { + "type": "string" + }, + "projectUid": { + "type": "string" + }, + "tenantUid": { + "type": "string" + }, + "uid": { + "type": "string" } } } } } - } - } - }, - "listmeta": { - "description": "ListMeta describes metadata for the resource listing", - "type": "object", - "properties": { - "continue": { - "description": "Next token for the pagination. Next token is equal to empty string indicates end of result set.", - "type": "string", - "x-omitempty": false - }, - "count": { - "description": "Total count of the resources which might change during pagination based on the resources addition or deletion", - "type": "integer", - "x-omitempty": false - }, - "limit": { - "description": "Number of records feteched", - "type": "integer", - "x-omitempty": false }, - "offset": { - "description": "The next offset for the pagination. Starting index for which next request will be placed.", - "type": "integer", - "x-omitempty": false + "workspaces": { + "type": "array", + "items": { + "type": "object", + "required": [ + "uid" + ], + "properties": { + "kind": { + "type": "string" + }, + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + } + } } } } @@ -81731,65 +78475,17 @@ } } } - } - }, - "/v1/dashboard/spectroclusters/search/export": { - "get": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "produces": [ - "application/octet-stream" - ], - "tags": [ - "v1" - ], - "summary": "Export and download the list of cluster summary with matching search filter and download as a file(csv)", - "operationId": "v1DashboardClustersSearchSummaryExportGet", - "parameters": [ - { - "type": "string", - "name": "encodedFilter", - "in": "query" - }, - { - "enum": [ - "csv" - ], - "type": "string", - "default": "csv", - "name": "format", - "in": "query" - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "file" - }, - "headers": { - "Content-Disposition": { - "type": "string" - }, - "Content-Type": { - "type": "string" - } - } - } - } }, + "parameters": [ + { + "type": "string", + "name": "uid", + "in": "path", + "required": true + } + ] + }, + "/v1/dashboard/spectroclusters/{uid}/resources/consumption": { "post": { "security": [ { @@ -81799,272 +78495,249 @@ "Authorization": [] } ], - "produces": [ - "application/octet-stream" - ], "tags": [ "v1" ], - "summary": "Export the list of cluster summary with matching search filter and download as a file(csv) Supported sort fields - [\"environment\", \"clusterName\", \"healthState\", \"creationTimestamp\", \"lastModifiedTimestamp\"]", - "operationId": "v1DashboardClustersSearchSummaryExport", + "summary": "Retrieves specified spectro cluster resource consumption", + "operationId": "v1SpectroClustersUidResourcesConsumption", "parameters": [ - { - "enum": [ - "csv" - ], - "type": "string", - "default": "csv", - "name": "format", - "in": "query" - }, { "name": "body", "in": "body", "schema": { - "description": "Spectro cluster search filter summary spec", + "description": "Resource consumption spec", + "type": "object", "properties": { "filter": { + "description": "Resource consumption filter", + "type": "object", "properties": { - "conjunction": { + "clouds": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + }, + "clusters": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + }, + "endTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", "type": "string", - "enum": [ - "and", - "or" - ], - "x-nullable": true + "format": "date-time" }, - "filterGroups": { + "includeControlPlaneMachines": { + "type": "boolean" + }, + "includeMasterMachines": { + "description": "Deprecated. Use includeControlPlaneMachines", + "type": "boolean" + }, + "namespaces": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + }, + "projects": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + }, + "startTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "workspaces": { "type": "array", "uniqueItems": true, "items": { + "type": "string" + } + } + } + }, + "options": { + "description": "Resource consumption options", + "type": "object", + "properties": { + "enableSummaryView": { + "type": "boolean", + "default": true + }, + "groupBy": { + "type": "string", + "default": "namespace", + "enum": [ + "tenant", + "project", + "workspace", + "cluster", + "namespace", + "cloud" + ] + }, + "period": { + "type": "integer", + "format": "int32", + "default": 60 + } + } + } + } + } + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "200": { + "description": "An array of resource consumption data items", + "schema": { + "description": "Resources consumption information", + "type": "object", + "properties": { + "cpuUnit": { + "type": "string" + }, + "memoryUnit": { + "type": "string" + }, + "resources": { + "type": "array", + "items": { + "description": "Resource consumption information", + "type": "object", + "properties": { + "associatedResources": { + "type": "array", + "items": { + "type": "object", + "required": [ + "uid" + ], + "properties": { + "kind": { + "type": "string" + }, + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + } + } + }, + "data": { + "type": "array", + "uniqueItems": true, + "items": { + "description": "Resource cosumption data point", + "type": "object", + "properties": { + "allotted": { + "description": "Resource cosumption data", + "type": "object", + "properties": { + "cpu": { + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "memory": { + "type": "number", + "format": "float64", + "x-omitempty": false + } + } + }, + "timestamp": { + "type": "number", + "format": "int64" + }, + "usage": { + "description": "Resource cosumption data", + "type": "object", + "properties": { + "cpu": { + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "memory": { + "type": "number", + "format": "float64", + "x-omitempty": false + } + } + } + } + } + }, + "entity": { + "type": "object", + "required": [ + "uid" + ], "properties": { - "conjunction": { - "type": "string", - "enum": [ - "and", - "or" - ], - "x-nullable": true + "kind": { + "type": "string" }, - "filters": { - "type": "array", - "uniqueItems": true, - "items": { - "properties": { - "condition": { - "properties": { - "bool": { - "properties": { - "value": { - "type": "boolean" - } - } - }, - "date": { - "properties": { - "match": { - "properties": { - "conjunction": { - "type": "string", - "enum": [ - "and", - "or" - ], - "x-nullable": true - }, - "values": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - } - } - } - }, - "negation": { - "type": "boolean" - }, - "operator": { - "type": "string", - "enum": [ - "eq", - "gt", - "gte", - "lt", - "lte", - "range" - ] - } - } - }, - "float": { - "properties": { - "match": { - "properties": { - "conjunction": { - "type": "string", - "enum": [ - "and", - "or" - ], - "x-nullable": true - }, - "values": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "number", - "format": "float64" - } - } - } - }, - "negation": { - "type": "boolean" - }, - "operator": { - "type": "string", - "enum": [ - "eq", - "gt", - "gte", - "lt", - "lte" - ] - } - } - }, - "int": { - "properties": { - "match": { - "properties": { - "conjunction": { - "type": "string", - "enum": [ - "and", - "or" - ], - "x-nullable": true - }, - "values": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "integer" - } - } - } - }, - "negation": { - "type": "boolean" - }, - "operator": { - "type": "string", - "enum": [ - "eq", - "gt", - "gte", - "lt", - "lte" - ] - } - } - }, - "keyValue": { - "properties": { - "ignoreCase": { - "type": "boolean" - }, - "key": { - "type": "string" - }, - "match": { - "properties": { - "conjunction": { - "type": "string", - "enum": [ - "and", - "or" - ], - "x-nullable": true - }, - "values": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - } - } - }, - "negation": { - "type": "boolean" - }, - "operator": { - "type": "string", - "enum": [ - "eq", - "contains", - "beginsWith" - ] - } - } - }, - "string": { - "properties": { - "ignoreCase": { - "type": "boolean" - }, - "match": { - "properties": { - "conjunction": { - "type": "string", - "enum": [ - "and", - "or" - ], - "x-nullable": true - }, - "values": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - } - } - }, - "negation": { - "type": "boolean" - }, - "operator": { - "type": "string", - "enum": [ - "eq", - "contains", - "beginsWith" - ] - } - } - } - } - }, - "property": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "string", - "int", - "float", - "bool", - "date", - "keyValue" - ] - } + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + } + }, + "total": { + "description": "Resource total cosumption data", + "type": "object", + "properties": { + "allotted": { + "description": "Resource cosumption data", + "type": "object", + "properties": { + "cpu": { + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "memory": { + "type": "number", + "format": "float64", + "x-omitempty": false + } + } + }, + "usage": { + "description": "Resource cosumption data", + "type": "object", + "properties": { + "cpu": { + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "memory": { + "type": "number", + "format": "float64", + "x-omitempty": false } } } @@ -82073,214 +78746,39 @@ } } }, - "sort": { - "type": "array", - "uniqueItems": true, - "items": { - "properties": { - "field": { - "type": "string", - "enum": [ - "environment", - "clusterName", - "clusterState", - "healthState", - "creationTimestamp", - "lastModifiedTimestamp" - ], - "x-nullable": true - }, - "order": { - "type": "string", - "default": "asc", - "enum": [ - "asc", - "desc" - ] - } - } - } - } - } - } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "download file", - "schema": { - "type": "string", - "format": "binary" - }, - "headers": { - "Content-Disposition": { - "type": "string" - } - } - } - } - } - }, - "/v1/dashboard/spectroclusters/search/input": { - "get": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Retrieves a supported input values for the cluster search filter", - "operationId": "v1DashboardSpectroClustersSearchInput", - "parameters": [ - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "An array of cluster search filter input items", - "schema": { - "properties": { - "inputs": { + "total": { + "description": "Resource total cosumption data", "type": "object", - "additionalProperties": { - "properties": { - "values": { - "type": "array", - "items": { - "description": "Object identity meta", - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } + "properties": { + "allotted": { + "description": "Resource cosumption data", + "type": "object", + "properties": { + "cpu": { + "type": "number", + "format": "float64", + "x-omitempty": false }, - "x-omitempty": true + "memory": { + "type": "number", + "format": "float64", + "x-omitempty": false + } } - } - } - } - } - } - } - } - } - }, - "/v1/dashboard/spectroclusters/search/schema": { - "get": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Retrieves a schema for the cluster search filter", - "operationId": "v1SpectroClustersSearchSchema", - "parameters": [ - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "An array of cluster filter schema items", - "schema": { - "properties": { - "schema": { - "properties": { - "properties": { - "type": "array", - "items": { - "properties": { - "default": { - "type": "string", - "x-order": 6 - }, - "displayName": { - "type": "string", - "x-order": 2 - }, - "enum": { - "type": "array", - "items": { - "type": "string" - }, - "x-omitempty": true, - "x-order": 4 - }, - "enumValues": { - "type": "array", - "items": { - "properties": { - "displayValue": { - "type": "string" - }, - "value": { - "type": "string" - } - } - }, - "x-omitempty": true, - "x-order": 5 - }, - "hideDisplay": { - "type": "boolean", - "x-order": 1 - }, - "maxFloatVal": { - "type": "number", - "format": "float64", - "x-order": 10 - }, - "maxIntVal": { - "type": "integer", - "format": "int32", - "x-order": 8 - }, - "minFloatVal": { - "type": "number", - "format": "float64", - "x-order": 9 - }, - "minIntVal": { - "type": "integer", - "format": "int32", - "x-order": 7 - }, - "name": { - "type": "string", - "x-order": 0 - }, - "type": { - "type": "string", - "x-order": 3 - } + }, + "usage": { + "description": "Resource cosumption data", + "type": "object", + "properties": { + "cpu": { + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "memory": { + "type": "number", + "format": "float64", + "x-omitempty": false } } } @@ -82290,10 +78788,18 @@ } } } - } + }, + "parameters": [ + { + "type": "string", + "name": "uid", + "in": "path", + "required": true + } + ] }, - "/v1/dashboard/spectroclusters/vms": { - "get": { + "/v1/dashboard/spectroclusters/{uid}/workloads": { + "post": { "security": [ { "ApiKey": [] @@ -82305,87 +78811,32 @@ "tags": [ "v1" ], - "summary": "Retrieves a list of Virtual machine enabled clusters", - "operationId": "V1DashboardVMEnabledClustersList", + "summary": "Retrieves specified cluster workloads", + "operationId": "v1DashboardSpectroClustersUidWorkloads", "parameters": [ { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "An array of schema items", + "name": "body", + "in": "body", "schema": { + "description": "Cluster workloads spec", "type": "object", - "required": [ - "items" - ], "properties": { - "items": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "VM Dashboard enabled Spectro cluster", - "type": "object", - "properties": { - "metadata": { - "properties": { - "name": { - "type": "string" - }, - "projectUid": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - }, - "spec": { - "description": "Spectro cluster spec", - "type": "object", - "properties": { - "cloudType": { - "type": "string" - } - } - }, - "status": { - "description": "Spectro cluster status", - "properties": { - "clusterState": { - "type": "string" - } - } + "filter": { + "description": "Cluster workloads filter", + "type": "object", + "properties": { + "namespaces": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" } } } } } } - } - } - } - }, - "/v1/dashboard/spectroclusters/{uid}": { - "get": { - "security": [ - { - "ApiKey": [] }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Returns the specified cluster summary", - "operationId": "v1SpectroClustersSummaryUid", - "parameters": [ { "type": "string", "description": "Scope the request to the specified project uid", @@ -82395,976 +78846,298 @@ ], "responses": { "200": { - "description": "An spectro cluster summary", + "description": "An array of cluster workloads", "schema": { - "description": "Spectro cluster summary", + "description": "Cluster workload summary", "type": "object", "properties": { "metadata": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", + "description": "ObjectMeta input entity for object creation", "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, "name": { - "description": "Name of the resource.", - "type": "string" - }, - "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } }, "spec": { - "description": "Spectro cluster spec summary", + "description": "Cluster workload spec", "type": "object", "properties": { - "archTypes": { - "description": "Architecture types of the cluster", + "clusterroleBindings": { "type": "array", "items": { - "type": "string", - "default": "amd64", - "enum": [ - "amd64", - "arm64" - ] - } - }, - "cloudConfig": { - "type": "object", - "properties": { - "cloudType": { - "type": "string" - }, - "machinePools": { - "description": "Machine pool meta information", - "type": "array", - "items": { + "description": "Cluster workload rbac binding summary", + "type": "object", + "properties": { + "metadata": { + "description": "Cluster workload metadata", "type": "object", "properties": { - "cloudType": { - "type": "string" - }, - "healthy": { - "description": "number of healthy machines", - "type": "integer", - "format": "int32", - "x-omitempty": false + "creationTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" }, - "infraProfileTemplate": { - "description": "Cluster profile template meta information", + "entity": { + "description": "Cluster workload ref", "type": "object", "properties": { - "cloudType": { + "kind": { "type": "string" }, "name": { - "description": "Cluster profile name", - "type": "string" - }, - "packs": { - "description": "Cluster profile packs array", - "type": "array", - "items": { - "description": "PackRef server/name:tag to point to a pack PackRef is used when construct a ClusterProfile PackSpec is used for UI to render the parameters form ClusterProfile will not know inner details of a pack ClusterProfile only contain pack name:tag, and the param values user entered for it", - "type": "object", - "required": [ - "layer", - "name" - ], - "properties": { - "annotations": { - "description": "Annotations is used to allow packref to add more arbitrary information one example is to add git reference for values.yaml", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "digest": { - "description": "digest is used to specify the version should be installed by palette when pack upgrade available, change this digest to trigger upgrade", - "type": "string" - }, - "inValidReason": { - "type": "string" - }, - "isInvalid": { - "description": "pack is invalid when the associated tag is deleted from the registry", - "type": "boolean" - }, - "layer": { - "type": "string", - "enum": [ - "kernel", - "os", - "k8s", - "cni", - "csi", - "addon" - ] - }, - "logo": { - "description": "path to the pack logo", - "type": "string" - }, - "manifests": { - "type": "array", - "items": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", - "type": "string" - } - } - } - }, - "name": { - "description": "pack name", - "type": "string" - }, - "packUid": { - "description": "PackUID is Hubble packUID, not palette Pack.UID It is used by Hubble only.", - "type": "string" - }, - "params": { - "description": "params passed as env variables to be consumed at installation time", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "presets": { - "type": "array", - "items": { - "description": "PackPreset defines the preset pack values", - "type": "object", - "properties": { - "add": { - "type": "string", - "x-omitempty": false - }, - "displayName": { - "type": "string", - "x-omitempty": false - }, - "group": { - "type": "string", - "x-omitempty": false - }, - "name": { - "type": "string", - "x-omitempty": false - }, - "remove": { - "type": "array", - "items": { - "type": "string" - }, - "x-omitempty": false - } - } - } - }, - "registryUid": { - "description": "pack registry uid", - "type": "string" - }, - "schema": { - "type": "array", - "items": { - "description": "PackSchema defines the schema definition, hints for the pack values", - "type": "object", - "properties": { - "format": { - "type": "string", - "x-omitempty": false - }, - "hints": { - "type": "array", - "items": { - "type": "string" - }, - "x-omitempty": false - }, - "listOptions": { - "type": "array", - "items": { - "type": "string" - }, - "x-omitempty": false - }, - "name": { - "type": "string", - "x-omitempty": false - }, - "readonly": { - "type": "boolean", - "x-omitempty": false - }, - "regex": { - "type": "string", - "x-omitempty": false - }, - "required": { - "type": "boolean", - "x-omitempty": false - }, - "type": { - "type": "string", - "x-omitempty": false - } - } - } - }, - "server": { - "description": "pack registry server or helm repo", - "type": "string" - }, - "tag": { - "description": "pack tag", - "type": "string" - }, - "type": { - "description": "type of the pack", - "type": "string", - "enum": [ - "spectro", - "helm", - "manifest" - ] - }, - "values": { - "description": "values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", - "type": "string" - }, - "version": { - "description": "pack version", - "type": "string" - } - } - } - }, - "scope": { - "description": "scope or context(system, tenant or project)", - "type": "string" - }, - "type": { - "description": "Cluster profile type [ \"cluster\", \"infra\", \"add-on\", \"system\" ]", "type": "string" }, "uid": { - "description": "Cluster profile uid", "type": "string" - }, - "version": { - "type": "integer", - "format": "int32" } } }, - "isControlPlane": { - "description": "whether this pool is for control plane", - "type": "boolean", - "x-omitempty": false - }, "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", - "type": "array", - "items": { + "type": "object", + "additionalProperties": { "type": "string" } }, - "maintenanceMode": { - "description": "number of machines under maintenance", - "type": "integer", - "format": "int32", - "x-omitempty": false - }, - "size": { - "description": "size of the pool, number of machines", - "type": "integer", - "format": "int32", - "x-omitempty": false + "namespace": { + "type": "string" } } - } - }, - "uid": { - "description": "Cluster's cloud config uid", - "type": "string" - } - } - }, - "cloudaccount": { - "description": "Cloud account meta information", - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - }, - "clusterProfileTemplate": { - "description": "Cluster profile template meta information", - "type": "object", - "properties": { - "cloudType": { - "type": "string" - }, - "name": { - "description": "Cluster profile name", - "type": "string" - }, - "packs": { - "description": "Cluster profile packs array", - "type": "array", - "items": { - "description": "PackRef server/name:tag to point to a pack PackRef is used when construct a ClusterProfile PackSpec is used for UI to render the parameters form ClusterProfile will not know inner details of a pack ClusterProfile only contain pack name:tag, and the param values user entered for it", + }, + "spec": { + "description": "Cluster RBAC binding", "type": "object", - "required": [ - "layer", - "name" - ], "properties": { - "annotations": { - "description": "Annotations is used to allow packref to add more arbitrary information one example is to add git reference for values.yaml", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "digest": { - "description": "digest is used to specify the version should be installed by palette when pack upgrade available, change this digest to trigger upgrade", - "type": "string" - }, - "inValidReason": { + "namespace": { "type": "string" }, - "isInvalid": { - "description": "pack is invalid when the associated tag is deleted from the registry", - "type": "boolean" - }, - "layer": { - "type": "string", - "enum": [ - "kernel", - "os", - "k8s", - "cni", - "csi", - "addon" - ] - }, - "logo": { - "description": "path to the pack logo", - "type": "string" + "role": { + "description": "Cluster role ref", + "type": "object", + "properties": { + "kind": { + "type": "string", + "enum": [ + "Role", + "ClusterRole" + ] + }, + "name": { + "type": "string" + } + } }, - "manifests": { + "subjects": { "type": "array", + "uniqueItems": true, "items": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", + "description": "Cluster role ref", "type": "object", "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, "name": { - "description": "Name of the referent.", "type": "string" }, - "uid": { - "description": "UID of the referent.", + "namespace": { "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "User", + "Group", + "ServiceAccount" + ] } } } }, - "name": { - "description": "pack name", - "type": "string" - }, - "packUid": { - "description": "PackUID is Hubble packUID, not palette Pack.UID It is used by Hubble only.", - "type": "string" + "type": { + "type": "string", + "enum": [ + "RoleBinding", + "ClusterRoleBinding" + ] + } + } + } + } + } + }, + "cronJobs": { + "type": "array", + "items": { + "description": "Cluster workload cronjob summary", + "type": "object", + "properties": { + "metadata": { + "description": "Cluster workload metadata", + "type": "object", + "properties": { + "creationTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" }, - "params": { - "description": "params passed as env variables to be consumed at installation time", + "entity": { + "description": "Cluster workload ref", "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "presets": { - "type": "array", - "items": { - "description": "PackPreset defines the preset pack values", - "type": "object", - "properties": { - "add": { - "type": "string", - "x-omitempty": false - }, - "displayName": { - "type": "string", - "x-omitempty": false - }, - "group": { - "type": "string", - "x-omitempty": false - }, - "name": { - "type": "string", - "x-omitempty": false - }, - "remove": { - "type": "array", - "items": { - "type": "string" - }, - "x-omitempty": false - } + "properties": { + "kind": { + "type": "string" + }, + "name": { + "type": "string" + }, + "uid": { + "type": "string" } } }, - "registryUid": { - "description": "pack registry uid", - "type": "string" - }, - "schema": { - "type": "array", - "items": { - "description": "PackSchema defines the schema definition, hints for the pack values", - "type": "object", - "properties": { - "format": { - "type": "string", - "x-omitempty": false - }, - "hints": { - "type": "array", - "items": { - "type": "string" - }, - "x-omitempty": false - }, - "listOptions": { - "type": "array", - "items": { - "type": "string" - }, - "x-omitempty": false - }, - "name": { - "type": "string", - "x-omitempty": false - }, - "readonly": { - "type": "boolean", - "x-omitempty": false - }, - "regex": { - "type": "string", - "x-omitempty": false - }, - "required": { - "type": "boolean", - "x-omitempty": false - }, - "type": { - "type": "string", - "x-omitempty": false - } - } + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" } }, - "server": { - "description": "pack registry server or helm repo", + "namespace": { "type": "string" - }, - "tag": { - "description": "pack tag", + } + } + }, + "spec": { + "description": "Cluster workload cronjob spec", + "type": "object", + "properties": { + "schedule": { "type": "string" - }, - "type": { - "description": "type of the pack", + } + } + }, + "status": { + "description": "Cluster workload cronjob status", + "type": "object", + "properties": { + "lastScheduleTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", "type": "string", - "enum": [ - "spectro", - "helm", - "manifest" - ] - }, - "values": { - "description": "values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", - "type": "string" - }, - "version": { - "description": "pack version", - "type": "string" + "format": "date-time" } } } - }, - "scope": { - "description": "scope or context(system, tenant or project)", - "type": "string" - }, - "type": { - "description": "Cluster profile type [ \"cluster\", \"infra\", \"add-on\", \"system\" ]", - "type": "string" - }, - "uid": { - "description": "Cluster profile uid", - "type": "string" - }, - "version": { - "type": "integer", - "format": "int32" } } }, - "clusterProfileTemplates": { + "daemonSets": { "type": "array", "items": { - "description": "Cluster profile template meta information", + "description": "Cluster workload daemonset summary", "type": "object", "properties": { - "cloudType": { - "type": "string" - }, - "name": { - "description": "Cluster profile name", - "type": "string" - }, - "packs": { - "description": "Cluster profile packs array", - "type": "array", - "items": { - "description": "PackRef server/name:tag to point to a pack PackRef is used when construct a ClusterProfile PackSpec is used for UI to render the parameters form ClusterProfile will not know inner details of a pack ClusterProfile only contain pack name:tag, and the param values user entered for it", - "type": "object", - "required": [ - "layer", - "name" - ], - "properties": { - "annotations": { - "description": "Annotations is used to allow packref to add more arbitrary information one example is to add git reference for values.yaml", - "type": "object", - "additionalProperties": { + "metadata": { + "description": "Cluster workload metadata", + "type": "object", + "properties": { + "creationTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "entity": { + "description": "Cluster workload ref", + "type": "object", + "properties": { + "kind": { "type": "string" - } - }, - "digest": { - "description": "digest is used to specify the version should be installed by palette when pack upgrade available, change this digest to trigger upgrade", - "type": "string" - }, - "inValidReason": { - "type": "string" - }, - "isInvalid": { - "description": "pack is invalid when the associated tag is deleted from the registry", - "type": "boolean" - }, - "layer": { - "type": "string", - "enum": [ - "kernel", - "os", - "k8s", - "cni", - "csi", - "addon" - ] - }, - "logo": { - "description": "path to the pack logo", - "type": "string" - }, - "manifests": { - "type": "array", - "items": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", - "type": "string" - } - } - } - }, - "name": { - "description": "pack name", - "type": "string" - }, - "packUid": { - "description": "PackUID is Hubble packUID, not palette Pack.UID It is used by Hubble only.", - "type": "string" - }, - "params": { - "description": "params passed as env variables to be consumed at installation time", - "type": "object", - "additionalProperties": { + }, + "name": { + "type": "string" + }, + "uid": { "type": "string" } - }, - "presets": { - "type": "array", - "items": { - "description": "PackPreset defines the preset pack values", - "type": "object", - "properties": { - "add": { - "type": "string", - "x-omitempty": false - }, - "displayName": { - "type": "string", - "x-omitempty": false - }, - "group": { - "type": "string", - "x-omitempty": false - }, - "name": { - "type": "string", - "x-omitempty": false - }, - "remove": { - "type": "array", - "items": { - "type": "string" - }, - "x-omitempty": false - } - } - } - }, - "registryUid": { - "description": "pack registry uid", - "type": "string" - }, - "schema": { - "type": "array", - "items": { - "description": "PackSchema defines the schema definition, hints for the pack values", - "type": "object", - "properties": { - "format": { - "type": "string", - "x-omitempty": false - }, - "hints": { - "type": "array", - "items": { - "type": "string" - }, - "x-omitempty": false - }, - "listOptions": { - "type": "array", - "items": { - "type": "string" - }, - "x-omitempty": false - }, - "name": { - "type": "string", - "x-omitempty": false - }, - "readonly": { - "type": "boolean", - "x-omitempty": false - }, - "regex": { - "type": "string", - "x-omitempty": false - }, - "required": { - "type": "boolean", - "x-omitempty": false - }, - "type": { - "type": "string", - "x-omitempty": false - } - } - } - }, - "server": { - "description": "pack registry server or helm repo", - "type": "string" - }, - "tag": { - "description": "pack tag", - "type": "string" - }, - "type": { - "description": "type of the pack", - "type": "string", - "enum": [ - "spectro", - "helm", - "manifest" - ] - }, - "values": { - "description": "values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", - "type": "string" - }, - "version": { - "description": "pack version", + } + }, + "labels": { + "type": "object", + "additionalProperties": { "type": "string" } + }, + "namespace": { + "type": "string" } } }, - "scope": { - "description": "scope or context(system, tenant or project)", - "type": "string" - }, - "type": { - "description": "Cluster profile type [ \"cluster\", \"infra\", \"add-on\", \"system\" ]", - "type": "string" - }, - "uid": { - "description": "Cluster profile uid", - "type": "string" - }, - "version": { - "type": "integer", - "format": "int32" - } - } - } - } - } - }, - "status": { - "description": "Spectro cluster status summary", - "properties": { - "abortTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "addOnServices": { - "type": "array", - "items": { - "description": "Spectro cluster status summary", - "properties": { - "endpoint": { - "type": "string" - }, - "name": { - "type": "string" - } - } - } - }, - "apiEndpoints": { - "type": "array", - "items": { - "description": "APIEndpoint represents a reachable Kubernetes API endpoint.", - "type": "object", - "required": [ - "host", - "port" - ], - "properties": { - "host": { - "description": "The hostname on which the API server is serving.", - "type": "string" - }, - "port": { - "description": "The port on which the API server is serving.", - "type": "integer", - "format": "int32" + "status": { + "description": "Cluster workload daemonset status", + "type": "object", + "properties": { + "available": { + "type": "integer", + "format": "int32" + }, + "currentScheduled": { + "type": "integer", + "format": "int32" + }, + "desiredScheduled": { + "type": "integer", + "format": "int32" + }, + "misScheduled": { + "type": "integer", + "format": "int32" + }, + "ready": { + "type": "integer", + "format": "int32" + }, + "updatedScheduled": { + "type": "integer", + "format": "int32" + } + } } } } }, - "clusterImport": { - "type": "object", - "properties": { - "importLink": { - "description": "import link to download and install ally-lite, palette-lite", - "type": "string" - }, - "isBrownfield": { - "description": "Deprecated. Use the 'spec.clusterType'", - "type": "boolean", - "x-omitempty": false - }, - "state": { - "description": "cluster import status", - "type": "string" - } - } - }, - "conditions": { + "deployments": { "type": "array", "items": { + "description": "Cluster workload deployment summary", "type": "object", - "required": [ - "type", - "status" - ], "properties": { - "lastProbeTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "lastTransitionTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "message": { - "description": "Human-readable message indicating details about last transition.", - "type": "string" - }, - "reason": { - "description": "Unique, one-word, CamelCase reason for the condition's last transition.", - "type": "string" - }, - "status": { - "type": "string" - }, - "type": { - "type": "string" - } - } - } - }, - "cost": { - "description": "Resource Cost information", - "type": "object", - "properties": { - "cloud": { - "description": "Cloud cost information", - "type": "object", - "properties": { - "compute": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "storage": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "total": { - "type": "number", - "format": "float64", - "x-omitempty": false - } - } - }, - "total": { - "type": "number", - "format": "float64", - "x-omitempty": false - } - } - }, - "fips": { - "properties": { - "mode": { - "type": "string", - "default": "none", - "enum": [ - "full", - "none", - "partial", - "unknown" - ] - } - } - }, - "health": { - "description": "Spectro cluster health status", - "properties": { - "agentVersion": { - "type": "string" - }, - "conditions": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Spectro cluster health condition", + "metadata": { + "description": "Cluster workload metadata", + "type": "object", "properties": { - "message": { - "type": "string" + "creationTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" }, - "relatedObject": { - "description": "Object for which the resource is related", + "entity": { + "description": "Cluster workload ref", "type": "object", "properties": { "kind": { - "type": "string", - "enum": [ - "spectrocluster", - "machine", - "cloudconfig", - "clusterprofile", - "pack", - "appprofile", - "appdeployment", - "edgehost" - ] + "type": "string" }, "name": { "type": "string" @@ -83374,245 +79147,122 @@ } } }, - "type": { + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "namespace": { "type": "string" } } - } - }, - "lastHeartBeatTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "state": { - "type": "string" - } - } - }, - "hourlyRate": { - "description": "Resource Cost information", - "type": "object", - "properties": { - "cloud": { - "description": "Cloud cost information", - "type": "object", - "properties": { - "compute": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "storage": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "total": { - "type": "number", - "format": "float64", - "x-omitempty": false - } - } - }, - "total": { - "type": "number", - "format": "float64", - "x-omitempty": false - } - } - }, - "kubeMeta": { - "description": "Spectro cluster kube meta", - "type": "object", - "properties": { - "hasKubeConfig": { - "type": "boolean", - "x-omitempty": false - }, - "hasKubeConfigClient": { - "type": "boolean", - "x-omitempty": false - }, - "hasManifest": { - "type": "boolean", - "x-omitempty": false - }, - "kubernetesVersion": { - "type": "string" - } - } - }, - "location": { - "description": "Cluster location information", - "type": "object", - "properties": { - "coordinates": { - "type": "array", - "items": { - "type": "number", - "format": "float64" - } - }, - "countryCode": { - "type": "string" - }, - "countryName": { - "type": "string" - }, - "regionCode": { - "type": "string" - }, - "regionName": { - "type": "string" - } - } - }, - "metrics": { - "description": "Spectro cluster metrics", - "properties": { - "cpu": { - "description": "Compute metrics", - "type": "object", - "properties": { - "lastUpdatedTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "limit": { - "type": "number", - "x-omitempty": false - }, - "request": { - "type": "number", - "x-omitempty": false - }, - "total": { - "type": "number", - "x-omitempty": false - }, - "unit": { - "type": "string" - }, - "usage": { - "type": "number", - "x-omitempty": false - } - } - }, - "memory": { - "description": "Compute metrics", - "type": "object", - "properties": { - "lastUpdatedTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "limit": { - "type": "number", - "x-omitempty": false - }, - "request": { - "type": "number", - "x-omitempty": false - }, - "total": { - "type": "number", - "x-omitempty": false - }, - "unit": { - "type": "string" - }, - "usage": { - "type": "number", - "x-omitempty": false + }, + "status": { + "description": "Cluster workload deployment status", + "type": "object", + "properties": { + "replicas": { + "description": "Cluster workload replica status", + "type": "object", + "properties": { + "available": { + "type": "integer", + "format": "int32", + "x-omitempty": false + }, + "ready": { + "type": "integer", + "format": "int32", + "x-omitempty": false + }, + "total": { + "type": "integer", + "format": "int32", + "x-omitempty": false + }, + "updated": { + "type": "integer", + "format": "int32", + "x-omitempty": false + } + } + } } } } } }, - "notifications": { - "description": "Spectro cluster notifications", - "properties": { - "isAvailable": { - "type": "boolean", - "x-omitempty": false - } - } - }, - "packs": { + "jobs": { "type": "array", "items": { + "description": "Cluster workload job summary", "type": "object", "properties": { - "condition": { + "metadata": { + "description": "Cluster workload metadata", "type": "object", - "required": [ - "type", - "status" - ], "properties": { - "lastProbeTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "lastTransitionTime": { + "creationTimestamp": { "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", "type": "string", "format": "date-time" }, - "message": { - "description": "Human-readable message indicating details about last transition.", - "type": "string" - }, - "reason": { - "description": "Unique, one-word, CamelCase reason for the condition's last transition.", - "type": "string" + "entity": { + "description": "Cluster workload ref", + "type": "object", + "properties": { + "kind": { + "type": "string" + }, + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + } }, - "status": { - "type": "string" + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + } }, - "type": { + "namespace": { "type": "string" } } }, - "endTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "manifests": { - "type": "array", - "items": { - "type": "object", - "properties": { - "condition": { + "status": { + "description": "Cluster workload job status", + "type": "object", + "properties": { + "completionTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "conditions": { + "type": "array", + "items": { + "description": "Cluster workload condition", "type": "object", - "required": [ - "type", - "status" - ], "properties": { - "lastProbeTime": { + "lastTransitionTime": { "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", "type": "string", "format": "date-time" }, - "lastTransitionTime": { + "lastUpdateTime": { "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", "type": "string", "format": "date-time" }, "message": { - "description": "Human-readable message indicating details about last transition.", "type": "string" }, "reason": { - "description": "Unique, one-word, CamelCase reason for the condition's last transition.", "type": "string" }, "status": { @@ -83622,265 +79272,505 @@ "type": "string" } } - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - } - }, - "name": { - "type": "string" - }, - "profileUid": { - "type": "string" - }, - "services": { - "type": "array", - "items": { - "type": "object", - "properties": { - "host": { - "description": "IP or Host from svc.Status.LoadBalancerStatus.Ingress", - "type": "string" - }, - "name": { - "description": "name of the loadbalancer service", - "type": "string" - }, - "ports": { - "description": "port this service exposed", - "type": "array", - "items": { - "type": "object", - "required": [ - "port" - ], - "properties": { - "port": { - "description": "The port that will be exposed by this service.", - "type": "integer", - "format": "int32" - }, - "protocol": { - "type": "string" - } - } - } } + }, + "startTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "succeeded": { + "type": "integer", + "format": "int32" } } - }, - "startTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "type": { - "type": "string" - }, - "version": { - "type": "string" } } } }, - "services": { + "pods": { "type": "array", "items": { + "description": "Cluster workload pod summary", "type": "object", "properties": { - "host": { - "description": "IP or Host from svc.Status.LoadBalancerStatus.Ingress", - "type": "string" - }, - "name": { - "description": "name of the loadbalancer service", - "type": "string" - }, - "ports": { - "description": "port this service exposed", - "type": "array", - "items": { - "type": "object", - "required": [ - "port" - ], - "properties": { - "port": { - "description": "The port that will be exposed by this service.", - "type": "integer", - "format": "int32" - }, - "protocol": { + "metadata": { + "description": "Cluster workload pod metadata", + "type": "object", + "properties": { + "associatedRefs": { + "type": "array", + "items": { + "description": "Cluster workload ref", + "type": "object", + "properties": { + "kind": { + "type": "string" + }, + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + } + } + }, + "creationTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "entity": { + "description": "Cluster workload ref", + "type": "object", + "properties": { + "kind": { + "type": "string" + }, + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + } + }, + "labels": { + "type": "object", + "additionalProperties": { "type": "string" } + }, + "machineUid": { + "type": "string" + }, + "namespace": { + "type": "string" + }, + "nodename": { + "type": "string" } } - } - } - } - }, - "spcApply": { - "type": "object", - "properties": { - "actionType": { - "type": "string", - "enum": [ - "DownloadAndInstall", - "DownloadAndInstallLater" - ] - }, - "canBeApplied": { - "description": "If it is true then Agent can apply the changes to the palette", - "type": "boolean", - "x-omitempty": false - }, - "crdDigest": { - "type": "string" - }, - "lastModifiedTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "patchAppliedTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "spcHash": { - "type": "string" - }, - "spcInfraHash": { - "type": "string" + }, + "spec": { + "description": "Cluster workload pod spec", + "type": "object", + "properties": { + "containers": { + "type": "array", + "items": { + "description": "Cluster workload pod container", + "type": "object", + "properties": { + "image": { + "type": "string" + }, + "name": { + "type": "string" + }, + "resources": { + "description": "Cluster workload pod container resources", + "type": "object", + "properties": { + "limits": { + "description": "Cluster workload pod container resource", + "type": "object", + "properties": { + "cpu": { + "type": "integer", + "format": "int32", + "x-omitempty": false + }, + "cpuUnit": { + "type": "string" + }, + "memory": { + "type": "integer", + "format": "int64", + "x-omitempty": false + }, + "memoryUnit": { + "type": "string" + } + } + }, + "requests": { + "description": "Cluster workload pod container resource", + "type": "object", + "properties": { + "cpu": { + "type": "integer", + "format": "int32", + "x-omitempty": false + }, + "cpuUnit": { + "type": "string" + }, + "memory": { + "type": "integer", + "format": "int64", + "x-omitempty": false + }, + "memoryUnit": { + "type": "string" + } + } + } + } + } + } + } + }, + "volumes": { + "type": "array", + "items": { + "description": "Cluster workload pod volume", + "type": "object", + "properties": { + "name": { + "type": "string" + } + } + } + } + } + }, + "status": { + "description": "Cluster workload pod status", + "type": "object", + "properties": { + "containers": { + "type": "array", + "items": { + "description": "Cluster workload pod container status", + "type": "object", + "properties": { + "image": { + "type": "string" + }, + "name": { + "type": "string" + }, + "ready": { + "type": "boolean", + "x-omitempty": false + }, + "restartCount": { + "type": "integer", + "format": "int32", + "x-omitempty": false + }, + "started": { + "type": "boolean", + "x-omitempty": false + }, + "state": { + "description": "Cluster workload pod container state", + "type": "object", + "properties": { + "exitCode": { + "type": "integer", + "format": "int32", + "x-omitempty": false + }, + "finishedAt": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "reason": { + "type": "string" + }, + "startedAt": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "state": { + "type": "string" + } + } + } + } + } + }, + "phase": { + "type": "string" + }, + "podIp": { + "type": "string" + }, + "qosClass": { + "type": "string" + } + } + } } } }, - "state": { - "description": "current operational state", - "type": "string" - }, - "upgrades": { + "roleBindings": { "type": "array", "items": { - "description": "Upgrades represent the reason of the last upgrade that took place", + "description": "Cluster workload rbac binding summary", "type": "object", "properties": { - "reason": { - "type": "array", - "items": { - "type": "string" + "metadata": { + "description": "Cluster workload metadata", + "type": "object", + "properties": { + "creationTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "entity": { + "description": "Cluster workload ref", + "type": "object", + "properties": { + "kind": { + "type": "string" + }, + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + } + }, + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "namespace": { + "type": "string" + } } }, - "timestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" + "spec": { + "description": "Cluster RBAC binding", + "type": "object", + "properties": { + "namespace": { + "type": "string" + }, + "role": { + "description": "Cluster role ref", + "type": "object", + "properties": { + "kind": { + "type": "string", + "enum": [ + "Role", + "ClusterRole" + ] + }, + "name": { + "type": "string" + } + } + }, + "subjects": { + "type": "array", + "uniqueItems": true, + "items": { + "description": "Cluster role ref", + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "namespace": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "User", + "Group", + "ServiceAccount" + ] + } + } + } + }, + "type": { + "type": "string", + "enum": [ + "RoleBinding", + "ClusterRoleBinding" + ] + } + } } } } }, - "virtual": { - "properties": { - "appDeployments": { - "description": "list of apps deployed on the virtual cluster", - "type": "array", - "items": { - "description": "Object resource reference", + "statefulSets": { + "type": "array", + "items": { + "description": "Cluster workload statefulset summary", + "type": "object", + "properties": { + "metadata": { + "description": "Cluster workload metadata", "type": "object", "properties": { - "kind": { - "type": "string" - }, - "name": { - "type": "string" + "creationTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" }, - "projectUid": { - "type": "string" + "entity": { + "description": "Cluster workload ref", + "type": "object", + "properties": { + "kind": { + "type": "string" + }, + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + } }, - "tenantUid": { - "type": "string" + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + } }, - "uid": { + "namespace": { "type": "string" } } - } - }, - "clusterGroup": { - "description": "Object resource reference", - "type": "object", - "properties": { - "kind": { - "type": "string" - }, - "name": { - "type": "string" - }, - "projectUid": { - "type": "string" - }, - "tenantUid": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - }, - "hostCluster": { - "description": "Object resource reference", - "type": "object", - "properties": { - "kind": { - "type": "string" - }, - "name": { - "type": "string" - }, - "projectUid": { - "type": "string" - }, - "tenantUid": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - }, - "lifecycleStatus": { - "properties": { - "msg": { - "description": "error or success msg of lifecycle", - "type": "string" - }, - "status": { - "description": "lifecycle status", - "type": "string", - "enum": [ - "Pausing", - "Paused", - "Resuming", - "Running", - "Error" - ] + }, + "status": { + "description": "Cluster workload statefulset status", + "type": "object", + "properties": { + "replicas": { + "description": "Cluster workload replica status", + "type": "object", + "properties": { + "available": { + "type": "integer", + "format": "int32", + "x-omitempty": false + }, + "ready": { + "type": "integer", + "format": "int32", + "x-omitempty": false + }, + "total": { + "type": "integer", + "format": "int32", + "x-omitempty": false + }, + "updated": { + "type": "integer", + "format": "int32", + "x-omitempty": false + } + } + } } } - }, - "state": { - "description": "cluster virtual host status", - "type": "string" - }, - "virtualClusters": { - "description": "list of virtual clusters deployed on the cluster", - "type": "array", - "items": { - "description": "Object resource reference", + } + } + } + } + } + } + } + } + } + }, + "parameters": [ + { + "type": "string", + "name": "uid", + "in": "path", + "required": true + } + ] + }, + "/v1/dashboard/spectroclusters/{uid}/workloads/clusterrolebinding": { + "post": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Retrieves specified cluster workload clusterrolebindings", + "operationId": "v1DashboardSpectroClustersUidWorkloadsClusterRoleBinding", + "parameters": [ + { + "name": "body", + "in": "body", + "schema": { + "description": "Cluster workloads spec", + "type": "object", + "properties": { + "filter": { + "description": "Cluster workloads filter", + "type": "object", + "properties": { + "namespaces": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + } + } + } + } + } + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "200": { + "description": "An array of cluster workload clusterrolebindings", + "schema": { + "description": "Cluster workload rbac bindings summary", + "type": "object", + "properties": { + "bindings": { + "type": "array", + "items": { + "description": "Cluster workload rbac binding summary", + "type": "object", + "properties": { + "metadata": { + "description": "Cluster workload metadata", + "type": "object", + "properties": { + "creationTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "entity": { + "description": "Cluster workload ref", "type": "object", "properties": { "kind": { @@ -83889,36 +79779,75 @@ "name": { "type": "string" }, - "projectUid": { - "type": "string" - }, - "tenantUid": { - "type": "string" - }, "uid": { "type": "string" } } + }, + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "namespace": { + "type": "string" } } - } - }, - "workspaces": { - "type": "array", - "items": { + }, + "spec": { + "description": "Cluster RBAC binding", "type": "object", - "required": [ - "uid" - ], "properties": { - "kind": { + "namespace": { "type": "string" }, - "name": { - "type": "string" + "role": { + "description": "Cluster role ref", + "type": "object", + "properties": { + "kind": { + "type": "string", + "enum": [ + "Role", + "ClusterRole" + ] + }, + "name": { + "type": "string" + } + } }, - "uid": { - "type": "string" + "subjects": { + "type": "array", + "uniqueItems": true, + "items": { + "description": "Cluster role ref", + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "namespace": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "User", + "Group", + "ServiceAccount" + ] + } + } + } + }, + "type": { + "type": "string", + "enum": [ + "RoleBinding", + "ClusterRoleBinding" + ] } } } @@ -83939,8 +79868,8 @@ } ] }, - "/v1/dashboard/spectroclusters/{uid}/cost": { - "get": { + "/v1/dashboard/spectroclusters/{uid}/workloads/cronjob": { + "post": { "security": [ { "ApiKey": [] @@ -83952,30 +79881,31 @@ "tags": [ "v1" ], - "summary": "Retrieves the specified cluster cost summary", - "operationId": "v1SpectroClustersUidCostSummary", + "summary": "Retrieves specified cluster workload cronjobs", + "operationId": "v1DashboardSpectroClustersUidWorkloadsCronJob", "parameters": [ { - "type": "string", - "format": "date-time", - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "name": "startTime", - "in": "query" - }, - { - "type": "string", - "format": "date-time", - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "name": "endTime", - "in": "query" - }, - { - "minimum": 60, - "type": "integer", - "format": "int32", - "description": "period in minutes, group the data point by the specified period", - "name": "period", - "in": "query" + "name": "body", + "in": "body", + "schema": { + "description": "Cluster workloads spec", + "type": "object", + "properties": { + "filter": { + "description": "Cluster workloads filter", + "type": "object", + "properties": { + "namespaces": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + } + } + } + } + } }, { "type": "string", @@ -83986,133 +79916,74 @@ ], "responses": { "200": { - "description": "An spectro cluster cost summary", + "description": "An array of cluster workload cronjobs", "schema": { + "description": "Cluster workload cronjobs summary", "type": "object", "properties": { - "cluster": { - "description": "Spectro cluster cost information", - "type": "object", - "properties": { - "cloud": { - "description": "Spectro cluster cloud cost information", - "type": "object", - "properties": { - "cost": { - "description": "Resource Cost information", - "type": "object", - "properties": { - "cloud": { - "description": "Cloud cost information", - "type": "object", - "properties": { - "compute": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "storage": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "total": { - "type": "number", - "format": "float64", - "x-omitempty": false - } - } - }, - "total": { - "type": "number", - "format": "float64", - "x-omitempty": false - } - } - }, - "data": { - "type": "array", - "items": { - "description": "Cloud cost data point information", + "cronJobs": { + "type": "array", + "items": { + "description": "Cluster workload cronjob summary", + "type": "object", + "properties": { + "metadata": { + "description": "Cluster workload metadata", + "type": "object", + "properties": { + "creationTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "entity": { + "description": "Cluster workload ref", "type": "object", "properties": { - "compute": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "storage": { - "type": "number", - "format": "float64", - "x-omitempty": false + "kind": { + "type": "string" }, - "timestamp": { - "type": "number", - "format": "int64" + "name": { + "type": "string" }, - "total": { - "type": "number", - "format": "float64", - "x-omitempty": false + "uid": { + "type": "string" } } + }, + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "namespace": { + "type": "string" } } - } - }, - "cost": { - "description": "Resource Cost information", - "type": "object", - "properties": { - "cloud": { - "description": "Cloud cost information", - "type": "object", - "properties": { - "compute": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "storage": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "total": { - "type": "number", - "format": "float64", - "x-omitempty": false - } + }, + "spec": { + "description": "Cluster workload cronjob spec", + "type": "object", + "properties": { + "schedule": { + "type": "string" + } + } + }, + "status": { + "description": "Cluster workload cronjob status", + "type": "object", + "properties": { + "lastScheduleTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" } - }, - "total": { - "type": "number", - "format": "float64", - "x-omitempty": false } } - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" } } - }, - "endTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "period": { - "type": "integer", - "format": "int32" - }, - "startTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" } } } @@ -84128,8 +79999,8 @@ } ] }, - "/v1/dashboard/spectroclusters/{uid}/overview": { - "get": { + "/v1/dashboard/spectroclusters/{uid}/workloads/daemonset": { + "post": { "security": [ { "ApiKey": [] @@ -84141,9 +80012,32 @@ "tags": [ "v1" ], - "summary": "Returns the specified cluster summary overview", - "operationId": "v1SpectroClustersSummaryUidOverview", + "summary": "Retrieves specified cluster workload daemonsets", + "operationId": "v1DashboardSpectroClustersUidWorkloadsDaemonSet", "parameters": [ + { + "name": "body", + "in": "body", + "schema": { + "description": "Cluster workloads spec", + "type": "object", + "properties": { + "filter": { + "description": "Cluster workloads filter", + "type": "object", + "properties": { + "namespaces": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + } + } + } + } + } + }, { "type": "string", "description": "Scope the request to the specified project uid", @@ -84153,793 +80047,382 @@ ], "responses": { "200": { - "description": "An spectro cluster summary overview", + "description": "An array of cluster workload daemonsets", "schema": { - "description": "Spectro cluster summary", + "description": "Cluster workload daemonset summary", "type": "object", "properties": { - "metadata": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", - "type": "object", - "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { - "type": "string" + "daemonSets": { + "type": "array", + "items": { + "description": "Cluster workload daemonset summary", + "type": "object", + "properties": { + "metadata": { + "description": "Cluster workload metadata", + "type": "object", + "properties": { + "creationTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "entity": { + "description": "Cluster workload ref", + "type": "object", + "properties": { + "kind": { + "type": "string" + }, + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + } + }, + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "namespace": { + "type": "string" + } + } + }, + "status": { + "description": "Cluster workload daemonset status", + "type": "object", + "properties": { + "available": { + "type": "integer", + "format": "int32" + }, + "currentScheduled": { + "type": "integer", + "format": "int32" + }, + "desiredScheduled": { + "type": "integer", + "format": "int32" + }, + "misScheduled": { + "type": "integer", + "format": "int32" + }, + "ready": { + "type": "integer", + "format": "int32" + }, + "updatedScheduled": { + "type": "integer", + "format": "int32" + } + } } - }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "name": { - "description": "Name of the resource.", - "type": "string" - }, - "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", - "type": "string" } } - }, - "spec": { - "description": "Spectro cluster spec summary", + } + } + } + } + } + }, + "parameters": [ + { + "type": "string", + "name": "uid", + "in": "path", + "required": true + } + ] + }, + "/v1/dashboard/spectroclusters/{uid}/workloads/deployment": { + "post": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Retrieves specified cluster workload deployments", + "operationId": "v1DashboardSpectroClustersUidWorkloadsDeployment", + "parameters": [ + { + "name": "body", + "in": "body", + "schema": { + "description": "Cluster workloads spec", + "type": "object", + "properties": { + "filter": { + "description": "Cluster workloads filter", "type": "object", "properties": { - "archTypes": { - "description": "Architecture types of the cluster", + "namespaces": { "type": "array", + "uniqueItems": true, "items": { - "type": "string", - "default": "amd64", - "enum": [ - "amd64", - "arm64" - ] + "type": "string" } - }, - "cloudConfig": { - "type": "object", - "properties": { - "cloudType": { - "type": "string" - }, - "machinePools": { - "description": "Machine pool meta information", - "type": "array", - "items": { - "type": "object", - "properties": { - "cloudType": { + } + } + } + } + } + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "200": { + "description": "An array of cluster workload deployments", + "schema": { + "description": "Cluster workload deployments summary", + "type": "object", + "properties": { + "deployments": { + "type": "array", + "items": { + "description": "Cluster workload deployment summary", + "type": "object", + "properties": { + "metadata": { + "description": "Cluster workload metadata", + "type": "object", + "properties": { + "creationTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "entity": { + "description": "Cluster workload ref", + "type": "object", + "properties": { + "kind": { "type": "string" }, - "healthy": { - "description": "number of healthy machines", + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + } + }, + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "namespace": { + "type": "string" + } + } + }, + "status": { + "description": "Cluster workload deployment status", + "type": "object", + "properties": { + "replicas": { + "description": "Cluster workload replica status", + "type": "object", + "properties": { + "available": { "type": "integer", "format": "int32", "x-omitempty": false }, - "infraProfileTemplate": { - "description": "Cluster profile template meta information", - "type": "object", - "properties": { - "cloudType": { - "type": "string" - }, - "name": { - "description": "Cluster profile name", - "type": "string" - }, - "packs": { - "description": "Cluster profile packs array", - "type": "array", - "items": { - "description": "PackRef server/name:tag to point to a pack PackRef is used when construct a ClusterProfile PackSpec is used for UI to render the parameters form ClusterProfile will not know inner details of a pack ClusterProfile only contain pack name:tag, and the param values user entered for it", - "type": "object", - "required": [ - "layer", - "name" - ], - "properties": { - "annotations": { - "description": "Annotations is used to allow packref to add more arbitrary information one example is to add git reference for values.yaml", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "digest": { - "description": "digest is used to specify the version should be installed by palette when pack upgrade available, change this digest to trigger upgrade", - "type": "string" - }, - "inValidReason": { - "type": "string" - }, - "isInvalid": { - "description": "pack is invalid when the associated tag is deleted from the registry", - "type": "boolean" - }, - "layer": { - "type": "string", - "enum": [ - "kernel", - "os", - "k8s", - "cni", - "csi", - "addon" - ] - }, - "logo": { - "description": "path to the pack logo", - "type": "string" - }, - "manifests": { - "type": "array", - "items": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", - "type": "string" - } - } - } - }, - "name": { - "description": "pack name", - "type": "string" - }, - "packUid": { - "description": "PackUID is Hubble packUID, not palette Pack.UID It is used by Hubble only.", - "type": "string" - }, - "params": { - "description": "params passed as env variables to be consumed at installation time", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "presets": { - "type": "array", - "items": { - "description": "PackPreset defines the preset pack values", - "type": "object", - "properties": { - "add": { - "type": "string", - "x-omitempty": false - }, - "displayName": { - "type": "string", - "x-omitempty": false - }, - "group": { - "type": "string", - "x-omitempty": false - }, - "name": { - "type": "string", - "x-omitempty": false - }, - "remove": { - "type": "array", - "items": { - "type": "string" - }, - "x-omitempty": false - } - } - } - }, - "registryUid": { - "description": "pack registry uid", - "type": "string" - }, - "schema": { - "type": "array", - "items": { - "description": "PackSchema defines the schema definition, hints for the pack values", - "type": "object", - "properties": { - "format": { - "type": "string", - "x-omitempty": false - }, - "hints": { - "type": "array", - "items": { - "type": "string" - }, - "x-omitempty": false - }, - "listOptions": { - "type": "array", - "items": { - "type": "string" - }, - "x-omitempty": false - }, - "name": { - "type": "string", - "x-omitempty": false - }, - "readonly": { - "type": "boolean", - "x-omitempty": false - }, - "regex": { - "type": "string", - "x-omitempty": false - }, - "required": { - "type": "boolean", - "x-omitempty": false - }, - "type": { - "type": "string", - "x-omitempty": false - } - } - } - }, - "server": { - "description": "pack registry server or helm repo", - "type": "string" - }, - "tag": { - "description": "pack tag", - "type": "string" - }, - "type": { - "description": "type of the pack", - "type": "string", - "enum": [ - "spectro", - "helm", - "manifest" - ] - }, - "values": { - "description": "values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", - "type": "string" - }, - "version": { - "description": "pack version", - "type": "string" - } - } - } - }, - "scope": { - "description": "scope or context(system, tenant or project)", - "type": "string" - }, - "type": { - "description": "Cluster profile type [ \"cluster\", \"infra\", \"add-on\", \"system\" ]", - "type": "string" - }, - "uid": { - "description": "Cluster profile uid", - "type": "string" - }, - "version": { - "type": "integer", - "format": "int32" - } - } - }, - "isControlPlane": { - "description": "whether this pool is for control plane", - "type": "boolean", + "ready": { + "type": "integer", + "format": "int32", "x-omitempty": false }, - "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", - "type": "array", - "items": { - "type": "string" - } - }, - "maintenanceMode": { - "description": "number of machines under maintenance", + "total": { "type": "integer", "format": "int32", "x-omitempty": false }, - "size": { - "description": "size of the pool, number of machines", + "updated": { "type": "integer", "format": "int32", "x-omitempty": false } } } - }, - "uid": { - "description": "Cluster's cloud config uid", - "type": "string" } } - }, - "cloudaccount": { - "description": "Cloud account meta information", - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } + } + } + } + } + } + } + } + }, + "parameters": [ + { + "type": "string", + "name": "uid", + "in": "path", + "required": true + } + ] + }, + "/v1/dashboard/spectroclusters/{uid}/workloads/job": { + "post": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Retrieves specified cluster workload jobs", + "operationId": "v1DashboardSpectroClustersUidWorkloadsJob", + "parameters": [ + { + "name": "body", + "in": "body", + "schema": { + "description": "Cluster workloads spec", + "type": "object", + "properties": { + "filter": { + "description": "Cluster workloads filter", + "type": "object", + "properties": { + "namespaces": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" } - }, - "clusterProfileTemplate": { - "description": "Cluster profile template meta information", - "type": "object", - "properties": { - "cloudType": { - "type": "string" - }, - "name": { - "description": "Cluster profile name", - "type": "string" - }, - "packs": { - "description": "Cluster profile packs array", - "type": "array", - "items": { - "description": "PackRef server/name:tag to point to a pack PackRef is used when construct a ClusterProfile PackSpec is used for UI to render the parameters form ClusterProfile will not know inner details of a pack ClusterProfile only contain pack name:tag, and the param values user entered for it", + } + } + } + } + } + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "200": { + "description": "An array of cluster workload jobs", + "schema": { + "description": "Cluster workload jobs summary", + "type": "object", + "properties": { + "jobs": { + "type": "array", + "items": { + "description": "Cluster workload job summary", + "type": "object", + "properties": { + "metadata": { + "description": "Cluster workload metadata", + "type": "object", + "properties": { + "creationTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "entity": { + "description": "Cluster workload ref", "type": "object", - "required": [ - "layer", - "name" - ], "properties": { - "annotations": { - "description": "Annotations is used to allow packref to add more arbitrary information one example is to add git reference for values.yaml", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "digest": { - "description": "digest is used to specify the version should be installed by palette when pack upgrade available, change this digest to trigger upgrade", - "type": "string" - }, - "inValidReason": { - "type": "string" - }, - "isInvalid": { - "description": "pack is invalid when the associated tag is deleted from the registry", - "type": "boolean" - }, - "layer": { - "type": "string", - "enum": [ - "kernel", - "os", - "k8s", - "cni", - "csi", - "addon" - ] - }, - "logo": { - "description": "path to the pack logo", + "kind": { "type": "string" }, - "manifests": { - "type": "array", - "items": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", - "type": "string" - } - } - } - }, "name": { - "description": "pack name", - "type": "string" - }, - "packUid": { - "description": "PackUID is Hubble packUID, not palette Pack.UID It is used by Hubble only.", - "type": "string" - }, - "params": { - "description": "params passed as env variables to be consumed at installation time", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "presets": { - "type": "array", - "items": { - "description": "PackPreset defines the preset pack values", - "type": "object", - "properties": { - "add": { - "type": "string", - "x-omitempty": false - }, - "displayName": { - "type": "string", - "x-omitempty": false - }, - "group": { - "type": "string", - "x-omitempty": false - }, - "name": { - "type": "string", - "x-omitempty": false - }, - "remove": { - "type": "array", - "items": { - "type": "string" - }, - "x-omitempty": false - } - } - } - }, - "registryUid": { - "description": "pack registry uid", - "type": "string" - }, - "schema": { - "type": "array", - "items": { - "description": "PackSchema defines the schema definition, hints for the pack values", - "type": "object", - "properties": { - "format": { - "type": "string", - "x-omitempty": false - }, - "hints": { - "type": "array", - "items": { - "type": "string" - }, - "x-omitempty": false - }, - "listOptions": { - "type": "array", - "items": { - "type": "string" - }, - "x-omitempty": false - }, - "name": { - "type": "string", - "x-omitempty": false - }, - "readonly": { - "type": "boolean", - "x-omitempty": false - }, - "regex": { - "type": "string", - "x-omitempty": false - }, - "required": { - "type": "boolean", - "x-omitempty": false - }, - "type": { - "type": "string", - "x-omitempty": false - } - } - } - }, - "server": { - "description": "pack registry server or helm repo", - "type": "string" - }, - "tag": { - "description": "pack tag", - "type": "string" - }, - "type": { - "description": "type of the pack", - "type": "string", - "enum": [ - "spectro", - "helm", - "manifest" - ] - }, - "values": { - "description": "values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", "type": "string" }, - "version": { - "description": "pack version", + "uid": { "type": "string" } } + }, + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "namespace": { + "type": "string" } - }, - "scope": { - "description": "scope or context(system, tenant or project)", - "type": "string" - }, - "type": { - "description": "Cluster profile type [ \"cluster\", \"infra\", \"add-on\", \"system\" ]", - "type": "string" - }, - "uid": { - "description": "Cluster profile uid", - "type": "string" - }, - "version": { - "type": "integer", - "format": "int32" } - } - }, - "clusterProfileTemplates": { - "type": "array", - "items": { - "description": "Cluster profile template meta information", + }, + "status": { + "description": "Cluster workload job status", "type": "object", "properties": { - "cloudType": { - "type": "string" - }, - "name": { - "description": "Cluster profile name", - "type": "string" + "completionTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" }, - "packs": { - "description": "Cluster profile packs array", + "conditions": { "type": "array", "items": { - "description": "PackRef server/name:tag to point to a pack PackRef is used when construct a ClusterProfile PackSpec is used for UI to render the parameters form ClusterProfile will not know inner details of a pack ClusterProfile only contain pack name:tag, and the param values user entered for it", + "description": "Cluster workload condition", "type": "object", - "required": [ - "layer", - "name" - ], "properties": { - "annotations": { - "description": "Annotations is used to allow packref to add more arbitrary information one example is to add git reference for values.yaml", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "digest": { - "description": "digest is used to specify the version should be installed by palette when pack upgrade available, change this digest to trigger upgrade", - "type": "string" - }, - "inValidReason": { - "type": "string" - }, - "isInvalid": { - "description": "pack is invalid when the associated tag is deleted from the registry", - "type": "boolean" - }, - "layer": { + "lastTransitionTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", "type": "string", - "enum": [ - "kernel", - "os", - "k8s", - "cni", - "csi", - "addon" - ] - }, - "logo": { - "description": "path to the pack logo", - "type": "string" - }, - "manifests": { - "type": "array", - "items": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", - "type": "string" - } - } - } - }, - "name": { - "description": "pack name", - "type": "string" - }, - "packUid": { - "description": "PackUID is Hubble packUID, not palette Pack.UID It is used by Hubble only.", - "type": "string" - }, - "params": { - "description": "params passed as env variables to be consumed at installation time", - "type": "object", - "additionalProperties": { - "type": "string" - } + "format": "date-time" }, - "presets": { - "type": "array", - "items": { - "description": "PackPreset defines the preset pack values", - "type": "object", - "properties": { - "add": { - "type": "string", - "x-omitempty": false - }, - "displayName": { - "type": "string", - "x-omitempty": false - }, - "group": { - "type": "string", - "x-omitempty": false - }, - "name": { - "type": "string", - "x-omitempty": false - }, - "remove": { - "type": "array", - "items": { - "type": "string" - }, - "x-omitempty": false - } - } - } + "lastUpdateTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" }, - "registryUid": { - "description": "pack registry uid", + "message": { "type": "string" }, - "schema": { - "type": "array", - "items": { - "description": "PackSchema defines the schema definition, hints for the pack values", - "type": "object", - "properties": { - "format": { - "type": "string", - "x-omitempty": false - }, - "hints": { - "type": "array", - "items": { - "type": "string" - }, - "x-omitempty": false - }, - "listOptions": { - "type": "array", - "items": { - "type": "string" - }, - "x-omitempty": false - }, - "name": { - "type": "string", - "x-omitempty": false - }, - "readonly": { - "type": "boolean", - "x-omitempty": false - }, - "regex": { - "type": "string", - "x-omitempty": false - }, - "required": { - "type": "boolean", - "x-omitempty": false - }, - "type": { - "type": "string", - "x-omitempty": false - } - } - } - }, - "server": { - "description": "pack registry server or helm repo", + "reason": { "type": "string" }, - "tag": { - "description": "pack tag", + "status": { "type": "string" }, "type": { - "description": "type of the pack", - "type": "string", - "enum": [ - "spectro", - "helm", - "manifest" - ] - }, - "values": { - "description": "values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", - "type": "string" - }, - "version": { - "description": "pack version", "type": "string" } } } }, - "scope": { - "description": "scope or context(system, tenant or project)", - "type": "string" - }, - "type": { - "description": "Cluster profile type [ \"cluster\", \"infra\", \"add-on\", \"system\" ]", - "type": "string" - }, - "uid": { - "description": "Cluster profile uid", - "type": "string" + "startTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" }, - "version": { + "succeeded": { "type": "integer", "format": "int32" } @@ -84947,439 +80430,210 @@ } } } - }, - "status": { - "description": "Spectro cluster status summary", + } + } + } + } + } + }, + "parameters": [ + { + "type": "string", + "name": "uid", + "in": "path", + "required": true + } + ] + }, + "/v1/dashboard/spectroclusters/{uid}/workloads/namespace": { + "post": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Retrieves specified cluster workload namespaces", + "operationId": "v1DashboardSpectroClustersUidWorkloadsNamespace", + "parameters": [ + { + "name": "body", + "in": "body", + "schema": { + "description": "Cluster workloads spec", + "type": "object", + "properties": { + "filter": { + "description": "Cluster workloads filter", + "type": "object", "properties": { - "abortTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "addOnServices": { - "type": "array", - "items": { - "description": "Spectro cluster status summary", - "properties": { - "endpoint": { - "type": "string" - }, - "name": { - "type": "string" - } - } - } - }, - "apiEndpoints": { + "namespaces": { "type": "array", + "uniqueItems": true, "items": { - "description": "APIEndpoint represents a reachable Kubernetes API endpoint.", - "type": "object", - "required": [ - "host", - "port" - ], - "properties": { - "host": { - "description": "The hostname on which the API server is serving.", - "type": "string" - }, - "port": { - "description": "The port on which the API server is serving.", - "type": "integer", - "format": "int32" - } - } - } - }, - "clusterImport": { - "type": "object", - "properties": { - "importLink": { - "description": "import link to download and install ally-lite, palette-lite", - "type": "string" - }, - "isBrownfield": { - "description": "Deprecated. Use the 'spec.clusterType'", - "type": "boolean", - "x-omitempty": false - }, - "state": { - "description": "cluster import status", - "type": "string" - } + "type": "string" } - }, - "conditions": { - "type": "array", - "items": { + } + } + } + } + } + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "200": { + "description": "An array of cluster workload namespaces", + "schema": { + "description": "Cluster workload namespaces summary", + "properties": { + "namespaces": { + "type": "array", + "items": { + "description": "Cluster workload namespace summary", + "type": "object", + "properties": { + "metadata": { + "description": "Cluster workload metadata", "type": "object", - "required": [ - "type", - "status" - ], "properties": { - "lastProbeTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "lastTransitionTime": { + "creationTimestamp": { "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", "type": "string", "format": "date-time" }, - "message": { - "description": "Human-readable message indicating details about last transition.", - "type": "string" + "entity": { + "description": "Cluster workload ref", + "type": "object", + "properties": { + "kind": { + "type": "string" + }, + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + } }, - "reason": { - "description": "Unique, one-word, CamelCase reason for the condition's last transition.", - "type": "string" + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + } }, - "status": { + "namespace": { "type": "string" - }, - "type": { + } + } + }, + "status": { + "description": "Cluster workload namespace status", + "type": "object", + "properties": { + "phase": { "type": "string" } } } - }, - "cost": { - "description": "Resource Cost information", - "type": "object", - "properties": { - "cloud": { - "description": "Cloud cost information", - "type": "object", - "properties": { - "compute": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "storage": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "total": { - "type": "number", - "format": "float64", - "x-omitempty": false - } - } - }, - "total": { - "type": "number", - "format": "float64", - "x-omitempty": false - } - } - }, - "fips": { - "properties": { - "mode": { - "type": "string", - "default": "none", - "enum": [ - "full", - "none", - "partial", - "unknown" - ] - } - } - }, - "health": { - "description": "Spectro cluster health status", - "properties": { - "agentVersion": { - "type": "string" - }, - "conditions": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Spectro cluster health condition", - "properties": { - "message": { - "type": "string" - }, - "relatedObject": { - "description": "Object for which the resource is related", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "spectrocluster", - "machine", - "cloudconfig", - "clusterprofile", - "pack", - "appprofile", - "appdeployment", - "edgehost" - ] - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - }, - "type": { - "type": "string" - } - } - } - }, - "lastHeartBeatTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "state": { - "type": "string" - } - } - }, - "hourlyRate": { - "description": "Resource Cost information", - "type": "object", - "properties": { - "cloud": { - "description": "Cloud cost information", - "type": "object", - "properties": { - "compute": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "storage": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "total": { - "type": "number", - "format": "float64", - "x-omitempty": false - } - } - }, - "total": { - "type": "number", - "format": "float64", - "x-omitempty": false - } - } - }, - "kubeMeta": { - "description": "Spectro cluster kube meta", - "type": "object", - "properties": { - "hasKubeConfig": { - "type": "boolean", - "x-omitempty": false - }, - "hasKubeConfigClient": { - "type": "boolean", - "x-omitempty": false - }, - "hasManifest": { - "type": "boolean", - "x-omitempty": false - }, - "kubernetesVersion": { - "type": "string" - } - } - }, - "location": { - "description": "Cluster location information", - "type": "object", - "properties": { - "coordinates": { - "type": "array", - "items": { - "type": "number", - "format": "float64" - } - }, - "countryCode": { - "type": "string" - }, - "countryName": { - "type": "string" - }, - "regionCode": { - "type": "string" - }, - "regionName": { - "type": "string" - } - } - }, - "metrics": { - "description": "Spectro cluster metrics", - "properties": { - "cpu": { - "description": "Compute metrics", - "type": "object", - "properties": { - "lastUpdatedTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "limit": { - "type": "number", - "x-omitempty": false - }, - "request": { - "type": "number", - "x-omitempty": false - }, - "total": { - "type": "number", - "x-omitempty": false - }, - "unit": { - "type": "string" - }, - "usage": { - "type": "number", - "x-omitempty": false - } - } - }, - "memory": { - "description": "Compute metrics", - "type": "object", - "properties": { - "lastUpdatedTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "limit": { - "type": "number", - "x-omitempty": false - }, - "request": { - "type": "number", - "x-omitempty": false - }, - "total": { - "type": "number", - "x-omitempty": false - }, - "unit": { - "type": "string" - }, - "usage": { - "type": "number", - "x-omitempty": false - } - } - } - } - }, - "notifications": { - "description": "Spectro cluster notifications", - "properties": { - "isAvailable": { - "type": "boolean", - "x-omitempty": false - } - } - }, - "packs": { + } + } + } + } + } + } + } + }, + "parameters": [ + { + "type": "string", + "name": "uid", + "in": "path", + "required": true + } + ] + }, + "/v1/dashboard/spectroclusters/{uid}/workloads/pod": { + "post": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Retrieves specified cluster workload pods", + "operationId": "v1DashboardSpectroClustersUidWorkloadsPod", + "parameters": [ + { + "name": "body", + "in": "body", + "schema": { + "description": "Cluster workloads spec", + "type": "object", + "properties": { + "filter": { + "description": "Cluster workloads filter", + "type": "object", + "properties": { + "namespaces": { "type": "array", + "uniqueItems": true, "items": { + "type": "string" + } + } + } + } + } + } + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "200": { + "description": "An array of cluster workload pods", + "schema": { + "description": "Cluster workload pods summary", + "properties": { + "pods": { + "type": "array", + "items": { + "description": "Cluster workload pod summary", + "type": "object", + "properties": { + "metadata": { + "description": "Cluster workload pod metadata", "type": "object", "properties": { - "condition": { - "type": "object", - "required": [ - "type", - "status" - ], - "properties": { - "lastProbeTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "lastTransitionTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "message": { - "description": "Human-readable message indicating details about last transition.", - "type": "string" - }, - "reason": { - "description": "Unique, one-word, CamelCase reason for the condition's last transition.", - "type": "string" - }, - "status": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "endTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "manifests": { + "associatedRefs": { "type": "array", "items": { + "description": "Cluster workload ref", "type": "object", "properties": { - "condition": { - "type": "object", - "required": [ - "type", - "status" - ], - "properties": { - "lastProbeTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "lastTransitionTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "message": { - "description": "Human-readable message indicating details about last transition.", - "type": "string" - }, - "reason": { - "description": "Unique, one-word, CamelCase reason for the condition's last transition.", - "type": "string" - }, - "status": { - "type": "string" - }, - "type": { - "type": "string" - } - } + "kind": { + "type": "string" }, "name": { "type": "string" @@ -85390,41 +80644,105 @@ } } }, - "name": { + "creationTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "entity": { + "description": "Cluster workload ref", + "type": "object", + "properties": { + "kind": { + "type": "string" + }, + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + } + }, + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "machineUid": { "type": "string" }, - "profileUid": { + "namespace": { "type": "string" }, - "services": { + "nodename": { + "type": "string" + } + } + }, + "spec": { + "description": "Cluster workload pod spec", + "type": "object", + "properties": { + "containers": { "type": "array", "items": { + "description": "Cluster workload pod container", "type": "object", "properties": { - "host": { - "description": "IP or Host from svc.Status.LoadBalancerStatus.Ingress", + "image": { "type": "string" }, "name": { - "description": "name of the loadbalancer service", "type": "string" }, - "ports": { - "description": "port this service exposed", - "type": "array", - "items": { - "type": "object", - "required": [ - "port" - ], - "properties": { - "port": { - "description": "The port that will be exposed by this service.", - "type": "integer", - "format": "int32" - }, - "protocol": { - "type": "string" + "resources": { + "description": "Cluster workload pod container resources", + "type": "object", + "properties": { + "limits": { + "description": "Cluster workload pod container resource", + "type": "object", + "properties": { + "cpu": { + "type": "integer", + "format": "int32", + "x-omitempty": false + }, + "cpuUnit": { + "type": "string" + }, + "memory": { + "type": "integer", + "format": "int64", + "x-omitempty": false + }, + "memoryUnit": { + "type": "string" + } + } + }, + "requests": { + "description": "Cluster workload pod container resource", + "type": "object", + "properties": { + "cpu": { + "type": "integer", + "format": "int32", + "x-omitempty": false + }, + "cpuUnit": { + "type": "string" + }, + "memory": { + "type": "integer", + "format": "int64", + "x-omitempty": false + }, + "memoryUnit": { + "type": "string" + } } } } @@ -85432,123 +80750,177 @@ } } }, - "startTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "type": { - "type": "string" - }, - "version": { - "type": "string" + "volumes": { + "type": "array", + "items": { + "description": "Cluster workload pod volume", + "type": "object", + "properties": { + "name": { + "type": "string" + } + } + } } } - } - }, - "services": { - "type": "array", - "items": { + }, + "status": { + "description": "Cluster workload pod status", "type": "object", "properties": { - "host": { - "description": "IP or Host from svc.Status.LoadBalancerStatus.Ingress", - "type": "string" - }, - "name": { - "description": "name of the loadbalancer service", - "type": "string" - }, - "ports": { - "description": "port this service exposed", + "containers": { "type": "array", "items": { + "description": "Cluster workload pod container status", "type": "object", - "required": [ - "port" - ], "properties": { - "port": { - "description": "The port that will be exposed by this service.", - "type": "integer", - "format": "int32" + "image": { + "type": "string" }, - "protocol": { + "name": { "type": "string" + }, + "ready": { + "type": "boolean", + "x-omitempty": false + }, + "restartCount": { + "type": "integer", + "format": "int32", + "x-omitempty": false + }, + "started": { + "type": "boolean", + "x-omitempty": false + }, + "state": { + "description": "Cluster workload pod container state", + "type": "object", + "properties": { + "exitCode": { + "type": "integer", + "format": "int32", + "x-omitempty": false + }, + "finishedAt": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "reason": { + "type": "string" + }, + "startedAt": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "state": { + "type": "string" + } + } } } } + }, + "phase": { + "type": "string" + }, + "podIp": { + "type": "string" + }, + "qosClass": { + "type": "string" } } } - }, - "spcApply": { - "type": "object", - "properties": { - "actionType": { - "type": "string", - "enum": [ - "DownloadAndInstall", - "DownloadAndInstallLater" - ] - }, - "canBeApplied": { - "description": "If it is true then Agent can apply the changes to the palette", - "type": "boolean", - "x-omitempty": false - }, - "crdDigest": { - "type": "string" - }, - "lastModifiedTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "patchAppliedTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "spcHash": { - "type": "string" - }, - "spcInfraHash": { - "type": "string" - } - } - }, - "state": { - "description": "current operational state", - "type": "string" - }, - "upgrades": { + } + } + } + } + } + } + } + }, + "parameters": [ + { + "type": "string", + "name": "uid", + "in": "path", + "required": true + } + ] + }, + "/v1/dashboard/spectroclusters/{uid}/workloads/rolebinding": { + "post": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Retrieves specified cluster workload rolebindings", + "operationId": "v1DashboardSpectroClustersUidWorkloadsRoleBinding", + "parameters": [ + { + "name": "body", + "in": "body", + "schema": { + "description": "Cluster workloads spec", + "type": "object", + "properties": { + "filter": { + "description": "Cluster workloads filter", + "type": "object", + "properties": { + "namespaces": { "type": "array", + "uniqueItems": true, "items": { - "description": "Upgrades represent the reason of the last upgrade that took place", + "type": "string" + } + } + } + } + } + } + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "200": { + "description": "An array of cluster workload rolebindings", + "schema": { + "description": "Cluster workload rbac bindings summary", + "type": "object", + "properties": { + "bindings": { + "type": "array", + "items": { + "description": "Cluster workload rbac binding summary", + "type": "object", + "properties": { + "metadata": { + "description": "Cluster workload metadata", "type": "object", "properties": { - "reason": { - "type": "array", - "items": { - "type": "string" - } - }, - "timestamp": { + "creationTimestamp": { "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", "type": "string", "format": "date-time" - } - } - } - }, - "virtual": { - "properties": { - "appDeployments": { - "description": "list of apps deployed on the virtual cluster", - "type": "array", - "items": { - "description": "Object resource reference", + }, + "entity": { + "description": "Cluster workload ref", "type": "object", "properties": { "kind": { @@ -85557,126 +80929,75 @@ "name": { "type": "string" }, - "projectUid": { - "type": "string" - }, - "tenantUid": { - "type": "string" - }, "uid": { "type": "string" } } - } - }, - "clusterGroup": { - "description": "Object resource reference", - "type": "object", - "properties": { - "kind": { - "type": "string" - }, - "name": { - "type": "string" - }, - "projectUid": { - "type": "string" - }, - "tenantUid": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - }, - "hostCluster": { - "description": "Object resource reference", - "type": "object", - "properties": { - "kind": { - "type": "string" - }, - "name": { - "type": "string" - }, - "projectUid": { - "type": "string" - }, - "tenantUid": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - }, - "lifecycleStatus": { - "properties": { - "msg": { - "description": "error or success msg of lifecycle", + }, + "labels": { + "type": "object", + "additionalProperties": { "type": "string" - }, - "status": { - "description": "lifecycle status", - "type": "string", - "enum": [ - "Pausing", - "Paused", - "Resuming", - "Running", - "Error" - ] } + }, + "namespace": { + "type": "string" } - }, - "state": { - "description": "cluster virtual host status", - "type": "string" - }, - "virtualClusters": { - "description": "list of virtual clusters deployed on the cluster", - "type": "array", - "items": { - "description": "Object resource reference", + } + }, + "spec": { + "description": "Cluster RBAC binding", + "type": "object", + "properties": { + "namespace": { + "type": "string" + }, + "role": { + "description": "Cluster role ref", "type": "object", "properties": { "kind": { - "type": "string" + "type": "string", + "enum": [ + "Role", + "ClusterRole" + ] }, "name": { "type": "string" - }, - "projectUid": { - "type": "string" - }, - "tenantUid": { - "type": "string" - }, - "uid": { - "type": "string" } } - } - } - } - }, - "workspaces": { - "type": "array", - "items": { - "type": "object", - "required": [ - "uid" - ], - "properties": { - "kind": { - "type": "string" }, - "name": { - "type": "string" + "subjects": { + "type": "array", + "uniqueItems": true, + "items": { + "description": "Cluster role ref", + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "namespace": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "User", + "Group", + "ServiceAccount" + ] + } + } + } }, - "uid": { - "type": "string" + "type": { + "type": "string", + "enum": [ + "RoleBinding", + "ClusterRoleBinding" + ] } } } @@ -85697,7 +81018,7 @@ } ] }, - "/v1/dashboard/spectroclusters/{uid}/resources/consumption": { + "/v1/dashboard/spectroclusters/{uid}/workloads/statefulset": { "post": { "security": [ { @@ -85710,94 +81031,26 @@ "tags": [ "v1" ], - "summary": "Retrieves specified spectro cluster resource consumption", - "operationId": "v1SpectroClustersUidResourcesConsumption", + "summary": "Retrieves specified cluster workload statefulsets", + "operationId": "v1DashboardSpectroClustersUidWorkloadsStatefulSet", "parameters": [ { "name": "body", "in": "body", "schema": { - "description": "Resource consumption spec", + "description": "Cluster workloads spec", "type": "object", "properties": { "filter": { - "description": "Resource consumption filter", + "description": "Cluster workloads filter", "type": "object", "properties": { - "clouds": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - }, - "clusters": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - }, - "endTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "includeMasterMachines": { - "type": "boolean" - }, "namespaces": { "type": "array", "uniqueItems": true, "items": { "type": "string" } - }, - "projects": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - }, - "startTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "workspaces": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - } - } - }, - "options": { - "description": "Resource consumption options", - "type": "object", - "properties": { - "enableSummaryView": { - "type": "boolean", - "default": true - }, - "groupBy": { - "type": "string", - "default": "namespace", - "enum": [ - "tenant", - "project", - "workspace", - "cluster", - "namespace", - "cloud" - ] - }, - "period": { - "type": "integer", - "format": "int32", - "default": 60 } } } @@ -85813,138 +81066,78 @@ ], "responses": { "200": { - "description": "An array of resource consumption data items", + "description": "An array of cluster workload statefulsets", "schema": { - "description": "Resources consumption information", + "description": "Cluster workload statefulsets summary", "type": "object", "properties": { - "cpuUnit": { - "type": "string" - }, - "memoryUnit": { - "type": "string" - }, - "resources": { + "statefulSets": { "type": "array", "items": { - "description": "Resource consumption information", + "description": "Cluster workload statefulset summary", "type": "object", "properties": { - "associatedResources": { - "type": "array", - "items": { - "type": "object", - "required": [ - "uid" - ], - "properties": { - "kind": { - "type": "string" - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - } - }, - "data": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Resource cosumption data point", - "type": "object", - "properties": { - "allotted": { - "description": "Resource cosumption data", - "type": "object", - "properties": { - "cpu": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "memory": { - "type": "number", - "format": "float64", - "x-omitempty": false - } - } - }, - "timestamp": { - "type": "number", - "format": "int64" - }, - "usage": { - "description": "Resource cosumption data", - "type": "object", - "properties": { - "cpu": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "memory": { - "type": "number", - "format": "float64", - "x-omitempty": false - } - } - } - } - } - }, - "entity": { + "metadata": { + "description": "Cluster workload metadata", "type": "object", - "required": [ - "uid" - ], "properties": { - "kind": { - "type": "string" + "creationTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" }, - "name": { - "type": "string" + "entity": { + "description": "Cluster workload ref", + "type": "object", + "properties": { + "kind": { + "type": "string" + }, + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + } }, - "uid": { + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "namespace": { "type": "string" } } }, - "total": { - "description": "Resource total cosumption data", + "status": { + "description": "Cluster workload statefulset status", "type": "object", "properties": { - "allotted": { - "description": "Resource cosumption data", + "replicas": { + "description": "Cluster workload replica status", "type": "object", "properties": { - "cpu": { - "type": "number", - "format": "float64", + "available": { + "type": "integer", + "format": "int32", "x-omitempty": false }, - "memory": { - "type": "number", - "format": "float64", + "ready": { + "type": "integer", + "format": "int32", "x-omitempty": false - } - } - }, - "usage": { - "description": "Resource cosumption data", - "type": "object", - "properties": { - "cpu": { - "type": "number", - "format": "float64", + }, + "total": { + "type": "integer", + "format": "int32", "x-omitempty": false }, - "memory": { - "type": "number", - "format": "float64", + "updated": { + "type": "integer", + "format": "int32", "x-omitempty": false } } @@ -85953,44 +81146,6 @@ } } } - }, - "total": { - "description": "Resource total cosumption data", - "type": "object", - "properties": { - "allotted": { - "description": "Resource cosumption data", - "type": "object", - "properties": { - "cpu": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "memory": { - "type": "number", - "format": "float64", - "x-omitempty": false - } - } - }, - "usage": { - "description": "Resource cosumption data", - "type": "object", - "properties": { - "cpu": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "memory": { - "type": "number", - "format": "float64", - "x-omitempty": false - } - } - } - } } } } @@ -86006,8 +81161,8 @@ } ] }, - "/v1/dashboard/spectroclusters/{uid}/workloads": { - "post": { + "/v1/dashboard/workspaces": { + "get": { "security": [ { "ApiKey": [] @@ -86019,32 +81174,9 @@ "tags": [ "v1" ], - "summary": "Retrieves specified cluster workloads", - "operationId": "v1DashboardSpectroClustersUidWorkloads", + "summary": "Retrieves a list of workspace", + "operationId": "v1DashboardWorkspacesList", "parameters": [ - { - "name": "body", - "in": "body", - "schema": { - "description": "Cluster workloads spec", - "type": "object", - "properties": { - "filter": { - "description": "Cluster workloads filter", - "type": "object", - "properties": { - "namespaces": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - } - } - } - } - } - }, { "type": "string", "description": "Scope the request to the specified project uid", @@ -86054,344 +81186,237 @@ ], "responses": { "200": { - "description": "An array of cluster workloads", + "description": "An array of workspace", "schema": { - "description": "Cluster workload summary", "type": "object", + "required": [ + "items" + ], "properties": { - "metadata": { - "description": "ObjectMeta input entity for object creation", - "type": "object", - "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "name": { - "description": "Name of the resource.", - "type": "string" - } - } + "cpuUnit": { + "type": "string" }, - "spec": { - "description": "Cluster workload spec", - "type": "object", - "properties": { - "clusterroleBindings": { - "type": "array", - "items": { - "description": "Cluster workload rbac binding summary", - "type": "object", + "items": { + "type": "array", + "uniqueItems": true, + "items": { + "description": "Workspace information", + "properties": { + "meta": { + "description": "Deprecated. Workspace meta data", "properties": { - "metadata": { - "description": "Cluster workload metadata", - "type": "object", - "properties": { - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "entity": { - "description": "Cluster workload ref", - "type": "object", - "properties": { - "kind": { - "type": "string" - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - }, - "labels": { - "type": "object", - "additionalProperties": { + "clusterNames": { + "description": "Deprecated. Use clusterRefs", + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + }, + "clusterRefs": { + "type": "array", + "uniqueItems": true, + "items": { + "description": "Workspace cluster reference", + "properties": { + "name": { + "type": "string" + }, + "uid": { "type": "string" } - }, - "namespace": { - "type": "string" } } }, - "spec": { - "description": "Cluster RBAC binding", - "type": "object", - "properties": { - "namespace": { - "type": "string" - }, - "role": { - "description": "Cluster role ref", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "Role", - "ClusterRole" - ] - }, - "name": { - "type": "string" - } - } - }, - "subjects": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Cluster role ref", - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "namespace": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "User", - "Group", - "ServiceAccount" - ] - } - } - } - }, - "type": { - "type": "string", - "enum": [ - "RoleBinding", - "ClusterRoleBinding" - ] - } + "creationTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "name": { + "type": "string" + }, + "namespaces": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" } + }, + "uid": { + "type": "string" } } - } - }, - "cronJobs": { - "type": "array", - "items": { - "description": "Cluster workload cronjob summary", + }, + "metadata": { + "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", "type": "object", "properties": { - "metadata": { - "description": "Cluster workload metadata", + "annotations": { + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", - "properties": { - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "entity": { - "description": "Cluster workload ref", - "type": "object", - "properties": { - "kind": { - "type": "string" - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "namespace": { - "type": "string" - } + "additionalProperties": { + "type": "string" } }, - "spec": { - "description": "Cluster workload cronjob spec", - "type": "object", - "properties": { - "schedule": { - "type": "string" - } - } + "creationTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" }, - "status": { - "description": "Cluster workload cronjob status", + "deletionTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "labels": { + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", - "properties": { - "lastScheduleTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - } + "additionalProperties": { + "type": "string" } + }, + "lastModifiedTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "name": { + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + }, + "uid": { + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", + "type": "string" } } - } - }, - "daemonSets": { - "type": "array", - "items": { - "description": "Cluster workload daemonset summary", - "type": "object", + }, + "spec": { + "description": "Workspace spec summary", "properties": { - "metadata": { - "description": "Cluster workload metadata", - "type": "object", - "properties": { - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "entity": { - "description": "Cluster workload ref", - "type": "object", - "properties": { - "kind": { - "type": "string" - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - }, - "labels": { - "type": "object", - "additionalProperties": { + "clusterRefs": { + "type": "array", + "uniqueItems": true, + "items": { + "description": "Workspace cluster reference", + "properties": { + "name": { + "type": "string" + }, + "uid": { "type": "string" } - }, - "namespace": { - "type": "string" } } }, - "status": { - "description": "Cluster workload daemonset status", - "type": "object", - "properties": { - "available": { - "type": "integer", - "format": "int32" - }, - "currentScheduled": { - "type": "integer", - "format": "int32" - }, - "desiredScheduled": { - "type": "integer", - "format": "int32" - }, - "misScheduled": { - "type": "integer", - "format": "int32" - }, - "ready": { - "type": "integer", - "format": "int32" - }, - "updatedScheduled": { - "type": "integer", - "format": "int32" - } + "namespaces": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" } - } - } - } - }, - "deployments": { - "type": "array", - "items": { - "description": "Cluster workload deployment summary", - "type": "object", - "properties": { - "metadata": { - "description": "Cluster workload metadata", - "type": "object", + }, + "quota": { + "description": "Workspace resource quota", "properties": { - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "entity": { - "description": "Cluster workload ref", - "type": "object", + "resourceAllocation": { + "description": "Workspace quota resource allocation", "properties": { - "kind": { - "type": "string" - }, - "name": { - "type": "string" + "cpu": { + "type": "number", + "minimum": 0, + "exclusiveMinimum": true }, - "uid": { - "type": "string" + "memory": { + "type": "number", + "minimum": 0, + "exclusiveMinimum": true } } - }, - "labels": { - "type": "object", - "additionalProperties": { + } + } + } + } + }, + "status": { + "description": "Workspace status", + "properties": { + "namespaces": { + "type": "array", + "uniqueItems": true, + "items": { + "description": "Workspace namespace allocation", + "properties": { + "name": { "type": "string" + }, + "total": { + "description": "Workspace allocation", + "properties": { + "cpu": { + "description": "Workspace resource allocation", + "properties": { + "allocated": { + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "usage": { + "type": "number", + "format": "float64", + "x-omitempty": false + } + } + }, + "memory": { + "description": "Workspace resource allocation", + "properties": { + "allocated": { + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "usage": { + "type": "number", + "format": "float64", + "x-omitempty": false + } + } + } + } } - }, - "namespace": { - "type": "string" } } }, - "status": { - "description": "Cluster workload deployment status", - "type": "object", + "total": { + "description": "Workspace allocation", "properties": { - "replicas": { - "description": "Cluster workload replica status", - "type": "object", + "cpu": { + "description": "Workspace resource allocation", "properties": { - "available": { - "type": "integer", - "format": "int32", + "allocated": { + "type": "number", + "format": "float64", "x-omitempty": false }, - "ready": { - "type": "integer", - "format": "int32", + "usage": { + "type": "number", + "format": "float64", "x-omitempty": false - }, - "total": { - "type": "integer", - "format": "int32", + } + } + }, + "memory": { + "description": "Workspace resource allocation", + "properties": { + "allocated": { + "type": "number", + "format": "float64", "x-omitempty": false }, - "updated": { - "type": "integer", - "format": "int32", + "usage": { + "type": "number", + "format": "float64", "x-omitempty": false } } @@ -86400,115 +81425,100 @@ } } } - }, - "jobs": { + } + } + }, + "memoryUnit": { + "type": "string" + } + } + } + } + } + } + }, + "/v1/dashboard/workspaces/{uid}/spectroclusters/workloads/clusterrolebinding": { + "post": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Retrieves specified workspace clusters workload clusterrolebindings", + "operationId": "v1DashboardWorkspacesUidSpectroClustersWorkloadsClusterRoleBinding", + "parameters": [ + { + "name": "body", + "in": "body", + "schema": { + "description": "Workspace workloads spec", + "type": "object", + "properties": { + "filter": { + "description": "Workspace workloads filter", + "type": "object", + "properties": { + "clusters": { "type": "array", + "uniqueItems": true, "items": { - "description": "Cluster workload job summary", - "type": "object", - "properties": { - "metadata": { - "description": "Cluster workload metadata", - "type": "object", - "properties": { - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "entity": { - "description": "Cluster workload ref", - "type": "object", - "properties": { - "kind": { - "type": "string" - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "namespace": { - "type": "string" - } - } - }, - "status": { - "description": "Cluster workload job status", - "type": "object", - "properties": { - "completionTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "conditions": { - "type": "array", - "items": { - "description": "Cluster workload condition", - "type": "object", - "properties": { - "lastTransitionTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "lastUpdateTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "message": { - "type": "string" - }, - "reason": { - "type": "string" - }, - "status": { - "type": "string" - }, - "type": { - "type": "string" - } - } - } - }, - "startTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "succeeded": { - "type": "integer", - "format": "int32" - } - } - } - } + "type": "string" } }, - "pods": { + "namespaces": { "type": "array", + "uniqueItems": true, "items": { - "description": "Cluster workload pod summary", - "type": "object", - "properties": { - "metadata": { - "description": "Cluster workload pod metadata", - "type": "object", - "properties": { - "associatedRefs": { - "type": "array", - "items": { + "type": "string" + } + } + } + } + } + } + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "200": { + "description": "An array of clusters workload clusterrolebindings", + "schema": { + "description": "Workspace clusters workload rbac bindings summary", + "type": "object", + "properties": { + "clusters": { + "type": "array", + "items": { + "description": "Workspace cluster workload rbac bindings summary", + "type": "object", + "properties": { + "bindings": { + "type": "array", + "items": { + "description": "Cluster workload rbac binding summary", + "type": "object", + "properties": { + "metadata": { + "description": "Cluster workload metadata", + "type": "object", + "properties": { + "creationTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "entity": { "description": "Cluster workload ref", "type": "object", "properties": { @@ -86522,376 +81532,126 @@ "type": "string" } } - } - }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "entity": { - "description": "Cluster workload ref", - "type": "object", - "properties": { - "kind": { - "type": "string" - }, - "name": { - "type": "string" - }, - "uid": { + }, + "labels": { + "type": "object", + "additionalProperties": { "type": "string" } - } - }, - "labels": { - "type": "object", - "additionalProperties": { + }, + "namespace": { "type": "string" } - }, - "machineUid": { - "type": "string" - }, - "namespace": { - "type": "string" - }, - "nodename": { - "type": "string" } - } - }, - "spec": { - "description": "Cluster workload pod spec", - "type": "object", - "properties": { - "containers": { - "type": "array", - "items": { - "description": "Cluster workload pod container", + }, + "spec": { + "description": "Cluster RBAC binding", + "type": "object", + "properties": { + "namespace": { + "type": "string" + }, + "role": { + "description": "Cluster role ref", "type": "object", "properties": { - "image": { - "type": "string" + "kind": { + "type": "string", + "enum": [ + "Role", + "ClusterRole" + ] }, "name": { "type": "string" - }, - "resources": { - "description": "Cluster workload pod container resources", - "type": "object", - "properties": { - "limits": { - "description": "Cluster workload pod container resource", - "type": "object", - "properties": { - "cpu": { - "type": "integer", - "format": "int32", - "x-omitempty": false - }, - "cpuUnit": { - "type": "string" - }, - "memory": { - "type": "integer", - "format": "int64", - "x-omitempty": false - }, - "memoryUnit": { - "type": "string" - } - } - }, - "requests": { - "description": "Cluster workload pod container resource", - "type": "object", - "properties": { - "cpu": { - "type": "integer", - "format": "int32", - "x-omitempty": false - }, - "cpuUnit": { - "type": "string" - }, - "memory": { - "type": "integer", - "format": "int64", - "x-omitempty": false - }, - "memoryUnit": { - "type": "string" - } - } - } - } } } - } - }, - "volumes": { - "type": "array", - "items": { - "description": "Cluster workload pod volume", - "type": "object", - "properties": { - "name": { - "type": "string" + }, + "subjects": { + "type": "array", + "uniqueItems": true, + "items": { + "description": "Cluster role ref", + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "namespace": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "User", + "Group", + "ServiceAccount" + ] + } } } + }, + "type": { + "type": "string", + "enum": [ + "RoleBinding", + "ClusterRoleBinding" + ] } } } + } + } + }, + "metadata": { + "description": "Object for which the resource is related", + "type": "object", + "properties": { + "kind": { + "type": "string", + "enum": [ + "spectrocluster", + "machine", + "cloudconfig", + "clusterprofile", + "pack", + "appprofile", + "appdeployment", + "edgehost" + ] }, - "status": { - "description": "Cluster workload pod status", - "type": "object", - "properties": { - "containers": { - "type": "array", - "items": { - "description": "Cluster workload pod container status", - "type": "object", - "properties": { - "image": { - "type": "string" - }, - "name": { - "type": "string" - }, - "ready": { - "type": "boolean", - "x-omitempty": false - }, - "restartCount": { - "type": "integer", - "format": "int32", - "x-omitempty": false - }, - "started": { - "type": "boolean", - "x-omitempty": false - }, - "state": { - "description": "Cluster workload pod container state", - "type": "object", - "properties": { - "exitCode": { - "type": "integer", - "format": "int32", - "x-omitempty": false - }, - "finishedAt": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "reason": { - "type": "string" - }, - "startedAt": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "state": { - "type": "string" - } - } - } - } - } - }, - "phase": { - "type": "string" - }, - "podIp": { - "type": "string" - }, - "qosClass": { - "type": "string" - } - } - } - } - } - }, - "roleBindings": { - "type": "array", - "items": { - "description": "Cluster workload rbac binding summary", - "type": "object", - "properties": { - "metadata": { - "description": "Cluster workload metadata", - "type": "object", - "properties": { - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "entity": { - "description": "Cluster workload ref", - "type": "object", - "properties": { - "kind": { - "type": "string" - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "namespace": { - "type": "string" - } - } + "name": { + "type": "string" }, - "spec": { - "description": "Cluster RBAC binding", - "type": "object", - "properties": { - "namespace": { - "type": "string" - }, - "role": { - "description": "Cluster role ref", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "Role", - "ClusterRole" - ] - }, - "name": { - "type": "string" - } - } - }, - "subjects": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Cluster role ref", - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "namespace": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "User", - "Group", - "ServiceAccount" - ] - } - } - } - }, - "type": { - "type": "string", - "enum": [ - "RoleBinding", - "ClusterRoleBinding" - ] - } - } + "uid": { + "type": "string" } } } + } + } + }, + "metadata": { + "description": "ObjectMeta input entity for object creation", + "type": "object", + "properties": { + "annotations": { + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", + "type": "object", + "additionalProperties": { + "type": "string" + } }, - "statefulSets": { - "type": "array", - "items": { - "description": "Cluster workload statefulset summary", - "type": "object", - "properties": { - "metadata": { - "description": "Cluster workload metadata", - "type": "object", - "properties": { - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "entity": { - "description": "Cluster workload ref", - "type": "object", - "properties": { - "kind": { - "type": "string" - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "namespace": { - "type": "string" - } - } - }, - "status": { - "description": "Cluster workload statefulset status", - "type": "object", - "properties": { - "replicas": { - "description": "Cluster workload replica status", - "type": "object", - "properties": { - "available": { - "type": "integer", - "format": "int32", - "x-omitempty": false - }, - "ready": { - "type": "integer", - "format": "int32", - "x-omitempty": false - }, - "total": { - "type": "integer", - "format": "int32", - "x-omitempty": false - }, - "updated": { - "type": "integer", - "format": "int32", - "x-omitempty": false - } - } - } - } - } - } + "labels": { + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", + "type": "object", + "additionalProperties": { + "type": "string" } + }, + "name": { + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" } } } @@ -86909,7 +81669,7 @@ } ] }, - "/v1/dashboard/spectroclusters/{uid}/workloads/clusterrolebinding": { + "/v1/dashboard/workspaces/{uid}/spectroclusters/workloads/cronjob": { "post": { "security": [ { @@ -86922,20 +81682,27 @@ "tags": [ "v1" ], - "summary": "Retrieves specified cluster workload clusterrolebindings", - "operationId": "v1DashboardSpectroClustersUidWorkloadsClusterRoleBinding", + "summary": "Retrieves specified workspace clusters workload cronjobs", + "operationId": "v1DashboardWorkspacesUidSpectroClustersWorkloadsCronJob", "parameters": [ { "name": "body", "in": "body", "schema": { - "description": "Cluster workloads spec", + "description": "Workspace workloads spec", "type": "object", "properties": { "filter": { - "description": "Cluster workloads filter", + "description": "Workspace workloads filter", "type": "object", "properties": { + "clusters": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + }, "namespaces": { "type": "array", "uniqueItems": true, @@ -86957,110 +81724,132 @@ ], "responses": { "200": { - "description": "An array of cluster workload clusterrolebindings", + "description": "An array of clusters workload cronjobs", "schema": { - "description": "Cluster workload rbac bindings summary", + "description": "Workspace clusters workload cronjobs summary", "type": "object", "properties": { - "bindings": { + "clusters": { "type": "array", "items": { - "description": "Cluster workload rbac binding summary", + "description": "Workspace cluster workload cronjobs summary", "type": "object", "properties": { - "metadata": { - "description": "Cluster workload metadata", - "type": "object", - "properties": { - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "entity": { - "description": "Cluster workload ref", - "type": "object", - "properties": { - "kind": { - "type": "string" - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "namespace": { - "type": "string" - } - } - }, - "spec": { - "description": "Cluster RBAC binding", - "type": "object", - "properties": { - "namespace": { - "type": "string" - }, - "role": { - "description": "Cluster role ref", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "Role", - "ClusterRole" - ] - }, - "name": { - "type": "string" - } - } - }, - "subjects": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Cluster role ref", + "cronjobs": { + "type": "array", + "items": { + "description": "Cluster workload cronjob summary", + "type": "object", + "properties": { + "metadata": { + "description": "Cluster workload metadata", "type": "object", "properties": { - "name": { - "type": "string" + "creationTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "entity": { + "description": "Cluster workload ref", + "type": "object", + "properties": { + "kind": { + "type": "string" + }, + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + } + }, + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + } }, "namespace": { "type": "string" - }, - "type": { + } + } + }, + "spec": { + "description": "Cluster workload cronjob spec", + "type": "object", + "properties": { + "schedule": { + "type": "string" + } + } + }, + "status": { + "description": "Cluster workload cronjob status", + "type": "object", + "properties": { + "lastScheduleTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", "type": "string", - "enum": [ - "User", - "Group", - "ServiceAccount" - ] + "format": "date-time" } } } - }, - "type": { + } + } + }, + "metadata": { + "description": "Object for which the resource is related", + "type": "object", + "properties": { + "kind": { "type": "string", "enum": [ - "RoleBinding", - "ClusterRoleBinding" + "spectrocluster", + "machine", + "cloudconfig", + "clusterprofile", + "pack", + "appprofile", + "appdeployment", + "edgehost" ] + }, + "name": { + "type": "string" + }, + "uid": { + "type": "string" } } } } } + }, + "metadata": { + "description": "ObjectMeta input entity for object creation", + "type": "object", + "properties": { + "annotations": { + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "labels": { + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "name": { + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + } + } } } } @@ -87076,7 +81865,7 @@ } ] }, - "/v1/dashboard/spectroclusters/{uid}/workloads/cronjob": { + "/v1/dashboard/workspaces/{uid}/spectroclusters/workloads/daemonset": { "post": { "security": [ { @@ -87089,20 +81878,27 @@ "tags": [ "v1" ], - "summary": "Retrieves specified cluster workload cronjobs", - "operationId": "v1DashboardSpectroClustersUidWorkloadsCronJob", + "summary": "Retrieves specified workspace clusters workload daemonsets", + "operationId": "v1DashboardWorkspacesUidSpectroClustersWorkloadsDaemonSet", "parameters": [ { "name": "body", "in": "body", "schema": { - "description": "Cluster workloads spec", + "description": "Workspace workloads spec", "type": "object", "properties": { "filter": { - "description": "Cluster workloads filter", + "description": "Workspace workloads filter", "type": "object", "properties": { + "clusters": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + }, "namespaces": { "type": "array", "uniqueItems": true, @@ -87124,74 +81920,142 @@ ], "responses": { "200": { - "description": "An array of cluster workload cronjobs", + "description": "An array of clusters workload daemonsets", "schema": { - "description": "Cluster workload cronjobs summary", + "description": "Workspace clusters workload statefulsets summary", "type": "object", "properties": { - "cronJobs": { + "clusters": { "type": "array", "items": { - "description": "Cluster workload cronjob summary", + "description": "Workspace cluster workload daemonsets summary", "type": "object", "properties": { - "metadata": { - "description": "Cluster workload metadata", - "type": "object", - "properties": { - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "entity": { - "description": "Cluster workload ref", - "type": "object", - "properties": { - "kind": { - "type": "string" - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" + "daemonSets": { + "type": "array", + "items": { + "description": "Cluster workload daemonset summary", + "type": "object", + "properties": { + "metadata": { + "description": "Cluster workload metadata", + "type": "object", + "properties": { + "creationTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "entity": { + "description": "Cluster workload ref", + "type": "object", + "properties": { + "kind": { + "type": "string" + }, + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + } + }, + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "namespace": { + "type": "string" + } + } + }, + "status": { + "description": "Cluster workload daemonset status", + "type": "object", + "properties": { + "available": { + "type": "integer", + "format": "int32" + }, + "currentScheduled": { + "type": "integer", + "format": "int32" + }, + "desiredScheduled": { + "type": "integer", + "format": "int32" + }, + "misScheduled": { + "type": "integer", + "format": "int32" + }, + "ready": { + "type": "integer", + "format": "int32" + }, + "updatedScheduled": { + "type": "integer", + "format": "int32" + } } } - }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "namespace": { - "type": "string" - } - } - }, - "spec": { - "description": "Cluster workload cronjob spec", - "type": "object", - "properties": { - "schedule": { - "type": "string" } } }, - "status": { - "description": "Cluster workload cronjob status", + "metadata": { + "description": "Object for which the resource is related", "type": "object", "properties": { - "lastScheduleTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "kind": { "type": "string", - "format": "date-time" + "enum": [ + "spectrocluster", + "machine", + "cloudconfig", + "clusterprofile", + "pack", + "appprofile", + "appdeployment", + "edgehost" + ] + }, + "name": { + "type": "string" + }, + "uid": { + "type": "string" } } } } } + }, + "metadata": { + "description": "ObjectMeta input entity for object creation", + "type": "object", + "properties": { + "annotations": { + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "labels": { + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "name": { + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + } + } } } } @@ -87207,7 +82071,7 @@ } ] }, - "/v1/dashboard/spectroclusters/{uid}/workloads/daemonset": { + "/v1/dashboard/workspaces/{uid}/spectroclusters/workloads/deployment": { "post": { "security": [ { @@ -87220,20 +82084,27 @@ "tags": [ "v1" ], - "summary": "Retrieves specified cluster workload daemonsets", - "operationId": "v1DashboardSpectroClustersUidWorkloadsDaemonSet", + "summary": "Retrieves specified workspace clusters workload deployments", + "operationId": "v1DashboardWorkspacesUidSpectroClustersWorkloadsDeployment", "parameters": [ { "name": "body", "in": "body", "schema": { - "description": "Cluster workloads spec", + "description": "Workspace workloads spec", "type": "object", "properties": { "filter": { - "description": "Cluster workloads filter", + "description": "Workspace workloads filter", "type": "object", "properties": { + "clusters": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + }, "namespaces": { "type": "array", "uniqueItems": true, @@ -87255,84 +82126,144 @@ ], "responses": { "200": { - "description": "An array of cluster workload daemonsets", + "description": "An array of clusters workload deployments", "schema": { - "description": "Cluster workload daemonset summary", + "description": "Workspace clusters workload deployments summary", "type": "object", "properties": { - "daemonSets": { + "clusters": { "type": "array", "items": { - "description": "Cluster workload daemonset summary", + "description": "Workspace cluster workload deployments summary", "type": "object", "properties": { - "metadata": { - "description": "Cluster workload metadata", - "type": "object", - "properties": { - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "entity": { - "description": "Cluster workload ref", - "type": "object", - "properties": { - "kind": { - "type": "string" - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" + "deployments": { + "type": "array", + "items": { + "description": "Cluster workload deployment summary", + "type": "object", + "properties": { + "metadata": { + "description": "Cluster workload metadata", + "type": "object", + "properties": { + "creationTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "entity": { + "description": "Cluster workload ref", + "type": "object", + "properties": { + "kind": { + "type": "string" + }, + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + } + }, + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "namespace": { + "type": "string" + } + } + }, + "status": { + "description": "Cluster workload deployment status", + "type": "object", + "properties": { + "replicas": { + "description": "Cluster workload replica status", + "type": "object", + "properties": { + "available": { + "type": "integer", + "format": "int32", + "x-omitempty": false + }, + "ready": { + "type": "integer", + "format": "int32", + "x-omitempty": false + }, + "total": { + "type": "integer", + "format": "int32", + "x-omitempty": false + }, + "updated": { + "type": "integer", + "format": "int32", + "x-omitempty": false + } + } + } } } - }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "namespace": { - "type": "string" } } }, - "status": { - "description": "Cluster workload daemonset status", + "metadata": { + "description": "Object for which the resource is related", "type": "object", "properties": { - "available": { - "type": "integer", - "format": "int32" - }, - "currentScheduled": { - "type": "integer", - "format": "int32" - }, - "desiredScheduled": { - "type": "integer", - "format": "int32" - }, - "misScheduled": { - "type": "integer", - "format": "int32" + "kind": { + "type": "string", + "enum": [ + "spectrocluster", + "machine", + "cloudconfig", + "clusterprofile", + "pack", + "appprofile", + "appdeployment", + "edgehost" + ] }, - "ready": { - "type": "integer", - "format": "int32" + "name": { + "type": "string" }, - "updatedScheduled": { - "type": "integer", - "format": "int32" + "uid": { + "type": "string" } } } } } + }, + "metadata": { + "description": "ObjectMeta input entity for object creation", + "type": "object", + "properties": { + "annotations": { + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "labels": { + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "name": { + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + } + } } } } @@ -87348,7 +82279,7 @@ } ] }, - "/v1/dashboard/spectroclusters/{uid}/workloads/deployment": { + "/v1/dashboard/workspaces/{uid}/spectroclusters/workloads/job": { "post": { "security": [ { @@ -87361,20 +82292,27 @@ "tags": [ "v1" ], - "summary": "Retrieves specified cluster workload deployments", - "operationId": "v1DashboardSpectroClustersUidWorkloadsDeployment", + "summary": "Retrieves specified workspace clusters workload jobs", + "operationId": "v1DashboardWorkspacesUidSpectroClustersWorkloadsJob", "parameters": [ { "name": "body", "in": "body", "schema": { - "description": "Cluster workloads spec", + "description": "Workspace workloads spec", "type": "object", "properties": { "filter": { - "description": "Cluster workloads filter", + "description": "Workspace workloads filter", "type": "object", "properties": { + "clusters": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + }, "namespaces": { "type": "array", "uniqueItems": true, @@ -87396,86 +82334,163 @@ ], "responses": { "200": { - "description": "An array of cluster workload deployments", + "description": "An array of clusters workload jobs", "schema": { - "description": "Cluster workload deployments summary", + "description": "Workspace clusters workload jobs summary", "type": "object", "properties": { - "deployments": { + "clusters": { "type": "array", "items": { - "description": "Cluster workload deployment summary", + "description": "Workspace cluster workload jobs summary", "type": "object", "properties": { + "jobs": { + "type": "array", + "items": { + "description": "Cluster workload job summary", + "type": "object", + "properties": { + "metadata": { + "description": "Cluster workload metadata", + "type": "object", + "properties": { + "creationTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "entity": { + "description": "Cluster workload ref", + "type": "object", + "properties": { + "kind": { + "type": "string" + }, + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + } + }, + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "namespace": { + "type": "string" + } + } + }, + "status": { + "description": "Cluster workload job status", + "type": "object", + "properties": { + "completionTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "conditions": { + "type": "array", + "items": { + "description": "Cluster workload condition", + "type": "object", + "properties": { + "lastTransitionTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "lastUpdateTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "message": { + "type": "string" + }, + "reason": { + "type": "string" + }, + "status": { + "type": "string" + }, + "type": { + "type": "string" + } + } + } + }, + "startTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "succeeded": { + "type": "integer", + "format": "int32" + } + } + } + } + } + }, "metadata": { - "description": "Cluster workload metadata", + "description": "Object for which the resource is related", "type": "object", "properties": { - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "kind": { "type": "string", - "format": "date-time" - }, - "entity": { - "description": "Cluster workload ref", - "type": "object", - "properties": { - "kind": { - "type": "string" - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } + "enum": [ + "spectrocluster", + "machine", + "cloudconfig", + "clusterprofile", + "pack", + "appprofile", + "appdeployment", + "edgehost" + ] }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - } + "name": { + "type": "string" }, - "namespace": { + "uid": { "type": "string" } } - }, - "status": { - "description": "Cluster workload deployment status", - "type": "object", - "properties": { - "replicas": { - "description": "Cluster workload replica status", - "type": "object", - "properties": { - "available": { - "type": "integer", - "format": "int32", - "x-omitempty": false - }, - "ready": { - "type": "integer", - "format": "int32", - "x-omitempty": false - }, - "total": { - "type": "integer", - "format": "int32", - "x-omitempty": false - }, - "updated": { - "type": "integer", - "format": "int32", - "x-omitempty": false - } - } - } - } } } } + }, + "metadata": { + "description": "ObjectMeta input entity for object creation", + "type": "object", + "properties": { + "annotations": { + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "labels": { + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "name": { + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + } + } } } } @@ -87491,7 +82506,7 @@ } ] }, - "/v1/dashboard/spectroclusters/{uid}/workloads/job": { + "/v1/dashboard/workspaces/{uid}/spectroclusters/workloads/namespace": { "post": { "security": [ { @@ -87504,20 +82519,27 @@ "tags": [ "v1" ], - "summary": "Retrieves specified cluster workload jobs", - "operationId": "v1DashboardSpectroClustersUidWorkloadsJob", + "summary": "Retrieves specified workspace clusters workload namespaces", + "operationId": "v1DashboardWorkspacesUidSpectroClustersWorkloadsNamespace", "parameters": [ { "name": "body", "in": "body", "schema": { - "description": "Cluster workloads spec", + "description": "Workspace workloads spec", "type": "object", "properties": { "filter": { - "description": "Cluster workloads filter", + "description": "Workspace workloads filter", "type": "object", "properties": { + "clusters": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + }, "namespaces": { "type": "array", "uniqueItems": true, @@ -87539,222 +82561,119 @@ ], "responses": { "200": { - "description": "An array of cluster workload jobs", + "description": "An array of clusters workload namespaces", "schema": { - "description": "Cluster workload jobs summary", + "description": "Workspace clusters workload namespaces summary", "type": "object", "properties": { - "jobs": { + "clusters": { "type": "array", "items": { - "description": "Cluster workload job summary", + "description": "Workspace cluster workload namespaces summary", "type": "object", "properties": { "metadata": { - "description": "Cluster workload metadata", + "description": "Object for which the resource is related", "type": "object", "properties": { - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "kind": { "type": "string", - "format": "date-time" - }, - "entity": { - "description": "Cluster workload ref", - "type": "object", - "properties": { - "kind": { - "type": "string" - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } + "enum": [ + "spectrocluster", + "machine", + "cloudconfig", + "clusterprofile", + "pack", + "appprofile", + "appdeployment", + "edgehost" + ] }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - } + "name": { + "type": "string" }, - "namespace": { + "uid": { "type": "string" } } }, - "status": { - "description": "Cluster workload job status", - "type": "object", - "properties": { - "completionTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "conditions": { - "type": "array", - "items": { - "description": "Cluster workload condition", + "namespaces": { + "type": "array", + "items": { + "description": "Cluster workload namespace summary", + "type": "object", + "properties": { + "metadata": { + "description": "Cluster workload metadata", "type": "object", "properties": { - "lastTransitionTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "lastUpdateTime": { + "creationTimestamp": { "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", "type": "string", "format": "date-time" }, - "message": { - "type": "string" + "entity": { + "description": "Cluster workload ref", + "type": "object", + "properties": { + "kind": { + "type": "string" + }, + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + } }, - "reason": { - "type": "string" + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + } }, - "status": { + "namespace": { "type": "string" - }, - "type": { + } + } + }, + "status": { + "description": "Cluster workload namespace status", + "type": "object", + "properties": { + "phase": { "type": "string" } } } - }, - "startTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "succeeded": { - "type": "integer", - "format": "int32" } } } } } - } - } - } - } - } - }, - "parameters": [ - { - "type": "string", - "name": "uid", - "in": "path", - "required": true - } - ] - }, - "/v1/dashboard/spectroclusters/{uid}/workloads/namespace": { - "post": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Retrieves specified cluster workload namespaces", - "operationId": "v1DashboardSpectroClustersUidWorkloadsNamespace", - "parameters": [ - { - "name": "body", - "in": "body", - "schema": { - "description": "Cluster workloads spec", - "type": "object", - "properties": { - "filter": { - "description": "Cluster workloads filter", + }, + "metadata": { + "description": "ObjectMeta input entity for object creation", "type": "object", "properties": { - "namespaces": { - "type": "array", - "uniqueItems": true, - "items": { + "annotations": { + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", + "type": "object", + "additionalProperties": { "type": "string" } - } - } - } - } - } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "An array of cluster workload namespaces", - "schema": { - "description": "Cluster workload namespaces summary", - "properties": { - "namespaces": { - "type": "array", - "items": { - "description": "Cluster workload namespace summary", - "type": "object", - "properties": { - "metadata": { - "description": "Cluster workload metadata", - "type": "object", - "properties": { - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "entity": { - "description": "Cluster workload ref", - "type": "object", - "properties": { - "kind": { - "type": "string" - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "namespace": { - "type": "string" - } - } - }, - "status": { - "description": "Cluster workload namespace status", - "type": "object", - "properties": { - "phase": { - "type": "string" - } - } + }, + "labels": { + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", + "type": "object", + "additionalProperties": { + "type": "string" } + }, + "name": { + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" } } } @@ -87772,7 +82691,7 @@ } ] }, - "/v1/dashboard/spectroclusters/{uid}/workloads/pod": { + "/v1/dashboard/workspaces/{uid}/spectroclusters/workloads/pod": { "post": { "security": [ { @@ -87785,20 +82704,27 @@ "tags": [ "v1" ], - "summary": "Retrieves specified cluster workload pods", - "operationId": "v1DashboardSpectroClustersUidWorkloadsPod", + "summary": "Retrieves specified workspace clusters workload pods", + "operationId": "v1DashboardWorkspacesUidSpectroClustersWorkloadsPod", "parameters": [ { "name": "body", "in": "body", "schema": { - "description": "Cluster workloads spec", + "description": "Workspace workloads spec", "type": "object", "properties": { "filter": { - "description": "Cluster workloads filter", + "description": "Workspace workloads filter", "type": "object", "properties": { + "clusters": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + }, "namespaces": { "type": "array", "uniqueItems": true, @@ -87820,230 +82746,289 @@ ], "responses": { "200": { - "description": "An array of cluster workload pods", + "description": "An array of clusters workload pods", "schema": { - "description": "Cluster workload pods summary", + "description": "Workspace clusters workload pods summary", + "type": "object", "properties": { - "pods": { + "clusters": { "type": "array", "items": { - "description": "Cluster workload pod summary", + "description": "Workspace cluster workload pods summary", "type": "object", "properties": { "metadata": { - "description": "Cluster workload pod metadata", + "description": "Object for which the resource is related", "type": "object", "properties": { - "associatedRefs": { - "type": "array", - "items": { - "description": "Cluster workload ref", - "type": "object", - "properties": { - "kind": { - "type": "string" - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - } - }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "kind": { "type": "string", - "format": "date-time" - }, - "entity": { - "description": "Cluster workload ref", - "type": "object", - "properties": { - "kind": { - "type": "string" - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "machineUid": { - "type": "string" + "enum": [ + "spectrocluster", + "machine", + "cloudconfig", + "clusterprofile", + "pack", + "appprofile", + "appdeployment", + "edgehost" + ] }, - "namespace": { + "name": { "type": "string" }, - "nodename": { + "uid": { "type": "string" } } }, - "spec": { - "description": "Cluster workload pod spec", - "type": "object", - "properties": { - "containers": { - "type": "array", - "items": { - "description": "Cluster workload pod container", + "pods": { + "type": "array", + "items": { + "description": "Cluster workload pod summary", + "type": "object", + "properties": { + "metadata": { + "description": "Cluster workload pod metadata", "type": "object", "properties": { - "image": { - "type": "string" + "associatedRefs": { + "type": "array", + "items": { + "description": "Cluster workload ref", + "type": "object", + "properties": { + "kind": { + "type": "string" + }, + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + } + } }, - "name": { - "type": "string" + "creationTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" }, - "resources": { - "description": "Cluster workload pod container resources", + "entity": { + "description": "Cluster workload ref", "type": "object", "properties": { - "limits": { - "description": "Cluster workload pod container resource", - "type": "object", - "properties": { - "cpu": { - "type": "integer", - "format": "int32", - "x-omitempty": false - }, - "cpuUnit": { - "type": "string" - }, - "memory": { - "type": "integer", - "format": "int64", - "x-omitempty": false - }, - "memoryUnit": { - "type": "string" - } - } + "kind": { + "type": "string" }, - "requests": { - "description": "Cluster workload pod container resource", - "type": "object", - "properties": { - "cpu": { - "type": "integer", - "format": "int32", - "x-omitempty": false - }, - "cpuUnit": { - "type": "string" - }, - "memory": { - "type": "integer", - "format": "int64", - "x-omitempty": false - }, - "memoryUnit": { - "type": "string" - } - } + "name": { + "type": "string" + }, + "uid": { + "type": "string" } } + }, + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "machineUid": { + "type": "string" + }, + "namespace": { + "type": "string" + }, + "nodename": { + "type": "string" } } - } - }, - "volumes": { - "type": "array", - "items": { - "description": "Cluster workload pod volume", + }, + "spec": { + "description": "Cluster workload pod spec", "type": "object", "properties": { - "name": { - "type": "string" + "containers": { + "type": "array", + "items": { + "description": "Cluster workload pod container", + "type": "object", + "properties": { + "image": { + "type": "string" + }, + "name": { + "type": "string" + }, + "resources": { + "description": "Cluster workload pod container resources", + "type": "object", + "properties": { + "limits": { + "description": "Cluster workload pod container resource", + "type": "object", + "properties": { + "cpu": { + "type": "integer", + "format": "int32", + "x-omitempty": false + }, + "cpuUnit": { + "type": "string" + }, + "memory": { + "type": "integer", + "format": "int64", + "x-omitempty": false + }, + "memoryUnit": { + "type": "string" + } + } + }, + "requests": { + "description": "Cluster workload pod container resource", + "type": "object", + "properties": { + "cpu": { + "type": "integer", + "format": "int32", + "x-omitempty": false + }, + "cpuUnit": { + "type": "string" + }, + "memory": { + "type": "integer", + "format": "int64", + "x-omitempty": false + }, + "memoryUnit": { + "type": "string" + } + } + } + } + } + } + } + }, + "volumes": { + "type": "array", + "items": { + "description": "Cluster workload pod volume", + "type": "object", + "properties": { + "name": { + "type": "string" + } + } + } } } - } - } - } - }, - "status": { - "description": "Cluster workload pod status", - "type": "object", - "properties": { - "containers": { - "type": "array", - "items": { - "description": "Cluster workload pod container status", + }, + "status": { + "description": "Cluster workload pod status", "type": "object", "properties": { - "image": { - "type": "string" + "containers": { + "type": "array", + "items": { + "description": "Cluster workload pod container status", + "type": "object", + "properties": { + "image": { + "type": "string" + }, + "name": { + "type": "string" + }, + "ready": { + "type": "boolean", + "x-omitempty": false + }, + "restartCount": { + "type": "integer", + "format": "int32", + "x-omitempty": false + }, + "started": { + "type": "boolean", + "x-omitempty": false + }, + "state": { + "description": "Cluster workload pod container state", + "type": "object", + "properties": { + "exitCode": { + "type": "integer", + "format": "int32", + "x-omitempty": false + }, + "finishedAt": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "reason": { + "type": "string" + }, + "startedAt": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "state": { + "type": "string" + } + } + } + } + } }, - "name": { + "phase": { "type": "string" }, - "ready": { - "type": "boolean", - "x-omitempty": false - }, - "restartCount": { - "type": "integer", - "format": "int32", - "x-omitempty": false - }, - "started": { - "type": "boolean", - "x-omitempty": false + "podIp": { + "type": "string" }, - "state": { - "description": "Cluster workload pod container state", - "type": "object", - "properties": { - "exitCode": { - "type": "integer", - "format": "int32", - "x-omitempty": false - }, - "finishedAt": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "reason": { - "type": "string" - }, - "startedAt": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "state": { - "type": "string" - } - } + "qosClass": { + "type": "string" } } } - }, - "phase": { - "type": "string" - }, - "podIp": { - "type": "string" - }, - "qosClass": { - "type": "string" } } } } } + }, + "metadata": { + "description": "ObjectMeta input entity for object creation", + "type": "object", + "properties": { + "annotations": { + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "labels": { + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "name": { + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + } + } } } } @@ -88059,7 +83044,7 @@ } ] }, - "/v1/dashboard/spectroclusters/{uid}/workloads/rolebinding": { + "/v1/dashboard/workspaces/{uid}/spectroclusters/workloads/rolebinding": { "post": { "security": [ { @@ -88072,20 +83057,27 @@ "tags": [ "v1" ], - "summary": "Retrieves specified cluster workload rolebindings", - "operationId": "v1DashboardSpectroClustersUidWorkloadsRoleBinding", + "summary": "Retrieves specified workspace clusters workload rolebindings", + "operationId": "v1DashboardWorkspacesUidSpectroClustersWorkloadsRoleBinding", "parameters": [ { "name": "body", "in": "body", "schema": { - "description": "Cluster workloads spec", + "description": "Workspace workloads spec", "type": "object", "properties": { "filter": { - "description": "Cluster workloads filter", + "description": "Workspace workloads filter", "type": "object", "properties": { + "clusters": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + }, "namespaces": { "type": "array", "uniqueItems": true, @@ -88107,110 +83099,168 @@ ], "responses": { "200": { - "description": "An array of cluster workload rolebindings", + "description": "An array of clusters workload rolebindings", "schema": { - "description": "Cluster workload rbac bindings summary", + "description": "Workspace clusters workload rbac bindings summary", "type": "object", "properties": { - "bindings": { + "clusters": { "type": "array", "items": { - "description": "Cluster workload rbac binding summary", + "description": "Workspace cluster workload rbac bindings summary", "type": "object", "properties": { - "metadata": { - "description": "Cluster workload metadata", - "type": "object", - "properties": { - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "entity": { - "description": "Cluster workload ref", - "type": "object", - "properties": { - "kind": { - "type": "string" - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "namespace": { - "type": "string" - } - } - }, - "spec": { - "description": "Cluster RBAC binding", - "type": "object", - "properties": { - "namespace": { - "type": "string" - }, - "role": { - "description": "Cluster role ref", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "Role", - "ClusterRole" - ] - }, - "name": { - "type": "string" - } - } - }, - "subjects": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Cluster role ref", + "bindings": { + "type": "array", + "items": { + "description": "Cluster workload rbac binding summary", + "type": "object", + "properties": { + "metadata": { + "description": "Cluster workload metadata", "type": "object", "properties": { - "name": { - "type": "string" + "creationTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "entity": { + "description": "Cluster workload ref", + "type": "object", + "properties": { + "kind": { + "type": "string" + }, + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + } + }, + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + } }, "namespace": { "type": "string" + } + } + }, + "spec": { + "description": "Cluster RBAC binding", + "type": "object", + "properties": { + "namespace": { + "type": "string" + }, + "role": { + "description": "Cluster role ref", + "type": "object", + "properties": { + "kind": { + "type": "string", + "enum": [ + "Role", + "ClusterRole" + ] + }, + "name": { + "type": "string" + } + } + }, + "subjects": { + "type": "array", + "uniqueItems": true, + "items": { + "description": "Cluster role ref", + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "namespace": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "User", + "Group", + "ServiceAccount" + ] + } + } + } }, "type": { "type": "string", "enum": [ - "User", - "Group", - "ServiceAccount" + "RoleBinding", + "ClusterRoleBinding" ] } } } - }, - "type": { + } + } + }, + "metadata": { + "description": "Object for which the resource is related", + "type": "object", + "properties": { + "kind": { "type": "string", "enum": [ - "RoleBinding", - "ClusterRoleBinding" + "spectrocluster", + "machine", + "cloudconfig", + "clusterprofile", + "pack", + "appprofile", + "appdeployment", + "edgehost" ] + }, + "name": { + "type": "string" + }, + "uid": { + "type": "string" } } } } } + }, + "metadata": { + "description": "ObjectMeta input entity for object creation", + "type": "object", + "properties": { + "annotations": { + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "labels": { + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "name": { + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + } + } } } } @@ -88226,7 +83276,7 @@ } ] }, - "/v1/dashboard/spectroclusters/{uid}/workloads/statefulset": { + "/v1/dashboard/workspaces/{uid}/spectroclusters/workloads/statefulset": { "post": { "security": [ { @@ -88239,20 +83289,27 @@ "tags": [ "v1" ], - "summary": "Retrieves specified cluster workload statefulsets", - "operationId": "v1DashboardSpectroClustersUidWorkloadsStatefulSet", + "summary": "Retrieves specified workspace clusters workload statefulsets", + "operationId": "v1DashboardWorkspacesUidSpectroClustersWorkloadsStatefulSet", "parameters": [ { "name": "body", "in": "body", "schema": { - "description": "Cluster workloads spec", + "description": "Workspace workloads spec", "type": "object", "properties": { "filter": { - "description": "Cluster workloads filter", + "description": "Workspace workloads filter", "type": "object", "properties": { + "clusters": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + }, "namespaces": { "type": "array", "uniqueItems": true, @@ -88274,447 +83331,46 @@ ], "responses": { "200": { - "description": "An array of cluster workload statefulsets", + "description": "An array of clusters workload statefulsets", "schema": { - "description": "Cluster workload statefulsets summary", + "description": "Workspace clusters workload statefulsets summary", "type": "object", "properties": { - "statefulSets": { + "clusters": { "type": "array", "items": { - "description": "Cluster workload statefulset summary", + "description": "Workspace cluster workload statefulsets summary", "type": "object", "properties": { "metadata": { - "description": "Cluster workload metadata", + "description": "Object for which the resource is related", "type": "object", "properties": { - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "kind": { "type": "string", - "format": "date-time" - }, - "entity": { - "description": "Cluster workload ref", - "type": "object", - "properties": { - "kind": { - "type": "string" - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } + "enum": [ + "spectrocluster", + "machine", + "cloudconfig", + "clusterprofile", + "pack", + "appprofile", + "appdeployment", + "edgehost" + ] }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - } + "name": { + "type": "string" }, - "namespace": { + "uid": { "type": "string" } } }, - "status": { - "description": "Cluster workload statefulset status", - "type": "object", - "properties": { - "replicas": { - "description": "Cluster workload replica status", - "type": "object", - "properties": { - "available": { - "type": "integer", - "format": "int32", - "x-omitempty": false - }, - "ready": { - "type": "integer", - "format": "int32", - "x-omitempty": false - }, - "total": { - "type": "integer", - "format": "int32", - "x-omitempty": false - }, - "updated": { - "type": "integer", - "format": "int32", - "x-omitempty": false - } - } - } - } - } - } - } - } - } - } - } - } - }, - "parameters": [ - { - "type": "string", - "name": "uid", - "in": "path", - "required": true - } - ] - }, - "/v1/dashboard/workspaces": { - "get": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Retrieves a list of workspace", - "operationId": "v1DashboardWorkspacesList", - "parameters": [ - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "An array of workspace", - "schema": { - "type": "object", - "required": [ - "items" - ], - "properties": { - "cpuUnit": { - "type": "string" - }, - "items": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Workspace information", - "properties": { - "meta": { - "description": "Deprecated. Workspace meta data", - "properties": { - "clusterNames": { - "description": "Deprecated. Use clusterRefs", - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - }, - "clusterRefs": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Workspace cluster reference", - "properties": { - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - } - }, - "creationTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "name": { - "type": "string" - }, - "namespaces": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - }, - "uid": { - "type": "string" - } - } - }, - "metadata": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", - "type": "object", - "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "name": { - "description": "Name of the resource.", - "type": "string" - }, - "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", - "type": "string" - } - } - }, - "spec": { - "description": "Workspace spec summary", - "properties": { - "clusterRefs": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Workspace cluster reference", - "properties": { - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - } - }, - "namespaces": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - }, - "quota": { - "description": "Workspace resource quota", - "properties": { - "resourceAllocation": { - "description": "Workspace quota resource allocation", - "properties": { - "cpu": { - "type": "number", - "minimum": 0, - "exclusiveMinimum": true - }, - "memory": { - "type": "number", - "minimum": 0, - "exclusiveMinimum": true - } - } - } - } - } - } - }, - "status": { - "description": "Workspace status", - "properties": { - "namespaces": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Workspace namespace allocation", - "properties": { - "name": { - "type": "string" - }, - "total": { - "description": "Workspace allocation", - "properties": { - "cpu": { - "description": "Workspace resource allocation", - "properties": { - "allocated": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "usage": { - "type": "number", - "format": "float64", - "x-omitempty": false - } - } - }, - "memory": { - "description": "Workspace resource allocation", - "properties": { - "allocated": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "usage": { - "type": "number", - "format": "float64", - "x-omitempty": false - } - } - } - } - } - } - } - }, - "total": { - "description": "Workspace allocation", - "properties": { - "cpu": { - "description": "Workspace resource allocation", - "properties": { - "allocated": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "usage": { - "type": "number", - "format": "float64", - "x-omitempty": false - } - } - }, - "memory": { - "description": "Workspace resource allocation", - "properties": { - "allocated": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "usage": { - "type": "number", - "format": "float64", - "x-omitempty": false - } - } - } - } - } - } - } - } - } - }, - "memoryUnit": { - "type": "string" - } - } - } - } - } - } - }, - "/v1/dashboard/workspaces/{uid}/spectroclusters/workloads/clusterrolebinding": { - "post": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Retrieves specified workspace clusters workload clusterrolebindings", - "operationId": "v1DashboardWorkspacesUidSpectroClustersWorkloadsClusterRoleBinding", - "parameters": [ - { - "name": "body", - "in": "body", - "schema": { - "description": "Workspace workloads spec", - "type": "object", - "properties": { - "filter": { - "description": "Workspace workloads filter", - "type": "object", - "properties": { - "clusters": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - }, - "namespaces": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - } - } - } - } - } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "An array of clusters workload clusterrolebindings", - "schema": { - "description": "Workspace clusters workload rbac bindings summary", - "type": "object", - "properties": { - "clusters": { - "type": "array", - "items": { - "description": "Workspace cluster workload rbac bindings summary", - "type": "object", - "properties": { - "bindings": { + "statefulSets": { "type": "array", "items": { - "description": "Cluster workload rbac binding summary", + "description": "Cluster workload statefulset summary", "type": "object", "properties": { "metadata": { @@ -88752,89 +83408,40 @@ } } }, - "spec": { - "description": "Cluster RBAC binding", + "status": { + "description": "Cluster workload statefulset status", "type": "object", "properties": { - "namespace": { - "type": "string" - }, - "role": { - "description": "Cluster role ref", + "replicas": { + "description": "Cluster workload replica status", "type": "object", "properties": { - "kind": { - "type": "string", - "enum": [ - "Role", - "ClusterRole" - ] + "available": { + "type": "integer", + "format": "int32", + "x-omitempty": false }, - "name": { - "type": "string" - } - } - }, - "subjects": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Cluster role ref", - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "namespace": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "User", - "Group", - "ServiceAccount" - ] - } + "ready": { + "type": "integer", + "format": "int32", + "x-omitempty": false + }, + "total": { + "type": "integer", + "format": "int32", + "x-omitempty": false + }, + "updated": { + "type": "integer", + "format": "int32", + "x-omitempty": false } } - }, - "type": { - "type": "string", - "enum": [ - "RoleBinding", - "ClusterRoleBinding" - ] } } } } } - }, - "metadata": { - "description": "Object for which the resource is related", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "spectrocluster", - "machine", - "cloudconfig", - "clusterprofile", - "pack", - "appprofile", - "appdeployment", - "edgehost" - ] - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } } } } @@ -88844,21 +83451,21 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } @@ -88877,7 +83484,7 @@ } ] }, - "/v1/dashboard/workspaces/{uid}/spectroclusters/workloads/cronjob": { + "/v1/datasinks/cloudwatch": { "post": { "security": [ { @@ -88887,193 +83494,140 @@ "Authorization": [] } ], + "description": "Sync data to cloud watch", "tags": [ "v1" ], - "summary": "Retrieves specified workspace clusters workload cronjobs", - "operationId": "v1DashboardWorkspacesUidSpectroClustersWorkloadsCronJob", + "summary": "sync data to cloud watch", + "operationId": "V1DataSinksCloudWatchSink", "parameters": [ { - "name": "body", + "description": "Request payload for cloud watch config", + "name": "dataSinkCloudWatchConfig", "in": "body", + "required": true, "schema": { - "description": "Workspace workloads spec", - "type": "object", - "properties": { - "filter": { - "description": "Workspace workloads filter", - "type": "object", - "properties": { - "clusters": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - }, - "namespaces": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - } - } - } - } - } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "An array of clusters workload cronjobs", - "schema": { - "description": "Workspace clusters workload cronjobs summary", + "description": "Data sink cloud watch config", "type": "object", "properties": { - "clusters": { + "payload": { + "description": "List of data sink payload entities", "type": "array", + "uniqueItems": true, "items": { - "description": "Workspace cluster workload cronjobs summary", + "description": "Data sink payload entity", "type": "object", "properties": { - "cronjobs": { - "type": "array", - "items": { - "description": "Cluster workload cronjob summary", - "type": "object", - "properties": { - "metadata": { - "description": "Cluster workload metadata", - "type": "object", - "properties": { - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "entity": { - "description": "Cluster workload ref", - "type": "object", - "properties": { - "kind": { - "type": "string" - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "namespace": { - "type": "string" - } - } - }, - "spec": { - "description": "Cluster workload cronjob spec", - "type": "object", - "properties": { - "schedule": { - "type": "string" - } - } - }, - "status": { - "description": "Cluster workload cronjob status", - "type": "object", - "properties": { - "lastScheduleTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - } - } - } - } - } + "refUid": { + "description": "RefUid of the data sink payload", + "type": "string" }, - "metadata": { - "description": "Object for which the resource is related", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "spectrocluster", - "machine", - "cloudconfig", - "clusterprofile", - "pack", - "appprofile", - "appdeployment", - "edgehost" - ] - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } + "timestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" } + }, + "additionalProperties": { + "type": "object" } } }, - "metadata": { - "description": "ObjectMeta input entity for object creation", + "spec": { + "description": "Cloud watch config entity", "type": "object", "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "credentials": { + "description": "AWS cloud account which includes access key and secret key in case of 'secret' credentials type. It includes policyARNS, ARN and externalId in case of sts. Partition is a group of AWS Region and Service objects", "type": "object", - "additionalProperties": { - "type": "string" + "properties": { + "accessKey": { + "description": "AWS account access key", + "type": "string" + }, + "credentialType": { + "description": "Allowed Values [secret, sts]. STS type will be used for role assumption for sts type, accessKey/secretKey contains the source account, Arn is the target account.", + "type": "string", + "default": "secret", + "enum": [ + "secret", + "sts" + ] + }, + "partition": { + "description": "AWS accounts are scoped to a single partition. Allowed values [aws, aws-us-gov], Default values", + "type": "string", + "default": "aws", + "enum": [ + "aws", + "aws-us-gov" + ] + }, + "policyARNs": { + "description": "List of policy ARNs required in case of credentialType sts.", + "type": "array", + "items": { + "type": "string" + } + }, + "secretKey": { + "description": "AWS account secret key", + "type": "string" + }, + "sts": { + "description": "Aws sts credentials", + "type": "object", + "properties": { + "arn": { + "description": "Arn for the aws sts credentials in cloud account", + "type": "string" + }, + "externalId": { + "description": "ExternalId for the aws sts credentials in cloud account", + "type": "string" + } + } + } } }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { - "type": "string" - } + "group": { + "description": "Name of the group", + "type": "string" }, - "name": { - "description": "Name of the resource.", + "region": { + "description": "Name of the region", + "type": "string" + }, + "stream": { + "description": "Name of the stream", "type": "string" } } } } } + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "type": "string", + "description": "Audit uid for the request" + } + } } } - }, - "parameters": [ - { - "type": "string", - "name": "uid", - "in": "path", - "required": true - } - ] + } }, - "/v1/dashboard/workspaces/{uid}/spectroclusters/workloads/daemonset": { + "/v1/edgehosts": { "post": { "security": [ { @@ -89086,33 +83640,49 @@ "tags": [ "v1" ], - "summary": "Retrieves specified workspace clusters workload daemonsets", - "operationId": "v1DashboardWorkspacesUidSpectroClustersWorkloadsDaemonSet", + "summary": "Create the edge host device", + "operationId": "v1EdgeHostDevicesCreate", "parameters": [ { "name": "body", "in": "body", "schema": { - "description": "Workspace workloads spec", + "description": "Edge host device information", "type": "object", "properties": { - "filter": { - "description": "Workspace workloads filter", + "metadata": { + "description": "Object identity meta with tags", "type": "object", "properties": { - "clusters": { - "type": "array", - "uniqueItems": true, - "items": { + "labels": { + "type": "object", + "additionalProperties": { "type": "string" } }, - "namespaces": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + } + }, + "spec": { + "description": "Edge host device spec", + "type": "object", + "properties": { + "archType": { + "type": "string", + "default": "amd64", + "enum": [ + "amd64", + "arm64" + ] + }, + "hostPairingKey": { + "type": "string", + "format": "password" } } } @@ -89126,142 +83696,110 @@ "in": "header" } ], + "responses": { + "201": { + "description": "Created successfully", + "schema": { + "type": "object", + "required": [ + "uid" + ], + "properties": { + "uid": { + "type": "string" + } + } + }, + "headers": { + "AuditUid": { + "type": "string", + "description": "Audit uid for the request" + } + } + } + } + } + }, + "/v1/edgehosts/metadata": { + "get": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Retrieves a list of edge hosts metadata matching the filter condition", + "operationId": "v1EdgeHostsMetadataQuickFilterGet", + "parameters": [ + { + "enum": [ + "libvirt", + "edge-native", + "vsphere" + ], + "type": "string", + "name": "type", + "in": "query" + }, + { + "enum": [ + "unusedEdgeHosts" + ], + "type": "string", + "name": "quickFilter", + "in": "query" + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], "responses": { "200": { - "description": "An array of clusters workload daemonsets", + "description": "An array of edge host metadata", "schema": { - "description": "Workspace clusters workload statefulsets summary", "type": "object", "properties": { - "clusters": { + "edgeHosts": { "type": "array", "items": { - "description": "Workspace cluster workload daemonsets summary", "type": "object", "properties": { - "daemonSets": { - "type": "array", - "items": { - "description": "Cluster workload daemonset summary", - "type": "object", - "properties": { - "metadata": { - "description": "Cluster workload metadata", - "type": "object", - "properties": { - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "entity": { - "description": "Cluster workload ref", - "type": "object", - "properties": { - "kind": { - "type": "string" - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "namespace": { - "type": "string" - } - } - }, - "status": { - "description": "Cluster workload daemonset status", - "type": "object", - "properties": { - "available": { - "type": "integer", - "format": "int32" - }, - "currentScheduled": { - "type": "integer", - "format": "int32" - }, - "desiredScheduled": { - "type": "integer", - "format": "int32" - }, - "misScheduled": { - "type": "integer", - "format": "int32" - }, - "ready": { - "type": "integer", - "format": "int32" - }, - "updatedScheduled": { - "type": "integer", - "format": "int32" - } - } - } - } - } + "archType": { + "type": "string", + "default": "amd64", + "enum": [ + "amd64", + "arm64" + ] }, - "metadata": { - "description": "Object for which the resource is related", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "spectrocluster", - "machine", - "cloudconfig", - "clusterprofile", - "pack", - "appprofile", - "appdeployment", - "edgehost" - ] - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - } - } - } - }, - "metadata": { - "description": "ObjectMeta input entity for object creation", - "type": "object", - "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { + "edgeHostType": { + "type": "string", + "enum": [ + "libvirt", + "edge-native", + "vsphere" + ] + }, + "healthState": { "type": "string" - } - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { + }, + "name": { + "type": "string" + }, + "state": { + "type": "string" + }, + "uid": { "type": "string" } - }, - "name": { - "description": "Name of the resource.", - "type": "string" } } } @@ -89269,17 +83807,9 @@ } } } - }, - "parameters": [ - { - "type": "string", - "name": "uid", - "in": "path", - "required": true - } - ] + } }, - "/v1/dashboard/workspaces/{uid}/spectroclusters/workloads/deployment": { + "/v1/edgehosts/register": { "post": { "security": [ { @@ -89292,1281 +83822,732 @@ "tags": [ "v1" ], - "summary": "Retrieves specified workspace clusters workload deployments", - "operationId": "v1DashboardWorkspacesUidSpectroClustersWorkloadsDeployment", + "summary": "Registers the edge host device", + "operationId": "v1EdgeHostDevicesRegister", "parameters": [ { "name": "body", "in": "body", "schema": { - "description": "Workspace workloads spec", - "type": "object", "properties": { - "filter": { - "description": "Workspace workloads filter", + "aclmeta": { + "description": "Resource access control information (Read-only response data)", "type": "object", "properties": { - "clusters": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - }, - "namespaces": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - } - } - } - } - } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "An array of clusters workload deployments", - "schema": { - "description": "Workspace clusters workload deployments summary", - "type": "object", - "properties": { - "clusters": { - "type": "array", - "items": { - "description": "Workspace cluster workload deployments summary", - "type": "object", - "properties": { - "deployments": { - "type": "array", - "items": { - "description": "Cluster workload deployment summary", - "type": "object", - "properties": { - "metadata": { - "description": "Cluster workload metadata", - "type": "object", - "properties": { - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "entity": { - "description": "Cluster workload ref", - "type": "object", - "properties": { - "kind": { - "type": "string" - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "namespace": { - "type": "string" - } - } - }, - "status": { - "description": "Cluster workload deployment status", - "type": "object", - "properties": { - "replicas": { - "description": "Cluster workload replica status", - "type": "object", - "properties": { - "available": { - "type": "integer", - "format": "int32", - "x-omitempty": false - }, - "ready": { - "type": "integer", - "format": "int32", - "x-omitempty": false - }, - "total": { - "type": "integer", - "format": "int32", - "x-omitempty": false - }, - "updated": { - "type": "integer", - "format": "int32", - "x-omitempty": false - } - } - } - } - } - } - } - }, - "metadata": { - "description": "Object for which the resource is related", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "spectrocluster", - "machine", - "cloudconfig", - "clusterprofile", - "pack", - "appprofile", - "appdeployment", - "edgehost" - ] - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - } + "ownerUid": { + "description": "User or service uid which created the resource", + "type": "string" + }, + "projectUid": { + "description": "Project's uid if the resource is under a project", + "type": "string" + }, + "tenantUid": { + "description": "Tenant's uid", + "type": "string" } } }, "metadata": { - "description": "ObjectMeta input entity for object creation", + "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, + "creationTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "deletionTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, + "lastModifiedTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + }, + "uid": { + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } - } - } - } - } - } - }, - "parameters": [ - { - "type": "string", - "name": "uid", - "in": "path", - "required": true - } - ] - }, - "/v1/dashboard/workspaces/{uid}/spectroclusters/workloads/job": { - "post": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Retrieves specified workspace clusters workload jobs", - "operationId": "v1DashboardWorkspacesUidSpectroClustersWorkloadsJob", - "parameters": [ - { - "name": "body", - "in": "body", - "schema": { - "description": "Workspace workloads spec", - "type": "object", - "properties": { - "filter": { - "description": "Workspace workloads filter", + }, + "spec": { + "description": "EdgeHostDeviceSpec defines the desired state of EdgeHostDevice", "type": "object", "properties": { - "clusters": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - }, - "namespaces": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - } - } - } - } - } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "An array of clusters workload jobs", - "schema": { - "description": "Workspace clusters workload jobs summary", - "type": "object", - "properties": { - "clusters": { - "type": "array", - "items": { - "description": "Workspace cluster workload jobs summary", - "type": "object", - "properties": { - "jobs": { - "type": "array", - "items": { - "description": "Cluster workload job summary", - "type": "object", + "cloudProperties": { + "description": "Additional cloud properties of the edge host (applicable based on the cloud type)", + "type": "object", + "properties": { + "vsphere": { + "description": "Vsphere cloud properties of edge host", "properties": { - "metadata": { - "description": "Cluster workload metadata", - "type": "object", - "properties": { - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "entity": { - "description": "Cluster workload ref", - "type": "object", - "properties": { - "kind": { - "type": "string" - }, - "name": { - "type": "string" - }, - "uid": { + "datacenters": { + "type": "array", + "items": { + "description": "Vsphere datacenter", + "type": "object", + "properties": { + "computeClusters": { + "type": "array", + "items": { + "description": "Vsphere compute cluster", + "type": "object", + "properties": { + "datastores": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + }, + "name": { + "type": "string" + }, + "networks": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + }, + "resourcePools": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + } + } + } + }, + "folders": { + "type": "array", + "items": { "type": "string" } - } - }, - "labels": { - "type": "object", - "additionalProperties": { + }, + "name": { "type": "string" } - }, - "namespace": { - "type": "string" - } - } - }, - "status": { - "description": "Cluster workload job status", - "type": "object", - "properties": { - "completionTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "conditions": { - "type": "array", - "items": { - "description": "Cluster workload condition", - "type": "object", - "properties": { - "lastTransitionTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "lastUpdateTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "message": { - "type": "string" - }, - "reason": { - "type": "string" - }, - "status": { - "type": "string" - }, - "type": { - "type": "string" - } - } - } - }, - "startTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "succeeded": { - "type": "integer", - "format": "int32" } } } } } - }, - "metadata": { - "description": "Object for which the resource is related", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "spectrocluster", - "machine", - "cloudconfig", - "clusterprofile", - "pack", - "appprofile", - "appdeployment", - "edgehost" - ] - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - } - } - } - }, - "metadata": { - "description": "ObjectMeta input entity for object creation", - "type": "object", - "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "name": { - "description": "Name of the resource.", - "type": "string" - } - } - } - } - } - } - } - }, - "parameters": [ - { - "type": "string", - "name": "uid", - "in": "path", - "required": true - } - ] - }, - "/v1/dashboard/workspaces/{uid}/spectroclusters/workloads/namespace": { - "post": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Retrieves specified workspace clusters workload namespaces", - "operationId": "v1DashboardWorkspacesUidSpectroClustersWorkloadsNamespace", - "parameters": [ - { - "name": "body", - "in": "body", - "schema": { - "description": "Workspace workloads spec", - "type": "object", - "properties": { - "filter": { - "description": "Workspace workloads filter", - "type": "object", - "properties": { - "clusters": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" } }, - "namespaces": { + "clusterProfileTemplates": { "type": "array", - "uniqueItems": true, "items": { - "type": "string" - } - } - } - } - } - } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "An array of clusters workload namespaces", - "schema": { - "description": "Workspace clusters workload namespaces summary", - "type": "object", - "properties": { - "clusters": { - "type": "array", - "items": { - "description": "Workspace cluster workload namespaces summary", - "type": "object", - "properties": { - "metadata": { - "description": "Object for which the resource is related", + "description": "ClusterProfileTemplate contains details of a clusterprofile definition", "type": "object", "properties": { - "kind": { - "type": "string", - "enum": [ - "spectrocluster", - "machine", - "cloudconfig", - "clusterprofile", - "pack", - "appprofile", - "appdeployment", - "edgehost" - ] + "cloudType": { + "type": "string" }, "name": { "type": "string" }, - "uid": { - "type": "string" - } - } - }, - "namespaces": { - "type": "array", - "items": { - "description": "Cluster workload namespace summary", - "type": "object", - "properties": { - "metadata": { - "description": "Cluster workload metadata", + "packServerRefs": { + "description": "PackServerRefs is only used on Hubble side it is reference to pack registry servers which PackRef belongs to in hubble, pack server is a top level object, so use a reference to point to it packs within a clusterprofile can come from different pack servers, so this is an array", + "type": "array", + "items": { + "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", "type": "object", "properties": { - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "entity": { - "description": "Cluster workload ref", - "type": "object", - "properties": { - "kind": { - "type": "string" - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - } + "kind": { + "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" }, - "namespace": { + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" - } - } - }, - "status": { - "description": "Cluster workload namespace status", - "type": "object", - "properties": { - "phase": { + }, + "uid": { + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } } - } - } - } - } - } - }, - "metadata": { - "description": "ObjectMeta input entity for object creation", - "type": "object", - "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "name": { - "description": "Name of the resource.", - "type": "string" - } - } - } - } - } - } - } - }, - "parameters": [ - { - "type": "string", - "name": "uid", - "in": "path", - "required": true - } - ] - }, - "/v1/dashboard/workspaces/{uid}/spectroclusters/workloads/pod": { - "post": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Retrieves specified workspace clusters workload pods", - "operationId": "v1DashboardWorkspacesUidSpectroClustersWorkloadsPod", - "parameters": [ - { - "name": "body", - "in": "body", - "schema": { - "description": "Workspace workloads spec", - "type": "object", - "properties": { - "filter": { - "description": "Workspace workloads filter", - "type": "object", - "properties": { - "clusters": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - }, - "namespaces": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - } - } - } - } - } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "An array of clusters workload pods", - "schema": { - "description": "Workspace clusters workload pods summary", - "type": "object", - "properties": { - "clusters": { - "type": "array", - "items": { - "description": "Workspace cluster workload pods summary", - "type": "object", - "properties": { - "metadata": { - "description": "Object for which the resource is related", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "spectrocluster", - "machine", - "cloudconfig", - "clusterprofile", - "pack", - "appprofile", - "appdeployment", - "edgehost" - ] }, - "name": { + "packServerSecret": { + "description": "This secret is used only on Palette side use case is similar to k8s image pull secret this single secret internally should contains all the pack servers in PackServerRefs if empty, means no credential is needed to access the pack server For spectro saas, Ally will set this field before pass to palette", "type": "string" }, - "uid": { - "type": "string" - } - } - }, - "pods": { - "type": "array", - "items": { - "description": "Cluster workload pod summary", - "type": "object", - "properties": { - "metadata": { - "description": "Cluster workload pod metadata", + "packs": { + "description": "Packs definitions here are final definitions. If ClonedFrom and ParamsOverwrite is present, then Packs are the final merge result of ClonedFrom and ParamsOverwrite So orchestration engine will just take the Packs and do the work, no need to worry about parameters merge", + "type": "array", + "items": { + "description": "PackRef server/name:tag to point to a pack PackRef is used when construct a ClusterProfile PackSpec is used for UI to render the parameters form ClusterProfile will not know inner details of a pack ClusterProfile only contain pack name:tag, and the param values user entered for it", "type": "object", + "required": [ + "layer", + "name" + ], "properties": { - "associatedRefs": { + "annotations": { + "description": "Annotations is used to allow packref to add more arbitrary information one example is to add git reference for values.yaml", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "digest": { + "description": "digest is used to specify the version should be installed by palette when pack upgrade available, change this digest to trigger upgrade", + "type": "string" + }, + "inValidReason": { + "type": "string" + }, + "isInvalid": { + "description": "pack is invalid when the associated tag is deleted from the registry", + "type": "boolean" + }, + "layer": { + "type": "string", + "enum": [ + "kernel", + "os", + "k8s", + "cni", + "csi", + "addon" + ] + }, + "logo": { + "description": "path to the pack logo", + "type": "string" + }, + "manifests": { "type": "array", "items": { - "description": "Cluster workload ref", + "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", "type": "object", "properties": { "kind": { + "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", "type": "string" }, "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } } }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" + "name": { + "description": "pack name", + "type": "string" }, - "entity": { - "description": "Cluster workload ref", - "type": "object", - "properties": { - "kind": { - "type": "string" - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } + "packUid": { + "description": "PackUID is Hubble packUID, not palette Pack.UID It is used by Hubble only.", + "type": "string" }, - "labels": { + "params": { + "description": "params passed as env variables to be consumed at installation time", "type": "object", "additionalProperties": { "type": "string" } }, - "machineUid": { - "type": "string" - }, - "namespace": { - "type": "string" - }, - "nodename": { - "type": "string" - } - } - }, - "spec": { - "description": "Cluster workload pod spec", - "type": "object", - "properties": { - "containers": { + "presets": { "type": "array", "items": { - "description": "Cluster workload pod container", + "description": "PackPreset defines the preset pack values", "type": "object", "properties": { - "image": { - "type": "string" + "add": { + "type": "string", + "x-omitempty": false + }, + "displayName": { + "type": "string", + "x-omitempty": false + }, + "group": { + "type": "string", + "x-omitempty": false }, "name": { - "type": "string" + "type": "string", + "x-omitempty": false }, - "resources": { - "description": "Cluster workload pod container resources", - "type": "object", - "properties": { - "limits": { - "description": "Cluster workload pod container resource", - "type": "object", - "properties": { - "cpu": { - "type": "integer", - "format": "int32", - "x-omitempty": false - }, - "cpuUnit": { - "type": "string" - }, - "memory": { - "type": "integer", - "format": "int64", - "x-omitempty": false - }, - "memoryUnit": { - "type": "string" - } - } - }, - "requests": { - "description": "Cluster workload pod container resource", - "type": "object", - "properties": { - "cpu": { - "type": "integer", - "format": "int32", - "x-omitempty": false - }, - "cpuUnit": { - "type": "string" - }, - "memory": { - "type": "integer", - "format": "int64", - "x-omitempty": false - }, - "memoryUnit": { - "type": "string" - } - } - } - } + "remove": { + "type": "array", + "items": { + "type": "string" + }, + "x-omitempty": false } } } }, - "volumes": { - "type": "array", - "items": { - "description": "Cluster workload pod volume", - "type": "object", - "properties": { - "name": { - "type": "string" - } - } - } - } - } - }, - "status": { - "description": "Cluster workload pod status", - "type": "object", - "properties": { - "containers": { + "registryUid": { + "description": "pack registry uid", + "type": "string" + }, + "schema": { "type": "array", "items": { - "description": "Cluster workload pod container status", + "description": "PackSchema defines the schema definition, hints for the pack values", "type": "object", "properties": { - "image": { - "type": "string" + "format": { + "type": "string", + "x-omitempty": false + }, + "hints": { + "type": "array", + "items": { + "type": "string" + }, + "x-omitempty": false + }, + "listOptions": { + "type": "array", + "items": { + "type": "string" + }, + "x-omitempty": false }, "name": { - "type": "string" + "type": "string", + "x-omitempty": false }, - "ready": { + "readonly": { "type": "boolean", "x-omitempty": false }, - "restartCount": { - "type": "integer", - "format": "int32", + "regex": { + "type": "string", "x-omitempty": false }, - "started": { + "required": { "type": "boolean", "x-omitempty": false }, - "state": { - "description": "Cluster workload pod container state", - "type": "object", - "properties": { - "exitCode": { - "type": "integer", - "format": "int32", - "x-omitempty": false - }, - "finishedAt": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "reason": { - "type": "string" - }, - "startedAt": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "state": { - "type": "string" - } - } + "type": { + "type": "string", + "x-omitempty": false } } } }, - "phase": { + "server": { + "description": "pack registry server or helm repo", "type": "string" }, - "podIp": { + "tag": { + "description": "pack tag", "type": "string" }, - "qosClass": { + "type": { + "description": "type of the pack", + "type": "string", + "enum": [ + "spectro", + "helm", + "manifest" + ] + }, + "values": { + "description": "values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", + "type": "string" + }, + "version": { + "description": "pack version", "type": "string" } } } - } - } - } - } - } - }, - "metadata": { - "description": "ObjectMeta input entity for object creation", - "type": "object", - "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "name": { - "description": "Name of the resource.", - "type": "string" - } - } - } - } - } - } - } - }, - "parameters": [ - { - "type": "string", - "name": "uid", - "in": "path", - "required": true - } - ] - }, - "/v1/dashboard/workspaces/{uid}/spectroclusters/workloads/rolebinding": { - "post": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Retrieves specified workspace clusters workload rolebindings", - "operationId": "v1DashboardWorkspacesUidSpectroClustersWorkloadsRoleBinding", - "parameters": [ - { - "name": "body", - "in": "body", - "schema": { - "description": "Workspace workloads spec", - "type": "object", - "properties": { - "filter": { - "description": "Workspace workloads filter", - "type": "object", - "properties": { - "clusters": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" + }, + "profileVersion": { + "description": "version start from 1.0.0, matching the index of ClusterProfileSpec.Versions[] will be used by clusterSpec to identify which version is applied to the cluster", + "type": "string" + }, + "relatedObject": { + "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", + "type": "object", + "properties": { + "kind": { + "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "uid": { + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", + "type": "string" + } + } + }, + "type": { + "type": "string" + }, + "uid": { + "type": "string" + }, + "version": { + "description": "Deprecated. Use profileVersion", + "type": "integer", + "format": "int32" + } + } } }, - "namespaces": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - } - } - } - } - } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "An array of clusters workload rolebindings", - "schema": { - "description": "Workspace clusters workload rbac bindings summary", - "type": "object", - "properties": { - "clusters": { - "type": "array", - "items": { - "description": "Workspace cluster workload rbac bindings summary", - "type": "object", - "properties": { - "bindings": { - "type": "array", - "items": { - "description": "Cluster workload rbac binding summary", + "device": { + "description": "DeviceSpec defines the desired state of Device", + "type": "object", + "properties": { + "archType": { + "description": "Architecture type of the edge host", + "type": "string", + "default": "amd64", + "enum": [ + "arm64", + "amd64" + ] + }, + "cpu": { "type": "object", "properties": { - "metadata": { - "description": "Cluster workload metadata", - "type": "object", - "properties": { - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "entity": { - "description": "Cluster workload ref", + "cores": { + "description": "number of cpu cores", + "type": "integer", + "format": "int32" + } + } + }, + "disks": { + "type": "array", + "items": { + "type": "object", + "properties": { + "controller": { + "type": "string" + }, + "partitions": { + "type": "array", + "items": { "type": "object", "properties": { - "kind": { + "fileSystemType": { "type": "string" }, - "name": { - "type": "string" + "freeSpace": { + "type": "integer", + "format": "int32" }, - "uid": { + "mountPoint": { "type": "string" + }, + "totalSpace": { + "type": "integer", + "format": "int32" + }, + "usedSpace": { + "type": "integer", + "format": "int32" } } - }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "namespace": { + } + }, + "size": { + "description": "Size in GB", + "type": "integer", + "format": "int32" + }, + "vendor": { + "type": "string" + } + } + } + }, + "gpus": { + "type": "array", + "items": { + "type": "object", + "properties": { + "addresses": { + "description": "Addresses is a map of PCI device entry name to its addresses.\nExample entry would be \"11:00.0 VGA compatible controller [0300]: NVIDIA\nCorporation Device [10de:1eb1] (rev a1)\"- \u003e 0000_11_00_0\" The address is\nBDF (Bus Device Function) identifier format seperated by underscores. The\nfirst 4 bits are almost always 0000. In the above example 11 is Bus, 00\nis Device,0 is function. The values of these addreses are expected in hexadecimal\nformat\n", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "model": { + "description": "Model is the model of GPU, for a given vendor, for eg., TU104GL [Tesla T4]", + "type": "string" + }, + "vendor": { + "description": "Vendor is the GPU vendor, for eg., NVIDIA or AMD", + "type": "string" + } + } + } + }, + "memory": { + "type": "object", + "properties": { + "sizeInMB": { + "description": "memory size in bytes", + "type": "integer", + "format": "int64" + } + } + }, + "nics": { + "type": "array", + "items": { + "type": "object", + "properties": { + "dns": { + "type": "array", + "items": { "type": "string" } + }, + "gateway": { + "type": "string" + }, + "ip": { + "type": "string" + }, + "isDefault": { + "type": "boolean" + }, + "macAddr": { + "type": "string" + }, + "nicName": { + "type": "string" + }, + "subnet": { + "type": "string" } + } + } + }, + "os": { + "type": "object", + "properties": { + "family": { + "type": "string" }, - "spec": { - "description": "Cluster RBAC binding", + "version": { + "type": "string" + } + } + } + } + }, + "host": { + "description": "EdgeHost is the underlying appliance", + "type": "object", + "required": [ + "hostUid", + "hostAddress" + ], + "properties": { + "disableAutoRegister": { + "description": "Set to true if auto register is disabled for the device", + "type": "boolean", + "x-omitempty": false + }, + "hostAddress": { + "description": "HostAddress is a FQDN or IP address of the Host", + "type": "string" + }, + "hostAuthToken": { + "description": "HostAuthToken to authorize auto registration", + "type": "string", + "x-omitempty": false + }, + "hostChecksum": { + "description": "HostChecksum is the checksum provided by the edge host, to be persisted in SaaS", + "type": "string", + "x-omitempty": false + }, + "hostIdentity": { + "properties": { + "caCert": { + "description": "CACert is the client CA certificate", + "type": "string" + }, + "mode": { + "description": "Mode indicates a system or session connection to the host", + "type": "string" + }, + "socketPath": { + "description": "SocketPath is an optional path to the socket on the host, if not using defaults", + "type": "string" + }, + "sshSecret": { "type": "object", "properties": { - "namespace": { + "name": { + "description": "SSH secret name", "type": "string" }, - "role": { - "description": "Cluster role ref", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "Role", - "ClusterRole" - ] - }, - "name": { - "type": "string" - } - } - }, - "subjects": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Cluster role ref", - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "namespace": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "User", - "Group", - "ServiceAccount" - ] - } - } - } - }, - "type": { - "type": "string", - "enum": [ - "RoleBinding", - "ClusterRoleBinding" - ] + "privateKey": { + "description": "Private Key to access the host", + "type": "string" } } } } - } - }, - "metadata": { - "description": "Object for which the resource is related", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "spectrocluster", - "machine", - "cloudconfig", - "clusterprofile", - "pack", - "appprofile", - "appdeployment", - "edgehost" - ] - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" + }, + "hostPairingKey": { + "description": "HostPairingKey is the one-time pairing key to pair the edge host with the device registered in SaaS", + "type": "string", + "format": "password", + "x-omitempty": false + }, + "hostUid": { + "description": "HostUid is the ID of the EdgeHost", + "type": "string" + }, + "macAddress": { + "description": "Mac address of edgehost", + "type": "string", + "x-omitempty": false + }, + "project": { + "description": "Object identity meta", + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } } } } - } - } - }, - "metadata": { - "description": "ObjectMeta input entity for object creation", - "type": "object", - "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" + }, + "properties": { + "description": "Additional properties of edge host", + "properties": { + "networks": { + "type": "array", + "items": { + "description": "Network defines the network configuration for a virtual machine", + "type": "object", + "required": [ + "networkName", + "networkType" + ], + "properties": { + "networkName": { + "description": "NetworkName of the network where this machine will be connected", + "type": "string" + }, + "networkType": { + "description": "NetworkType specifies the type of network", + "type": "string", + "enum": [ + "default", + "bridge" + ] + } + } + } + }, + "storagePools": { + "type": "array", + "items": { + "description": "StoragePool is the storage pool for the vm image", + "properties": { + "name": { + "type": "string" + } + } + } + } } }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "service": { + "description": "ServiceSpec defines the specification of service registering edge", "type": "object", - "additionalProperties": { - "type": "string" + "properties": { + "name": { + "type": "string" + }, + "version": { + "type": "string" + } } }, - "name": { - "description": "Name of the resource.", + "type": { + "description": "Deprecated. Cloudtype of the provisioned edge host", + "type": "string", + "enum": [ + "libvirt", + "vsphere", + "edge-native" + ] + }, + "version": { "type": "string" } } - } - } - } - } - } - }, - "parameters": [ - { - "type": "string", - "name": "uid", - "in": "path", - "required": true - } - ] - }, - "/v1/dashboard/workspaces/{uid}/spectroclusters/workloads/statefulset": { - "post": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Retrieves specified workspace clusters workload statefulsets", - "operationId": "v1DashboardWorkspacesUidSpectroClustersWorkloadsStatefulSet", - "parameters": [ - { - "name": "body", - "in": "body", - "schema": { - "description": "Workspace workloads spec", - "type": "object", - "properties": { - "filter": { - "description": "Workspace workloads filter", + }, + "status": { + "description": "EdgeHostDeviceStatus defines the observed state of EdgeHostDevice", "type": "object", "properties": { - "clusters": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" + "health": { + "description": "EdgeHostHealth defines the desired health state of EdgeHostDevice", + "properties": { + "agentVersion": { + "type": "string" + }, + "message": { + "type": "string" + }, + "state": { + "type": "string", + "enum": [ + "healthy", + "unhealthy" + ] + } } }, - "namespaces": { + "inUseClusters": { "type": "array", - "uniqueItems": true, "items": { - "type": "string" - } - } - } - } - } - } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "An array of clusters workload statefulsets", - "schema": { - "description": "Workspace clusters workload statefulsets summary", - "type": "object", - "properties": { - "clusters": { - "type": "array", - "items": { - "description": "Workspace cluster workload statefulsets summary", - "type": "object", - "properties": { - "metadata": { - "description": "Object for which the resource is related", + "description": "Object identity meta", "type": "object", "properties": { - "kind": { - "type": "string", - "enum": [ - "spectrocluster", - "machine", - "cloudconfig", - "clusterprofile", - "pack", - "appprofile", - "appdeployment", - "edgehost" - ] - }, "name": { "type": "string" }, @@ -90574,533 +84555,255 @@ "type": "string" } } - }, - "statefulSets": { - "type": "array", - "items": { - "description": "Cluster workload statefulset summary", - "type": "object", - "properties": { - "metadata": { - "description": "Cluster workload metadata", + } + }, + "packs": { + "type": "array", + "items": { + "type": "object", + "properties": { + "condition": { + "type": "object", + "required": [ + "type", + "status" + ], + "properties": { + "lastProbeTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "lastTransitionTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "type": "string" + }, + "type": { + "type": "string" + } + } + }, + "endTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "manifests": { + "type": "array", + "items": { "type": "object", "properties": { - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "entity": { - "description": "Cluster workload ref", + "condition": { "type": "object", + "required": [ + "type", + "status" + ], "properties": { - "kind": { + "lastProbeTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "lastTransitionTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", "type": "string" }, - "name": { + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", "type": "string" }, - "uid": { + "status": { + "type": "string" + }, + "type": { "type": "string" } } }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - } + "name": { + "type": "string" }, - "namespace": { + "uid": { "type": "string" } } - }, - "status": { - "description": "Cluster workload statefulset status", + } + }, + "name": { + "type": "string" + }, + "profileUid": { + "type": "string" + }, + "services": { + "type": "array", + "items": { "type": "object", "properties": { - "replicas": { - "description": "Cluster workload replica status", - "type": "object", - "properties": { - "available": { - "type": "integer", - "format": "int32", - "x-omitempty": false - }, - "ready": { - "type": "integer", - "format": "int32", - "x-omitempty": false - }, - "total": { - "type": "integer", - "format": "int32", - "x-omitempty": false - }, - "updated": { - "type": "integer", - "format": "int32", - "x-omitempty": false + "host": { + "description": "IP or Host from svc.Status.LoadBalancerStatus.Ingress", + "type": "string" + }, + "name": { + "description": "name of the loadbalancer service", + "type": "string" + }, + "ports": { + "description": "port this service exposed", + "type": "array", + "items": { + "type": "object", + "required": [ + "port" + ], + "properties": { + "port": { + "description": "The port that will be exposed by this service.", + "type": "integer", + "format": "int32" + }, + "protocol": { + "type": "string" + } } } } } } + }, + "startTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "type": { + "type": "string" + }, + "version": { + "type": "string" } } } - } - } - }, - "metadata": { - "description": "ObjectMeta input entity for object creation", - "type": "object", - "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "profileStatus": { "type": "object", - "additionalProperties": { - "type": "string" + "properties": { + "hasUserMacros": { + "description": "If it is true then profile pack values has a reference to user defined macros", + "type": "boolean", + "x-omitempty": false + } } }, - "name": { - "description": "Name of the resource.", + "serviceAuthToken": { "type": "string" + }, + "state": { + "type": "string", + "enum": [ + "ready", + "unpaired", + "in-use" + ] } } } } } - } - } - }, - "parameters": [ - { - "type": "string", - "name": "uid", - "in": "path", - "required": true - } - ] - }, - "/v1/datasinks/cloudwatch": { - "post": { - "security": [ - { - "ApiKey": [] }, { - "Authorization": [] + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" } ], - "description": "Sync data to cloud watch", - "tags": [ - "v1" - ], - "summary": "sync data to cloud watch", - "operationId": "V1DataSinksCloudWatchSink", - "parameters": [ - { - "description": "Request payload for cloud watch config", - "name": "dataSinkCloudWatchConfig", - "in": "body", - "required": true, + "responses": { + "200": { + "description": "OK", "schema": { - "description": "Data sink cloud watch config", - "type": "object", "properties": { - "payload": { - "description": "List of data sink payload entities", - "type": "array", - "uniqueItems": true, - "items": { - "description": "Data sink payload entity", - "type": "object", - "properties": { - "refUid": { - "description": "RefUid of the data sink payload", - "type": "string" - }, - "timestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - } - }, - "additionalProperties": { - "type": "object" - } - } - }, - "spec": { - "description": "Cloud watch config entity", + "aclmeta": { + "description": "Resource access control information (Read-only response data)", "type": "object", "properties": { - "credentials": { - "description": "AWS cloud account which includes access key and secret key in case of 'secret' credentials type. It includes policyARNS, ARN and externalId in case of sts. Partition is a group of AWS Region and Service objects", - "type": "object", - "properties": { - "accessKey": { - "description": "AWS account access key", - "type": "string" - }, - "credentialType": { - "description": "Allowed Values [secret, sts]. STS type will be used for role assumption for sts type, accessKey/secretKey contains the source account, Arn is the target account.", - "type": "string", - "default": "secret", - "enum": [ - "secret", - "sts" - ] - }, - "partition": { - "description": "AWS accounts are scoped to a single partition. Allowed values [aws, aws-us-gov], Default values", - "type": "string", - "default": "aws", - "enum": [ - "aws", - "aws-us-gov" - ] - }, - "policyARNs": { - "description": "List of policy ARNs required in case of credentialType sts.", - "type": "array", - "items": { - "type": "string" - } - }, - "secretKey": { - "description": "AWS account secret key", - "type": "string" - }, - "sts": { - "description": "Aws sts credentials", - "type": "object", - "properties": { - "arn": { - "description": "Arn for the aws sts credentials in cloud account", - "type": "string" - }, - "externalId": { - "description": "ExternalId for the aws sts credentials in cloud account", - "type": "string" - } - } - } - } - }, - "group": { - "description": "Name of the group", + "ownerUid": { + "description": "User or service uid which created the resource", "type": "string" }, - "region": { - "description": "Name of the region", + "projectUid": { + "description": "Project's uid if the resource is under a project", "type": "string" }, - "stream": { - "description": "Name of the stream", + "tenantUid": { + "description": "Tenant's uid", "type": "string" } } - } - } - } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "204": { - "description": "Ok response without content", - "headers": { - "AuditUid": { - "type": "string", - "description": "Audit uid for the request" - } - } - } - } - } - }, - "/v1/edgehosts": { - "post": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Create the edge host device", - "operationId": "v1EdgeHostDevicesCreate", - "parameters": [ - { - "name": "body", - "in": "body", - "schema": { - "description": "Edge host device information", - "type": "object", - "properties": { + }, "metadata": { - "description": "Object identity meta with tags", + "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", "type": "object", "properties": { + "annotations": { + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "creationTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "deletionTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, "labels": { + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, + "lastModifiedTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, "name": { + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, "spec": { - "description": "Edge host device spec", - "type": "object", - "properties": { - "archType": { - "type": "string", - "default": "amd64", - "enum": [ - "amd64", - "arm64" - ] - }, - "hostPairingKey": { - "type": "string", - "format": "password" - } - } - } - } - } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "201": { - "description": "Created successfully", - "schema": { - "type": "object", - "required": [ - "uid" - ], - "properties": { - "uid": { - "type": "string" - } - } - }, - "headers": { - "AuditUid": { - "type": "string", - "description": "Audit uid for the request" - } - } - } - } - } - }, - "/v1/edgehosts/metadata": { - "get": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Retrieves a list of edge hosts metadata matching the filter condition", - "operationId": "v1EdgeHostsMetadataQuickFilterGet", - "parameters": [ - { - "enum": [ - "libvirt", - "edge-native", - "vsphere" - ], - "type": "string", - "name": "type", - "in": "query" - }, - { - "enum": [ - "unusedEdgeHosts" - ], - "type": "string", - "name": "quickFilter", - "in": "query" - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "An array of edge host metadata", - "schema": { - "type": "object", - "properties": { - "edgeHosts": { - "type": "array", - "items": { - "type": "object", - "properties": { - "archType": { - "type": "string", - "default": "amd64", - "enum": [ - "amd64", - "arm64" - ] - }, - "edgeHostType": { - "type": "string", - "enum": [ - "libvirt", - "edge-native", - "vsphere" - ] - }, - "healthState": { - "type": "string" - }, - "name": { - "type": "string" - }, - "state": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - } - } - } - } - } - } - } - }, - "/v1/edgehosts/register": { - "post": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Registers the edge host device", - "operationId": "v1EdgeHostDevicesRegister", - "parameters": [ - { - "name": "body", - "in": "body", - "schema": { - "properties": { - "aclmeta": { - "description": "Resource access control information (Read-only response data)", - "type": "object", - "properties": { - "ownerUid": { - "description": "User or service uid which created the resource", - "type": "string" - }, - "projectUid": { - "description": "Project's uid if the resource is under a project", - "type": "string" - }, - "tenantUid": { - "description": "Tenant's uid", - "type": "string" - } - } - }, - "metadata": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", - "type": "object", - "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "name": { - "description": "Name of the resource.", - "type": "string" - }, - "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", - "type": "string" - } - } - }, - "spec": { - "description": "EdgeHostDeviceSpec defines the desired state of EdgeHostDevice", + "description": "EdgeHostDeviceSpec defines the desired state of EdgeHostDevice", "type": "object", "properties": { "cloudProperties": { @@ -91189,11 +84892,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -91258,11 +84961,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -91407,11 +85110,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -91715,7 +85418,7 @@ } }, "type": { - "description": "Cloudtype of the provisioned edge host", + "description": "Deprecated. Cloudtype of the provisioned edge host", "type": "string", "enum": [ "libvirt", @@ -91936,6 +85639,621 @@ } } } + } + } + } + }, + "/v1/edgehosts/tags": { + "get": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Retrieves a list of edge hosts tags", + "operationId": "v1EdgeHostsTagsGet", + "parameters": [ + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "200": { + "description": "An array of edge hosts tags", + "schema": { + "type": "object", + "properties": { + "tags": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + } + }, + "/v1/edgehosts/tokens": { + "get": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Retrieves a list of edge tokens", + "operationId": "v1EdgeTokensList", + "parameters": [ + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "200": { + "description": "An array of edge tokens", + "schema": { + "type": "object", + "required": [ + "items" + ], + "properties": { + "items": { + "description": "List of edge tokens", + "type": "array", + "uniqueItems": true, + "items": { + "description": "Edge token information", + "type": "object", + "properties": { + "metadata": { + "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", + "type": "object", + "properties": { + "annotations": { + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "creationTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "deletionTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "labels": { + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "lastModifiedTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "name": { + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + }, + "uid": { + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", + "type": "string" + } + } + }, + "spec": { + "description": "Edge token specification", + "type": "object", + "properties": { + "defaultProject": { + "description": "Edge token project information", + "type": "object", + "properties": { + "name": { + "description": "Project name", + "type": "string" + }, + "uid": { + "description": "Project uid", + "type": "string" + } + } + }, + "expiry": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "token": { + "description": "Edge token", + "type": "string" + } + } + }, + "status": { + "description": "Edge token status", + "type": "object", + "properties": { + "isActive": { + "description": "Set to 'true', if the token is active", + "type": "boolean", + "x-omitempty": false + } + } + } + } + } + } + } + } + } + } + }, + "post": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Create the edge token", + "operationId": "v1EdgeTokensCreate", + "parameters": [ + { + "name": "body", + "in": "body", + "schema": { + "description": "Edge token request payload", + "type": "object", + "properties": { + "metadata": { + "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", + "type": "object", + "properties": { + "annotations": { + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "creationTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "deletionTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "labels": { + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "lastModifiedTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "name": { + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + }, + "uid": { + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", + "type": "string" + } + } + }, + "spec": { + "description": "Edge token specification", + "type": "object", + "properties": { + "defaultProjectUid": { + "description": "Default project where the edgehost will be placed on the token authorization", + "type": "string" + }, + "expiry": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + } + } + } + } + } + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "schema": { + "type": "object", + "required": [ + "uid" + ], + "properties": { + "uid": { + "type": "string" + } + } + }, + "headers": { + "AuditUid": { + "type": "string", + "description": "Audit uid for the request" + } + } + } + } + } + }, + "/v1/edgehosts/tokens/{uid}": { + "get": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Returns the specified edge token", + "operationId": "v1EdgeTokensUidGet", + "parameters": [ + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "description": "Edge token information", + "type": "object", + "properties": { + "metadata": { + "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", + "type": "object", + "properties": { + "annotations": { + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "creationTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "deletionTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "labels": { + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "lastModifiedTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "name": { + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + }, + "uid": { + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", + "type": "string" + } + } + }, + "spec": { + "description": "Edge token specification", + "type": "object", + "properties": { + "defaultProject": { + "description": "Edge token project information", + "type": "object", + "properties": { + "name": { + "description": "Project name", + "type": "string" + }, + "uid": { + "description": "Project uid", + "type": "string" + } + } + }, + "expiry": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "token": { + "description": "Edge token", + "type": "string" + } + } + }, + "status": { + "description": "Edge token status", + "type": "object", + "properties": { + "isActive": { + "description": "Set to 'true', if the token is active", + "type": "boolean", + "x-omitempty": false + } + } + } + } + } + } + } + }, + "put": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Updates the specified edge token", + "operationId": "v1EdgeTokensUidUpdate", + "parameters": [ + { + "name": "body", + "in": "body", + "schema": { + "description": "Edge token update request payload", + "type": "object", + "properties": { + "metadata": { + "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", + "type": "object", + "properties": { + "annotations": { + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "creationTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "deletionTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "labels": { + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "lastModifiedTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "name": { + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + }, + "uid": { + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", + "type": "string" + } + } + }, + "spec": { + "description": "Edge token spec to be updated", + "properties": { + "defaultProjectUid": { + "description": "Default project where the edgehost will be placed on the token authorization", + "type": "string" + }, + "expiry": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + } + } + } + } + } + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + } + }, + "delete": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Deletes the specified edge token", + "operationId": "v1EdgeTokensUidDelete", + "parameters": [ + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + } + }, + "parameters": [ + { + "type": "string", + "description": "Edge token uid", + "name": "uid", + "in": "path", + "required": true + } + ] + }, + "/v1/edgehosts/tokens/{uid}/state": { + "put": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Revoke or re-activate the edge token access", + "operationId": "v1EdgeTokensUidState", + "parameters": [ + { + "name": "body", + "in": "body", + "schema": { + "description": "Edge token active state", + "properties": { + "isActive": { + "description": "Set to 'true', if the token is active", + "type": "boolean" + } + } + } + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + } + }, + "parameters": [ + { + "type": "string", + "description": "Edge token uid", + "name": "uid", + "in": "path", + "required": true + } + ] + }, + "/v1/edgehosts/{uid}": { + "get": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Returns the specified edge host device", + "operationId": "v1EdgeHostDevicesUidGet", + "parameters": [ + { + "type": "boolean", + "default": false, + "description": "resolve pack values if set to true", + "name": "resolvePackValues", + "in": "query" }, { "type": "string", @@ -91972,7 +86290,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -91989,7 +86307,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -92001,11 +86319,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -92100,11 +86418,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -92169,11 +86487,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -92318,11 +86636,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -92626,7 +86944,7 @@ } }, "type": { - "description": "Cloudtype of the provisioned edge host", + "description": "Deprecated. Cloudtype of the provisioned edge host", "type": "string", "enum": [ "libvirt", @@ -92849,505 +87167,7 @@ } } } - } - }, - "/v1/edgehosts/tokens": { - "get": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Retrieves a list of edge tokens", - "operationId": "v1EdgeTokensList", - "parameters": [ - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "An array of edge tokens", - "schema": { - "type": "object", - "required": [ - "items" - ], - "properties": { - "items": { - "description": "List of edge tokens", - "type": "array", - "uniqueItems": true, - "items": { - "description": "Edge token information", - "type": "object", - "properties": { - "metadata": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", - "type": "object", - "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "name": { - "description": "Name of the resource.", - "type": "string" - }, - "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", - "type": "string" - } - } - }, - "spec": { - "description": "Edge token specification", - "type": "object", - "properties": { - "defaultProject": { - "description": "Edge token project information", - "type": "object", - "properties": { - "name": { - "description": "Project name", - "type": "string" - }, - "uid": { - "description": "Project uid", - "type": "string" - } - } - }, - "expiry": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "token": { - "description": "Edge token", - "type": "string" - } - } - }, - "status": { - "description": "Edge token status", - "type": "object", - "properties": { - "isActive": { - "description": "Set to 'true', if the token is active", - "type": "boolean", - "x-omitempty": false - } - } - } - } - } - } - } - } - } - } - }, - "post": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Create the edge token", - "operationId": "v1EdgeTokensCreate", - "parameters": [ - { - "name": "body", - "in": "body", - "schema": { - "description": "Edge token request payload", - "type": "object", - "properties": { - "metadata": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", - "type": "object", - "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "name": { - "description": "Name of the resource.", - "type": "string" - }, - "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", - "type": "string" - } - } - }, - "spec": { - "description": "Edge token specification", - "type": "object", - "properties": { - "defaultProjectUid": { - "description": "Default project where the edgehost will be placed on the token authorization", - "type": "string" - }, - "expiry": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - } - } - } - } - } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "201": { - "description": "Created successfully", - "schema": { - "type": "object", - "required": [ - "uid" - ], - "properties": { - "uid": { - "type": "string" - } - } - }, - "headers": { - "AuditUid": { - "type": "string", - "description": "Audit uid for the request" - } - } - } - } - } - }, - "/v1/edgehosts/tokens/{uid}": { - "get": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Returns the specified edge token", - "operationId": "v1EdgeTokensUidGet", - "parameters": [ - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "description": "Edge token information", - "type": "object", - "properties": { - "metadata": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", - "type": "object", - "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "name": { - "description": "Name of the resource.", - "type": "string" - }, - "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", - "type": "string" - } - } - }, - "spec": { - "description": "Edge token specification", - "type": "object", - "properties": { - "defaultProject": { - "description": "Edge token project information", - "type": "object", - "properties": { - "name": { - "description": "Project name", - "type": "string" - }, - "uid": { - "description": "Project uid", - "type": "string" - } - } - }, - "expiry": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "token": { - "description": "Edge token", - "type": "string" - } - } - }, - "status": { - "description": "Edge token status", - "type": "object", - "properties": { - "isActive": { - "description": "Set to 'true', if the token is active", - "type": "boolean", - "x-omitempty": false - } - } - } - } - } - } - } - }, - "put": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Updates the specified edge token", - "operationId": "v1EdgeTokensUidUpdate", - "parameters": [ - { - "name": "body", - "in": "body", - "schema": { - "description": "Edge token update request payload", - "type": "object", - "properties": { - "metadata": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", - "type": "object", - "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "name": { - "description": "Name of the resource.", - "type": "string" - }, - "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", - "type": "string" - } - } - }, - "spec": { - "description": "Edge token spec to be updated", - "properties": { - "defaultProjectUid": { - "description": "Default project where the edgehost will be placed on the token authorization", - "type": "string" - }, - "expiry": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - } - } - } - } - } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "204": { - "description": "The resource was updated successfully" - } - } - }, - "delete": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Deletes the specified edge token", - "operationId": "v1EdgeTokensUidDelete", - "parameters": [ - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "204": { - "description": "The resource was deleted successfully" - } - } }, - "parameters": [ - { - "type": "string", - "description": "Edge token uid", - "name": "uid", - "in": "path", - "required": true - } - ] - }, - "/v1/edgehosts/tokens/{uid}/state": { "put": { "security": [ { @@ -93360,78 +87180,12 @@ "tags": [ "v1" ], - "summary": "Revoke or re-activate the edge token access", - "operationId": "v1EdgeTokensUidState", + "summary": "Updates the specified edge host device", + "operationId": "v1EdgeHostDevicesUidUpdate", "parameters": [ { "name": "body", "in": "body", - "schema": { - "description": "Edge token active state", - "properties": { - "isActive": { - "description": "Set to 'true', if the token is active", - "type": "boolean" - } - } - } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "204": { - "description": "The resource was updated successfully" - } - } - }, - "parameters": [ - { - "type": "string", - "description": "Edge token uid", - "name": "uid", - "in": "path", - "required": true - } - ] - }, - "/v1/edgehosts/{uid}": { - "get": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Returns the specified edge host device", - "operationId": "v1EdgeHostDevicesUidGet", - "parameters": [ - { - "type": "boolean", - "default": false, - "description": "resolve pack values if set to true", - "name": "resolvePackValues", - "in": "query" - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "OK", "schema": { "properties": { "aclmeta": { @@ -93457,7 +87211,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -93474,7 +87228,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -93486,11 +87240,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -93585,11 +87339,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -93654,11 +87408,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -93803,11 +87557,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -94111,7 +87865,7 @@ } }, "type": { - "description": "Cloudtype of the provisioned edge host", + "description": "Deprecated. Cloudtype of the provisioned edge host", "type": "string", "enum": [ "libvirt", @@ -94332,9 +88086,297 @@ } } } + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + } + }, + "delete": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Deletes the specified edge host device", + "operationId": "v1EdgeHostDevicesUidDelete", + "parameters": [ + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + } + }, + "parameters": [ + { + "type": "string", + "name": "uid", + "in": "path", + "required": true + } + ] + }, + "/v1/edgehosts/{uid}/cluster/associate": { + "delete": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Deassociate the clusters to the edge host", + "operationId": "v1EdgeHostDevicesUidClusterDeassociate", + "parameters": [ + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + } + }, + "patch": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Associate the clusters to the edge host", + "operationId": "v1EdgeHostDevicesUidClusterAssociate", + "parameters": [ + { + "name": "body", + "in": "body", + "schema": { + "type": "object", + "properties": { + "clusterUid": { + "type": "string" + } + } + } + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + } + }, + "parameters": [ + { + "type": "string", + "name": "uid", + "in": "path", + "required": true + } + ] + }, + "/v1/edgehosts/{uid}/health": { + "patch": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Updates the edge host health", + "operationId": "v1EdgeHostDevicesHealthUpdate", + "parameters": [ + { + "name": "body", + "in": "body", + "schema": { + "description": "EdgeHostHealth defines the desired health state of EdgeHostDevice", + "properties": { + "agentVersion": { + "type": "string" + }, + "message": { + "type": "string" + }, + "state": { + "type": "string", + "enum": [ + "healthy", + "unhealthy" + ] + } + } + } + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + } + }, + "parameters": [ + { + "type": "string", + "name": "uid", + "in": "path", + "required": true + } + ] + }, + "/v1/edgehosts/{uid}/hostCheckSum": { + "patch": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Update the specified edge host device host check sum", + "operationId": "v1EdgeHostDeviceHostCheckSumUpdate", + "parameters": [ + { + "name": "body", + "in": "body", + "schema": { + "type": "object", + "properties": { + "hostCheckSum": { + "type": "string" + } + } + } + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + } + }, + "parameters": [ + { + "type": "string", + "name": "uid", + "in": "path", + "required": true + } + ] + }, + "/v1/edgehosts/{uid}/hostPairingKey": { + "patch": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Update the specified edge host device host pairing key", + "operationId": "v1EdgeHostDeviceHostPairingKeyUpdate", + "parameters": [ + { + "name": "body", + "in": "body", + "schema": { + "type": "object", + "properties": { + "hostPairingKey": { + "type": "string", + "format": "password" + } + } + } + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" } } }, + "parameters": [ + { + "type": "string", + "name": "uid", + "in": "path", + "required": true + } + ] + }, + "/v1/edgehosts/{uid}/meta": { "put": { "security": [ { @@ -94347,38 +88389,115 @@ "tags": [ "v1" ], - "summary": "Updates the specified edge host device", - "operationId": "v1EdgeHostDevicesUidUpdate", + "summary": "Updates the specified edge host device meta", + "operationId": "v1EdgeHostDevicesUidMetaUpdate", "parameters": [ { "name": "body", "in": "body", "schema": { + "description": "Edge host device uid and name", + "type": "object", "properties": { - "aclmeta": { - "description": "Resource access control information (Read-only response data)", + "metadata": { + "description": "Object identity meta with tags", "type": "object", "properties": { - "ownerUid": { - "description": "User or service uid which created the resource", - "type": "string" + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + } }, - "projectUid": { - "description": "Project's uid if the resource is under a project", + "name": { "type": "string" }, - "tenantUid": { - "description": "Tenant's uid", + "uid": { "type": "string" } } - }, + } + } + } + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + } + }, + "parameters": [ + { + "type": "string", + "name": "uid", + "in": "path", + "required": true + } + ] + }, + "/v1/edgehosts/{uid}/pack/manifests/{manifestUid}": { + "get": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Returns the specified edge host's manifest", + "operationId": "v1EdgeHostDevicesUidPackManifestsUidGet", + "parameters": [ + { + "type": "string", + "description": "edge host uid", + "name": "uid", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "manifest uid which is part of the pack ref", + "name": "manifestUid", + "in": "path", + "required": true + }, + { + "type": "boolean", + "default": false, + "description": "resolve pack manifest values if set to true", + "name": "resolveManifestValues", + "in": "query" + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "200": { + "description": "Pack manifest content", + "schema": { + "description": "Manifest object", + "properties": { "metadata": { "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -94395,7 +88514,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -94407,932 +88526,41 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, "spec": { - "description": "EdgeHostDeviceSpec defines the desired state of EdgeHostDevice", - "type": "object", + "description": "Manifest spec", "properties": { - "cloudProperties": { - "description": "Additional cloud properties of the edge host (applicable based on the cloud type)", + "published": { + "description": "Published manifest object", "type": "object", "properties": { - "vsphere": { - "description": "Vsphere cloud properties of edge host", - "properties": { - "datacenters": { - "type": "array", - "items": { - "description": "Vsphere datacenter", - "type": "object", - "properties": { - "computeClusters": { - "type": "array", - "items": { - "description": "Vsphere compute cluster", - "type": "object", - "properties": { - "datastores": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - }, - "name": { - "type": "string" - }, - "networks": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - }, - "resourcePools": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - } - } - } - }, - "folders": { - "type": "array", - "items": { - "type": "string" - } - }, - "name": { - "type": "string" - } - } - } - } - } + "content": { + "description": "Manifest content in yaml", + "type": "string" + }, + "digest": { + "description": "Manifest digest", + "type": "string" } } - }, - "clusterProfileTemplates": { - "type": "array", - "items": { - "description": "ClusterProfileTemplate contains details of a clusterprofile definition", - "type": "object", - "properties": { - "cloudType": { - "type": "string" - }, - "name": { - "type": "string" - }, - "packServerRefs": { - "description": "PackServerRefs is only used on Hubble side it is reference to pack registry servers which PackRef belongs to in hubble, pack server is a top level object, so use a reference to point to it packs within a clusterprofile can come from different pack servers, so this is an array", - "type": "array", - "items": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", - "type": "string" - } - } - } - }, - "packServerSecret": { - "description": "This secret is used only on Palette side use case is similar to k8s image pull secret this single secret internally should contains all the pack servers in PackServerRefs if empty, means no credential is needed to access the pack server For spectro saas, Ally will set this field before pass to palette", - "type": "string" - }, - "packs": { - "description": "Packs definitions here are final definitions. If ClonedFrom and ParamsOverwrite is present, then Packs are the final merge result of ClonedFrom and ParamsOverwrite So orchestration engine will just take the Packs and do the work, no need to worry about parameters merge", - "type": "array", - "items": { - "description": "PackRef server/name:tag to point to a pack PackRef is used when construct a ClusterProfile PackSpec is used for UI to render the parameters form ClusterProfile will not know inner details of a pack ClusterProfile only contain pack name:tag, and the param values user entered for it", - "type": "object", - "required": [ - "layer", - "name" - ], - "properties": { - "annotations": { - "description": "Annotations is used to allow packref to add more arbitrary information one example is to add git reference for values.yaml", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "digest": { - "description": "digest is used to specify the version should be installed by palette when pack upgrade available, change this digest to trigger upgrade", - "type": "string" - }, - "inValidReason": { - "type": "string" - }, - "isInvalid": { - "description": "pack is invalid when the associated tag is deleted from the registry", - "type": "boolean" - }, - "layer": { - "type": "string", - "enum": [ - "kernel", - "os", - "k8s", - "cni", - "csi", - "addon" - ] - }, - "logo": { - "description": "path to the pack logo", - "type": "string" - }, - "manifests": { - "type": "array", - "items": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", - "type": "string" - } - } - } - }, - "name": { - "description": "pack name", - "type": "string" - }, - "packUid": { - "description": "PackUID is Hubble packUID, not palette Pack.UID It is used by Hubble only.", - "type": "string" - }, - "params": { - "description": "params passed as env variables to be consumed at installation time", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "presets": { - "type": "array", - "items": { - "description": "PackPreset defines the preset pack values", - "type": "object", - "properties": { - "add": { - "type": "string", - "x-omitempty": false - }, - "displayName": { - "type": "string", - "x-omitempty": false - }, - "group": { - "type": "string", - "x-omitempty": false - }, - "name": { - "type": "string", - "x-omitempty": false - }, - "remove": { - "type": "array", - "items": { - "type": "string" - }, - "x-omitempty": false - } - } - } - }, - "registryUid": { - "description": "pack registry uid", - "type": "string" - }, - "schema": { - "type": "array", - "items": { - "description": "PackSchema defines the schema definition, hints for the pack values", - "type": "object", - "properties": { - "format": { - "type": "string", - "x-omitempty": false - }, - "hints": { - "type": "array", - "items": { - "type": "string" - }, - "x-omitempty": false - }, - "listOptions": { - "type": "array", - "items": { - "type": "string" - }, - "x-omitempty": false - }, - "name": { - "type": "string", - "x-omitempty": false - }, - "readonly": { - "type": "boolean", - "x-omitempty": false - }, - "regex": { - "type": "string", - "x-omitempty": false - }, - "required": { - "type": "boolean", - "x-omitempty": false - }, - "type": { - "type": "string", - "x-omitempty": false - } - } - } - }, - "server": { - "description": "pack registry server or helm repo", - "type": "string" - }, - "tag": { - "description": "pack tag", - "type": "string" - }, - "type": { - "description": "type of the pack", - "type": "string", - "enum": [ - "spectro", - "helm", - "manifest" - ] - }, - "values": { - "description": "values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", - "type": "string" - }, - "version": { - "description": "pack version", - "type": "string" - } - } - } - }, - "profileVersion": { - "description": "version start from 1.0.0, matching the index of ClusterProfileSpec.Versions[] will be used by clusterSpec to identify which version is applied to the cluster", - "type": "string" - }, - "relatedObject": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", - "type": "string" - } - } - }, - "type": { - "type": "string" - }, - "uid": { - "type": "string" - }, - "version": { - "description": "Deprecated. Use profileVersion", - "type": "integer", - "format": "int32" - } - } - } - }, - "device": { - "description": "DeviceSpec defines the desired state of Device", - "type": "object", - "properties": { - "archType": { - "description": "Architecture type of the edge host", - "type": "string", - "default": "amd64", - "enum": [ - "arm64", - "amd64" - ] - }, - "cpu": { - "type": "object", - "properties": { - "cores": { - "description": "number of cpu cores", - "type": "integer", - "format": "int32" - } - } - }, - "disks": { - "type": "array", - "items": { - "type": "object", - "properties": { - "controller": { - "type": "string" - }, - "partitions": { - "type": "array", - "items": { - "type": "object", - "properties": { - "fileSystemType": { - "type": "string" - }, - "freeSpace": { - "type": "integer", - "format": "int32" - }, - "mountPoint": { - "type": "string" - }, - "totalSpace": { - "type": "integer", - "format": "int32" - }, - "usedSpace": { - "type": "integer", - "format": "int32" - } - } - } - }, - "size": { - "description": "Size in GB", - "type": "integer", - "format": "int32" - }, - "vendor": { - "type": "string" - } - } - } - }, - "gpus": { - "type": "array", - "items": { - "type": "object", - "properties": { - "addresses": { - "description": "Addresses is a map of PCI device entry name to its addresses.\nExample entry would be \"11:00.0 VGA compatible controller [0300]: NVIDIA\nCorporation Device [10de:1eb1] (rev a1)\"- \u003e 0000_11_00_0\" The address is\nBDF (Bus Device Function) identifier format seperated by underscores. The\nfirst 4 bits are almost always 0000. In the above example 11 is Bus, 00\nis Device,0 is function. The values of these addreses are expected in hexadecimal\nformat\n", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "model": { - "description": "Model is the model of GPU, for a given vendor, for eg., TU104GL [Tesla T4]", - "type": "string" - }, - "vendor": { - "description": "Vendor is the GPU vendor, for eg., NVIDIA or AMD", - "type": "string" - } - } - } - }, - "memory": { - "type": "object", - "properties": { - "sizeInMB": { - "description": "memory size in bytes", - "type": "integer", - "format": "int64" - } - } - }, - "nics": { - "type": "array", - "items": { - "type": "object", - "properties": { - "dns": { - "type": "array", - "items": { - "type": "string" - } - }, - "gateway": { - "type": "string" - }, - "ip": { - "type": "string" - }, - "isDefault": { - "type": "boolean" - }, - "macAddr": { - "type": "string" - }, - "nicName": { - "type": "string" - }, - "subnet": { - "type": "string" - } - } - } - }, - "os": { - "type": "object", - "properties": { - "family": { - "type": "string" - }, - "version": { - "type": "string" - } - } - } - } - }, - "host": { - "description": "EdgeHost is the underlying appliance", - "type": "object", - "required": [ - "hostUid", - "hostAddress" - ], - "properties": { - "disableAutoRegister": { - "description": "Set to true if auto register is disabled for the device", - "type": "boolean", - "x-omitempty": false - }, - "hostAddress": { - "description": "HostAddress is a FQDN or IP address of the Host", - "type": "string" - }, - "hostAuthToken": { - "description": "HostAuthToken to authorize auto registration", - "type": "string", - "x-omitempty": false - }, - "hostChecksum": { - "description": "HostChecksum is the checksum provided by the edge host, to be persisted in SaaS", - "type": "string", - "x-omitempty": false - }, - "hostIdentity": { - "properties": { - "caCert": { - "description": "CACert is the client CA certificate", - "type": "string" - }, - "mode": { - "description": "Mode indicates a system or session connection to the host", - "type": "string" - }, - "socketPath": { - "description": "SocketPath is an optional path to the socket on the host, if not using defaults", - "type": "string" - }, - "sshSecret": { - "type": "object", - "properties": { - "name": { - "description": "SSH secret name", - "type": "string" - }, - "privateKey": { - "description": "Private Key to access the host", - "type": "string" - } - } - } - } - }, - "hostPairingKey": { - "description": "HostPairingKey is the one-time pairing key to pair the edge host with the device registered in SaaS", - "type": "string", - "format": "password", - "x-omitempty": false - }, - "hostUid": { - "description": "HostUid is the ID of the EdgeHost", - "type": "string" - }, - "macAddress": { - "description": "Mac address of edgehost", - "type": "string", - "x-omitempty": false - }, - "project": { - "description": "Object identity meta", - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - } - } - }, - "properties": { - "description": "Additional properties of edge host", - "properties": { - "networks": { - "type": "array", - "items": { - "description": "Network defines the network configuration for a virtual machine", - "type": "object", - "required": [ - "networkName", - "networkType" - ], - "properties": { - "networkName": { - "description": "NetworkName of the network where this machine will be connected", - "type": "string" - }, - "networkType": { - "description": "NetworkType specifies the type of network", - "type": "string", - "enum": [ - "default", - "bridge" - ] - } - } - } - }, - "storagePools": { - "type": "array", - "items": { - "description": "StoragePool is the storage pool for the vm image", - "properties": { - "name": { - "type": "string" - } - } - } - } - } - }, - "service": { - "description": "ServiceSpec defines the specification of service registering edge", - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "version": { - "type": "string" - } - } - }, - "type": { - "description": "Cloudtype of the provisioned edge host", - "type": "string", - "enum": [ - "libvirt", - "vsphere", - "edge-native" - ] - }, - "version": { - "type": "string" - } - } - }, - "status": { - "description": "EdgeHostDeviceStatus defines the observed state of EdgeHostDevice", - "type": "object", - "properties": { - "health": { - "description": "EdgeHostHealth defines the desired health state of EdgeHostDevice", - "properties": { - "agentVersion": { - "type": "string" - }, - "message": { - "type": "string" - }, - "state": { - "type": "string", - "enum": [ - "healthy", - "unhealthy" - ] - } - } - }, - "inUseClusters": { - "type": "array", - "items": { - "description": "Object identity meta", - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - } - }, - "packs": { - "type": "array", - "items": { - "type": "object", - "properties": { - "condition": { - "type": "object", - "required": [ - "type", - "status" - ], - "properties": { - "lastProbeTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "lastTransitionTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "message": { - "description": "Human-readable message indicating details about last transition.", - "type": "string" - }, - "reason": { - "description": "Unique, one-word, CamelCase reason for the condition's last transition.", - "type": "string" - }, - "status": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "endTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "manifests": { - "type": "array", - "items": { - "type": "object", - "properties": { - "condition": { - "type": "object", - "required": [ - "type", - "status" - ], - "properties": { - "lastProbeTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "lastTransitionTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "message": { - "description": "Human-readable message indicating details about last transition.", - "type": "string" - }, - "reason": { - "description": "Unique, one-word, CamelCase reason for the condition's last transition.", - "type": "string" - }, - "status": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - } - }, - "name": { - "type": "string" - }, - "profileUid": { - "type": "string" - }, - "services": { - "type": "array", - "items": { - "type": "object", - "properties": { - "host": { - "description": "IP or Host from svc.Status.LoadBalancerStatus.Ingress", - "type": "string" - }, - "name": { - "description": "name of the loadbalancer service", - "type": "string" - }, - "ports": { - "description": "port this service exposed", - "type": "array", - "items": { - "type": "object", - "required": [ - "port" - ], - "properties": { - "port": { - "description": "The port that will be exposed by this service.", - "type": "integer", - "format": "int32" - }, - "protocol": { - "type": "string" - } - } - } - } - } - } - }, - "startTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "type": { - "type": "string" - }, - "version": { - "type": "string" - } - } - } - }, - "profileStatus": { - "type": "object", - "properties": { - "hasUserMacros": { - "description": "If it is true then profile pack values has a reference to user defined macros", - "type": "boolean", - "x-omitempty": false - } - } - }, - "serviceAuthToken": { - "type": "string" - }, - "state": { - "type": "string", - "enum": [ - "ready", - "unpaired", - "in-use" - ] } } } } } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "204": { - "description": "The resource was updated successfully" - } - } - }, - "delete": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Deletes the specified edge host device", - "operationId": "v1EdgeHostDevicesUidDelete", - "parameters": [ - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "204": { - "description": "The resource was deleted successfully" } } - }, - "parameters": [ - { - "type": "string", - "name": "uid", - "in": "path", - "required": true - } - ] + } }, - "/v1/edgehosts/{uid}/cluster/associate": { - "delete": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Deassociate the clusters to the edge host", - "operationId": "v1EdgeHostDevicesUidClusterDeassociate", - "parameters": [ - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "204": { - "description": "The resource was deleted successfully" - } - } - }, + "/v1/edgehosts/{uid}/packs/status": { "patch": { "security": [ { @@ -95345,8 +88573,8 @@ "tags": [ "v1" ], - "summary": "Associate the clusters to the edge host", - "operationId": "v1EdgeHostDevicesUidClusterAssociate", + "summary": "Patch update specified edge host's packs status", + "operationId": "v1EdgeHostDevicesUidPacksStatusPatch", "parameters": [ { "name": "body", @@ -95354,8 +88582,70 @@ "schema": { "type": "object", "properties": { - "clusterUid": { - "type": "string" + "packs": { + "type": "array", + "items": { + "type": "object", + "properties": { + "condition": { + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "reason": { + "type": "string" + }, + "status": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "ReadyForInstall", + "Installed", + "Ready", + "Error", + "UpgradeAvailable", + "WaitingForOtherLayers" + ] + } + } + }, + "endTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "name": { + "description": "Pack name", + "type": "string" + }, + "profileUid": { + "description": "Cluster profile uid", + "type": "string" + }, + "startTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "type": { + "type": "string", + "default": "spectro", + "enum": [ + "spectro", + "helm", + "manifest", + "oci" + ] + }, + "version": { + "description": "pack version", + "type": "string" + } + } + } } } } @@ -95382,8 +88672,8 @@ } ] }, - "/v1/edgehosts/{uid}/health": { - "patch": { + "/v1/edgehosts/{uid}/profiles": { + "get": { "security": [ { "ApiKey": [] @@ -95395,80 +88685,14 @@ "tags": [ "v1" ], - "summary": "Updates the edge host health", - "operationId": "v1EdgeHostDevicesHealthUpdate", + "summary": "Returns the associated profiles of a specified edge host device", + "operationId": "v1EdgeHostDevicesUidProfilesGet", "parameters": [ - { - "name": "body", - "in": "body", - "schema": { - "description": "EdgeHostHealth defines the desired health state of EdgeHostDevice", - "properties": { - "agentVersion": { - "type": "string" - }, - "message": { - "type": "string" - }, - "state": { - "type": "string", - "enum": [ - "healthy", - "unhealthy" - ] - } - } - } - }, { "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "204": { - "description": "The resource was updated successfully" - } - } - }, - "parameters": [ - { - "type": "string", - "name": "uid", - "in": "path", - "required": true - } - ] - }, - "/v1/edgehosts/{uid}/hostCheckSum": { - "patch": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Update the specified edge host device host check sum", - "operationId": "v1EdgeHostDeviceHostCheckSumUpdate", - "parameters": [ - { - "name": "body", - "in": "body", - "schema": { - "type": "object", - "properties": { - "hostCheckSum": { - "type": "string" - } - } - } + "description": "includes pack meta such as schema, presets", + "name": "includePackMeta", + "in": "query" }, { "type": "string", @@ -95478,404 +88702,13 @@ } ], "responses": { - "204": { - "description": "The resource was updated successfully" - } - } - }, - "parameters": [ - { - "type": "string", - "name": "uid", - "in": "path", - "required": true - } - ] - }, - "/v1/edgehosts/{uid}/hostPairingKey": { - "patch": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Update the specified edge host device host pairing key", - "operationId": "v1EdgeHostDeviceHostPairingKeyUpdate", - "parameters": [ - { - "name": "body", - "in": "body", + "200": { + "description": "OK", "schema": { "type": "object", - "properties": { - "hostPairingKey": { - "type": "string", - "format": "password" - } - } - } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "204": { - "description": "The resource was updated successfully" - } - } - }, - "parameters": [ - { - "type": "string", - "name": "uid", - "in": "path", - "required": true - } - ] - }, - "/v1/edgehosts/{uid}/meta": { - "put": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Updates the specified edge host device meta", - "operationId": "v1EdgeHostDevicesUidMetaUpdate", - "parameters": [ - { - "name": "body", - "in": "body", - "schema": { - "description": "Edge host device uid and name", - "type": "object", - "properties": { - "metadata": { - "description": "Object identity meta with tags", - "type": "object", - "properties": { - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - } - } - } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "204": { - "description": "The resource was updated successfully" - } - } - }, - "parameters": [ - { - "type": "string", - "name": "uid", - "in": "path", - "required": true - } - ] - }, - "/v1/edgehosts/{uid}/pack/manifests/{manifestUid}": { - "get": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Returns the specified edge host's manifest", - "operationId": "v1EdgeHostDevicesUidPackManifestsUidGet", - "parameters": [ - { - "type": "string", - "description": "edge host uid", - "name": "uid", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "manifest uid which is part of the pack ref", - "name": "manifestUid", - "in": "path", - "required": true - }, - { - "type": "boolean", - "default": false, - "description": "resolve pack manifest values if set to true", - "name": "resolveManifestValues", - "in": "query" - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "Pack manifest content", - "schema": { - "description": "Manifest object", - "properties": { - "metadata": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", - "type": "object", - "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "name": { - "description": "Name of the resource.", - "type": "string" - }, - "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", - "type": "string" - } - } - }, - "spec": { - "description": "Manifest spec", - "properties": { - "published": { - "description": "Published manifest object", - "type": "object", - "properties": { - "content": { - "description": "Manifest content in yaml", - "type": "string" - }, - "digest": { - "description": "Manifest digest", - "type": "string" - } - } - } - } - } - } - } - } - } - } - }, - "/v1/edgehosts/{uid}/packs/status": { - "patch": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Patch update specified edge host's packs status", - "operationId": "v1EdgeHostDevicesUidPacksStatusPatch", - "parameters": [ - { - "name": "body", - "in": "body", - "schema": { - "type": "object", - "properties": { - "packs": { - "type": "array", - "items": { - "type": "object", - "properties": { - "condition": { - "type": "object", - "properties": { - "message": { - "type": "string" - }, - "reason": { - "type": "string" - }, - "status": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "ReadyForInstall", - "Installed", - "Ready", - "Error", - "UpgradeAvailable", - "WaitingForOtherLayers" - ] - } - } - }, - "endTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "name": { - "description": "Pack name", - "type": "string" - }, - "profileUid": { - "description": "Cluster profile uid", - "type": "string" - }, - "startTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "type": { - "type": "string", - "default": "spectro", - "enum": [ - "spectro", - "helm", - "manifest", - "oci" - ] - }, - "version": { - "description": "pack version", - "type": "string" - } - } - } - } - } - } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "204": { - "description": "The resource was updated successfully" - } - } - }, - "parameters": [ - { - "type": "string", - "name": "uid", - "in": "path", - "required": true - } - ] - }, - "/v1/edgehosts/{uid}/profiles": { - "get": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Returns the associated profiles of a specified edge host device", - "operationId": "v1EdgeHostDevicesUidProfilesGet", - "parameters": [ - { - "type": "string", - "description": "includes pack meta such as schema, presets", - "name": "includePackMeta", - "in": "query" - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "object", - "required": [ - "profiles" - ], + "required": [ + "profiles" + ], "properties": { "profiles": { "type": "array", @@ -95888,7 +88721,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -95905,7 +88738,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -95917,11 +88750,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -95947,7 +88780,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -95964,7 +88797,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -95976,11 +88809,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -96054,11 +88887,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -96407,11 +89240,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -96532,6 +89365,26 @@ "uid": { "description": "Cluster profile uid", "type": "string" + }, + "variables": { + "type": "array", + "items": { + "description": "Variable with value which will be used within the packs of cluster profile", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Variable name", + "type": "string" + }, + "value": { + "description": "Actual value of the variable to be used within the cluster", + "type": "string" + } + } + } } } } @@ -96856,11 +89709,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -96874,7 +89727,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -96891,7 +89744,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -96903,11 +89756,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -97019,11 +89872,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -97037,7 +89890,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -97054,7 +89907,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -97066,11 +89919,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -97187,11 +90040,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -97205,7 +90058,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -97222,7 +90075,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -97234,11 +90087,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -97407,11 +90260,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -97425,7 +90278,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -97442,7 +90295,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -97454,11 +90307,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -97587,6 +90440,200 @@ } ] }, + "/v1/features": { + "get": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Retrieves the list of features", + "operationId": "v1FeaturesList", + "parameters": [ + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "object", + "required": [ + "items" + ], + "properties": { + "items": { + "description": "List of features", + "type": "array", + "uniqueItems": true, + "items": { + "description": "Feature response", + "type": "object", + "properties": { + "metadata": { + "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", + "type": "object", + "properties": { + "annotations": { + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "creationTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "deletionTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "labels": { + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "lastModifiedTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "name": { + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + }, + "uid": { + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", + "type": "string" + } + } + }, + "spec": { + "description": "Feature spec", + "properties": { + "description": { + "description": "Feature description", + "type": "string" + }, + "docLink": { + "description": "Feature doc link", + "type": "string" + }, + "key": { + "description": "Feature key", + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + }, + "/v1/features/{uid}": { + "put": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Update a feature", + "operationId": "v1FeaturesUpdate", + "parameters": [ + { + "name": "body", + "in": "body", + "schema": { + "description": "Feature update spec", + "properties": { + "metadata": { + "description": "ObjectMeta input entity for object creation", + "type": "object", + "properties": { + "annotations": { + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "labels": { + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "name": { + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + } + } + }, + "spec": { + "description": "Feature update spec", + "properties": { + "description": { + "description": "Feature description", + "type": "string" + }, + "docLink": { + "description": "Feature doc link", + "type": "string" + } + } + } + } + } + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + } + }, + "parameters": [ + { + "type": "string", + "description": "Specify the feature uid", + "name": "uid", + "in": "path", + "required": true + } + ] + }, "/v1/filters": { "get": { "security": [ @@ -97652,7 +90699,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -97669,7 +90716,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -97681,11 +90728,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -97823,21 +90870,21 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } @@ -97956,7 +91003,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -97973,7 +91020,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -97985,11 +91032,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -98071,21 +91118,21 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } @@ -98248,10 +91295,17 @@ { "type": "boolean", "default": false, - "description": "includeMasterMachines in boolean, group the data point by including master nodes if set to true", + "description": "Deprecated. includeMasterMachines in boolean, group the data point by including control plane nodes if set to true", "name": "includeMasterMachines", "in": "query" }, + { + "type": "boolean", + "default": false, + "description": "includeControlPlaneMachines in boolean, group the data point by including control plane nodes if set to true", + "name": "includeControlPlaneMachines", + "in": "query" + }, { "type": "boolean", "default": false, @@ -98449,10 +91503,17 @@ { "type": "boolean", "default": false, - "description": "includeMasterMachines in boolean, group the data point by including master nodes if set to true", + "description": "Deprecated. includeMasterMachines in boolean, group the data point by including control plane nodes if set to true", "name": "includeMasterMachines", "in": "query" }, + { + "type": "boolean", + "default": false, + "description": "includeControlPlaneMachines in boolean, group the data point by including control plane nodes if set to true", + "name": "includeControlPlaneMachines", + "in": "query" + }, { "type": "boolean", "default": false, @@ -98734,7 +91795,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -98751,7 +91812,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -98763,11 +91824,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -99059,7 +92120,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -99076,7 +92137,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -99088,11 +92149,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -99320,7 +92381,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -99337,7 +92398,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -99349,11 +92410,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -99380,7 +92441,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -99397,7 +92458,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -99409,11 +92470,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -99593,6 +92654,15 @@ "type": "string" } }, + "notifications": { + "description": "Cluster notifications status", + "properties": { + "isAvailable": { + "type": "boolean", + "x-omitempty": false + } + } + }, "state": { "type": "string" } @@ -100001,6 +93071,26 @@ "uid": { "description": "Cluster profile uid", "type": "string" + }, + "variables": { + "type": "array", + "items": { + "description": "Variable with value which will be used within the packs of cluster profile", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Variable name", + "type": "string" + }, + "value": { + "description": "Actual value of the variable to be used within the cluster", + "type": "string" + } + } + } } } } @@ -100074,11 +93164,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -100092,11 +93182,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -100410,7 +93500,7 @@ "type": "object", "properties": { "azs": { - "description": "for master pool, this will be the failure domains for kcp", + "description": "for control plane pool, this will be the failure domains for kcp", "type": "array", "items": { "type": "string" @@ -100571,6 +93661,26 @@ "uid": { "description": "Cluster profile uid", "type": "string" + }, + "variables": { + "type": "array", + "items": { + "description": "Variable with value which will be used within the packs of cluster profile", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Variable name", + "type": "string" + }, + "value": { + "description": "Actual value of the variable to be used within the cluster", + "type": "string" + } + } + } } } } @@ -100644,11 +93754,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -100662,11 +93772,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -100980,7 +94090,7 @@ "type": "object", "properties": { "azs": { - "description": "for master pool, this will be the failure domains for kcp", + "description": "for control plane pool, this will be the failure domains for kcp", "type": "array", "items": { "type": "string" @@ -101084,11 +94194,11 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", "type": "string" }, "kind": { - "description": "Cloud type of the cloud config", + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", "type": "string" }, "metadata": { @@ -101096,7 +94206,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -101113,7 +94223,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -101125,11 +94235,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -101160,11 +94270,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -101229,11 +94339,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -101378,11 +94488,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -101422,11 +94532,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -101491,11 +94601,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -101640,11 +94750,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -102291,638 +95401,26 @@ "uid": { "description": "Cluster profile uid", "type": "string" - } - } - } - }, - "clusterSettings": { - "type": "object", - "properties": { - "clusterMetaAttribute": { - "description": "ClusterMetaAttribute can be used to set additional cluster metadata information.", - "type": "string" - }, - "controlPlaneHealthCheckTimeout": { - "type": "string" - }, - "hostClusterConfig": { - "properties": { - "clusterEndpoint": { - "properties": { - "config": { - "properties": { - "ingressConfig": { - "description": "Ingress configuration for exposing the virtual cluster's kube-apiserver", - "properties": { - "host": { - "type": "string" - }, - "port": { - "type": "integer", - "format": "int64" - } - } - }, - "loadBalancerConfig": { - "description": "Load balancer configuration for exposing the virtual cluster's kube-apiserver", - "properties": { - "externalIPs": { - "type": "array", - "items": { - "type": "string" - } - }, - "externalTrafficPolicy": { - "type": "string" - }, - "loadBalancerSourceRanges": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - } - }, - "type": { - "description": "is enabled as host cluster", - "type": "string", - "enum": [ - "Ingress", - "LoadBalancer" - ] - } - } - }, - "clusterGroup": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", - "type": "string" - } - } - }, - "hostCluster": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", - "type": "string" - } - } - }, - "isHostCluster": { - "description": "is enabled as host cluster", - "type": "boolean", - "default": false, - "x-omitempty": false - } - } - }, - "lifecycleConfig": { - "properties": { - "pause": { - "description": "enable pause life cycle config", - "type": "boolean", - "default": false, - "x-omitempty": false - } - } - }, - "location": { - "description": "Cluster location information", - "type": "object", - "properties": { - "countryCode": { - "description": "country code for cluster location", - "type": "string" - }, - "countryName": { - "description": "country name for cluster location", - "type": "string" - }, - "geoLoc": { - "description": "Geolocation Latlong entity", - "type": "object", - "properties": { - "latitude": { - "description": "Latitude of a resource", - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "longitude": { - "description": "Longitude of a resource", - "type": "number", - "format": "float64", - "x-omitempty": false - } - } - }, - "regionCode": { - "description": "region code for cluster location", - "type": "string" - }, - "regionName": { - "description": "region name for cluster location", - "type": "string" - } - } - }, - "machineManagementConfig": { - "type": "object", - "properties": { - "osPatchConfig": { - "type": "object", - "properties": { - "onDemandPatchAfter": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "patchOnBoot": { - "description": "PatchOnBoot indicates need to do patch when node first boot up, only once", - "type": "boolean", - "x-omitempty": false - }, - "rebootIfRequired": { - "description": "Reboot once the OS patch is applied", - "type": "boolean", - "x-omitempty": false - }, - "schedule": { - "description": "The schedule at which security patches will be applied to OS. Schedule should be in Cron format, see https://en.wikipedia.org/wiki/Cron for more help.", - "type": "string" - } - } - } - } - }, - "resources": { - "type": "object", - "properties": { - "namespaces": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Cluster Namespace resource defintion", - "type": "object", - "properties": { - "metadata": { - "description": "ObjectMeta update entity with uid as input", - "type": "object", - "properties": { - "annotations": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - }, - "spec": { - "description": "Cluster namespace spec", - "properties": { - "isRegex": { - "type": "boolean", - "x-omitempty": false - }, - "relatedObject": { - "description": "Object for which the resource is related", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "spectrocluster", - "machine", - "cloudconfig", - "clusterprofile", - "pack", - "appprofile", - "appdeployment", - "edgehost" - ] - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - }, - "resourceAllocation": { - "description": "Cluster namespace resource allocation", - "properties": { - "cpuCores": { - "type": "number", - "minimum": 0, - "exclusiveMinimum": true - }, - "memoryMiB": { - "type": "number", - "minimum": 0, - "exclusiveMinimum": true - } - } - } - } - } - } - } - }, - "rbacs": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Cluster RBAC role binding defintion", - "type": "object", - "properties": { - "metadata": { - "description": "ObjectMeta update entity with uid as input", - "type": "object", - "properties": { - "annotations": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - }, - "spec": { - "description": "Cluster RBAC spec", - "type": "object", - "properties": { - "bindings": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Cluster RBAC binding", - "type": "object", - "properties": { - "namespace": { - "type": "string" - }, - "role": { - "description": "Cluster role ref", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "Role", - "ClusterRole" - ] - }, - "name": { - "type": "string" - } - } - }, - "subjects": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Cluster role ref", - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "namespace": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "User", - "Group", - "ServiceAccount" - ] - } - } - } - }, - "type": { - "type": "string", - "enum": [ - "RoleBinding", - "ClusterRoleBinding" - ] - } - } - } - }, - "relatedObject": { - "description": "Object for which the resource is related", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "spectrocluster", - "machine", - "cloudconfig", - "clusterprofile", - "pack", - "appprofile", - "appdeployment", - "edgehost" - ] - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - } - } - } - } - } - } - } - }, - "updateWorkerPoolsInParallel": { - "type": "boolean" - } - } - }, - "machineConfig": { - "type": "object", - "required": [ - "flavorConfig" - ], - "properties": { - "azs": { - "description": "for master pool, this will be the failure domains for kcp", - "type": "array", - "items": { - "type": "string" - } - }, - "flavorConfig": { - "required": [ - "name" - ], - "properties": { - "diskGiB": { - "description": "DiskGiB is the size of a virtual machine's disk, in GiB.", - "type": "integer", - "format": "int32" - }, - "memoryMiB": { - "description": "MemoryMiB is the size of a virtual machine's memory, in MiB.", - "type": "integer", - "format": "int64" - }, - "name": { - "description": "Openstack flavor name", - "type": "string" - }, - "numCPUs": { - "description": "NumCPUs is the number of virtual processors in a virtual machine.", - "type": "integer", - "format": "int32" - } - } - } - } - }, - "size": { - "description": "size of the pool, number of machines", - "type": "integer", - "format": "int32" - } - } - } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "204": { - "description": "The resource was updated successfully" - } - } - }, - "post": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "create the OpenStack cloud config for the private gateway", - "operationId": "v1OverlordsUidOpenStackCloudConfigCreate", - "parameters": [ - { - "name": "body", - "in": "body", - "schema": { - "properties": { - "clusterConfig": { - "description": "Cluster level configuration for OpenStack cloud and applicable for all the machine pools", - "type": "object", - "properties": { - "bastionDisabled": { - "description": "Create bastion node option we have earlier supported creation of bastion by default", - "type": "boolean" - }, - "dnsNameservers": { - "description": "DNSNameservers is the list of nameservers for OpenStack Subnet being created. Set this value when you need create a new network/subnet while the access through DNS is required.", - "type": "array", - "items": { - "type": "string" - } - }, - "domain": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - } - } - }, - "network": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - } - } - }, - "nodeCidr": { - "description": "For dynamic provision NodeCIDR is the OpenStack Subnet to be created. Cluster actuator will create a network, a subnet with NodeCIDR, and a router connected to this subnet. If you leave this empty, no network will be created.", - "type": "string" - }, - "project": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - } - } - }, - "region": { - "type": "string" - }, - "sshKeyName": { - "type": "string" - }, - "subnet": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - } - } - } - } - }, - "clusterProfiles": { - "description": "Cluster profiles pack configuration for private gateway cluster", - "type": "array", - "items": { - "description": "Cluster profile request payload", - "type": "object", - "properties": { - "packValues": { - "description": "Cluster profile packs array", + }, + "variables": { "type": "array", - "uniqueItems": true, "items": { - "description": "Pack values entity to refer the existing pack for the values override", + "description": "Variable with value which will be used within the packs of cluster profile", "type": "object", "required": [ "name" ], "properties": { - "manifests": { - "description": "Pack manifests are additional content as part of the profile", - "type": "array", - "items": { - "description": "Manifest update request payload", - "required": [ - "name" - ], - "properties": { - "content": { - "description": "Manifest content in yaml", - "type": "string" - }, - "name": { - "description": "Manifest name", - "type": "string" - }, - "uid": { - "description": "Manifest uid", - "type": "string" - } - } - } - }, "name": { - "description": "Pack name", - "type": "string" - }, - "tag": { - "description": "Pack version tag", + "description": "Variable name", "type": "string" }, - "type": { - "type": "string", - "default": "spectro", - "enum": [ - "spectro", - "helm", - "manifest", - "oci" - ] - }, - "values": { - "description": "Pack values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", + "value": { + "description": "Actual value of the variable to be used within the cluster", "type": "string" } } } - }, - "replaceWithProfile": { - "description": "Cluster profile uid to be replaced with new profile", - "type": "string" - }, - "uid": { - "description": "Cluster profile uid", - "type": "string" } } } @@ -102996,11 +95494,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -103014,11 +95512,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -103335,7 +95833,659 @@ ], "properties": { "azs": { - "description": "for master pool, this will be the failure domains for kcp", + "description": "for control plane pool, this will be the failure domains for kcp", + "type": "array", + "items": { + "type": "string" + } + }, + "flavorConfig": { + "required": [ + "name" + ], + "properties": { + "diskGiB": { + "description": "DiskGiB is the size of a virtual machine's disk, in GiB.", + "type": "integer", + "format": "int32" + }, + "memoryMiB": { + "description": "MemoryMiB is the size of a virtual machine's memory, in MiB.", + "type": "integer", + "format": "int64" + }, + "name": { + "description": "Openstack flavor name", + "type": "string" + }, + "numCPUs": { + "description": "NumCPUs is the number of virtual processors in a virtual machine.", + "type": "integer", + "format": "int32" + } + } + } + } + }, + "size": { + "description": "size of the pool, number of machines", + "type": "integer", + "format": "int32" + } + } + } + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + } + }, + "post": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "create the OpenStack cloud config for the private gateway", + "operationId": "v1OverlordsUidOpenStackCloudConfigCreate", + "parameters": [ + { + "name": "body", + "in": "body", + "schema": { + "properties": { + "clusterConfig": { + "description": "Cluster level configuration for OpenStack cloud and applicable for all the machine pools", + "type": "object", + "properties": { + "bastionDisabled": { + "description": "Create bastion node option we have earlier supported creation of bastion by default", + "type": "boolean" + }, + "dnsNameservers": { + "description": "DNSNameservers is the list of nameservers for OpenStack Subnet being created. Set this value when you need create a new network/subnet while the access through DNS is required.", + "type": "array", + "items": { + "type": "string" + } + }, + "domain": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + } + }, + "network": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + } + }, + "nodeCidr": { + "description": "For dynamic provision NodeCIDR is the OpenStack Subnet to be created. Cluster actuator will create a network, a subnet with NodeCIDR, and a router connected to this subnet. If you leave this empty, no network will be created.", + "type": "string" + }, + "project": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + } + }, + "region": { + "type": "string" + }, + "sshKeyName": { + "type": "string" + }, + "subnet": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + } + } + } + }, + "clusterProfiles": { + "description": "Cluster profiles pack configuration for private gateway cluster", + "type": "array", + "items": { + "description": "Cluster profile request payload", + "type": "object", + "properties": { + "packValues": { + "description": "Cluster profile packs array", + "type": "array", + "uniqueItems": true, + "items": { + "description": "Pack values entity to refer the existing pack for the values override", + "type": "object", + "required": [ + "name" + ], + "properties": { + "manifests": { + "description": "Pack manifests are additional content as part of the profile", + "type": "array", + "items": { + "description": "Manifest update request payload", + "required": [ + "name" + ], + "properties": { + "content": { + "description": "Manifest content in yaml", + "type": "string" + }, + "name": { + "description": "Manifest name", + "type": "string" + }, + "uid": { + "description": "Manifest uid", + "type": "string" + } + } + } + }, + "name": { + "description": "Pack name", + "type": "string" + }, + "tag": { + "description": "Pack version tag", + "type": "string" + }, + "type": { + "type": "string", + "default": "spectro", + "enum": [ + "spectro", + "helm", + "manifest", + "oci" + ] + }, + "values": { + "description": "Pack values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", + "type": "string" + } + } + } + }, + "replaceWithProfile": { + "description": "Cluster profile uid to be replaced with new profile", + "type": "string" + }, + "uid": { + "description": "Cluster profile uid", + "type": "string" + }, + "variables": { + "type": "array", + "items": { + "description": "Variable with value which will be used within the packs of cluster profile", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Variable name", + "type": "string" + }, + "value": { + "description": "Actual value of the variable to be used within the cluster", + "type": "string" + } + } + } + } + } + } + }, + "clusterSettings": { + "type": "object", + "properties": { + "clusterMetaAttribute": { + "description": "ClusterMetaAttribute can be used to set additional cluster metadata information.", + "type": "string" + }, + "controlPlaneHealthCheckTimeout": { + "type": "string" + }, + "hostClusterConfig": { + "properties": { + "clusterEndpoint": { + "properties": { + "config": { + "properties": { + "ingressConfig": { + "description": "Ingress configuration for exposing the virtual cluster's kube-apiserver", + "properties": { + "host": { + "type": "string" + }, + "port": { + "type": "integer", + "format": "int64" + } + } + }, + "loadBalancerConfig": { + "description": "Load balancer configuration for exposing the virtual cluster's kube-apiserver", + "properties": { + "externalIPs": { + "type": "array", + "items": { + "type": "string" + } + }, + "externalTrafficPolicy": { + "type": "string" + }, + "loadBalancerSourceRanges": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "type": { + "description": "is enabled as host cluster", + "type": "string", + "enum": [ + "Ingress", + "LoadBalancer" + ] + } + } + }, + "clusterGroup": { + "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", + "type": "object", + "properties": { + "kind": { + "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "uid": { + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", + "type": "string" + } + } + }, + "hostCluster": { + "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", + "type": "object", + "properties": { + "kind": { + "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "uid": { + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", + "type": "string" + } + } + }, + "isHostCluster": { + "description": "is enabled as host cluster", + "type": "boolean", + "default": false, + "x-omitempty": false + } + } + }, + "lifecycleConfig": { + "properties": { + "pause": { + "description": "enable pause life cycle config", + "type": "boolean", + "default": false, + "x-omitempty": false + } + } + }, + "location": { + "description": "Cluster location information", + "type": "object", + "properties": { + "countryCode": { + "description": "country code for cluster location", + "type": "string" + }, + "countryName": { + "description": "country name for cluster location", + "type": "string" + }, + "geoLoc": { + "description": "Geolocation Latlong entity", + "type": "object", + "properties": { + "latitude": { + "description": "Latitude of a resource", + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "longitude": { + "description": "Longitude of a resource", + "type": "number", + "format": "float64", + "x-omitempty": false + } + } + }, + "regionCode": { + "description": "region code for cluster location", + "type": "string" + }, + "regionName": { + "description": "region name for cluster location", + "type": "string" + } + } + }, + "machineManagementConfig": { + "type": "object", + "properties": { + "osPatchConfig": { + "type": "object", + "properties": { + "onDemandPatchAfter": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "patchOnBoot": { + "description": "PatchOnBoot indicates need to do patch when node first boot up, only once", + "type": "boolean", + "x-omitempty": false + }, + "rebootIfRequired": { + "description": "Reboot once the OS patch is applied", + "type": "boolean", + "x-omitempty": false + }, + "schedule": { + "description": "The schedule at which security patches will be applied to OS. Schedule should be in Cron format, see https://en.wikipedia.org/wiki/Cron for more help.", + "type": "string" + } + } + } + } + }, + "resources": { + "type": "object", + "properties": { + "namespaces": { + "type": "array", + "uniqueItems": true, + "items": { + "description": "Cluster Namespace resource defintion", + "type": "object", + "properties": { + "metadata": { + "description": "ObjectMeta update entity with uid as input", + "type": "object", + "properties": { + "annotations": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + } + }, + "spec": { + "description": "Cluster namespace spec", + "properties": { + "isRegex": { + "type": "boolean", + "x-omitempty": false + }, + "relatedObject": { + "description": "Object for which the resource is related", + "type": "object", + "properties": { + "kind": { + "type": "string", + "enum": [ + "spectrocluster", + "machine", + "cloudconfig", + "clusterprofile", + "pack", + "appprofile", + "appdeployment", + "edgehost" + ] + }, + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + } + }, + "resourceAllocation": { + "description": "Cluster namespace resource allocation", + "properties": { + "cpuCores": { + "type": "number", + "minimum": 0, + "exclusiveMinimum": true + }, + "memoryMiB": { + "type": "number", + "minimum": 0, + "exclusiveMinimum": true + } + } + } + } + } + } + } + }, + "rbacs": { + "type": "array", + "uniqueItems": true, + "items": { + "description": "Cluster RBAC role binding defintion", + "type": "object", + "properties": { + "metadata": { + "description": "ObjectMeta update entity with uid as input", + "type": "object", + "properties": { + "annotations": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + } + }, + "spec": { + "description": "Cluster RBAC spec", + "type": "object", + "properties": { + "bindings": { + "type": "array", + "uniqueItems": true, + "items": { + "description": "Cluster RBAC binding", + "type": "object", + "properties": { + "namespace": { + "type": "string" + }, + "role": { + "description": "Cluster role ref", + "type": "object", + "properties": { + "kind": { + "type": "string", + "enum": [ + "Role", + "ClusterRole" + ] + }, + "name": { + "type": "string" + } + } + }, + "subjects": { + "type": "array", + "uniqueItems": true, + "items": { + "description": "Cluster role ref", + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "namespace": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "User", + "Group", + "ServiceAccount" + ] + } + } + } + }, + "type": { + "type": "string", + "enum": [ + "RoleBinding", + "ClusterRoleBinding" + ] + } + } + } + }, + "relatedObject": { + "description": "Object for which the resource is related", + "type": "object", + "properties": { + "kind": { + "type": "string", + "enum": [ + "spectrocluster", + "machine", + "cloudconfig", + "clusterprofile", + "pack", + "appprofile", + "appdeployment", + "edgehost" + ] + }, + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + } + } + } + } + } + } + } + } + }, + "updateWorkerPoolsInParallel": { + "type": "boolean" + } + } + }, + "machineConfig": { + "type": "object", + "required": [ + "flavorConfig" + ], + "properties": { + "azs": { + "description": "for control plane pool, this will be the failure domains for kcp", "type": "array", "items": { "type": "string" @@ -103447,11 +96597,11 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", "type": "string" }, "kind": { - "description": "Cloud type of the cloud config", + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", "type": "string" }, "metadata": { @@ -103459,7 +96609,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -103476,7 +96626,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -103488,11 +96638,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -103523,11 +96673,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -103592,11 +96742,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -103741,11 +96891,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -103785,11 +96935,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -103854,11 +97004,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -104003,11 +97153,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -104681,6 +97831,26 @@ "uid": { "description": "Cluster profile uid", "type": "string" + }, + "variables": { + "type": "array", + "items": { + "description": "Variable with value which will be used within the packs of cluster profile", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Variable name", + "type": "string" + }, + "value": { + "description": "Actual value of the variable to be used within the cluster", + "type": "string" + } + } + } } } } @@ -104754,11 +97924,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -104772,11 +97942,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -105308,6 +98478,26 @@ "uid": { "description": "Cluster profile uid", "type": "string" + }, + "variables": { + "type": "array", + "items": { + "description": "Variable with value which will be used within the packs of cluster profile", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Variable name", + "type": "string" + }, + "value": { + "description": "Actual value of the variable to be used within the cluster", + "type": "string" + } + } + } } } } @@ -105381,11 +98571,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -105399,11 +98589,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -105791,11 +98981,11 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", "type": "string" }, "kind": { - "description": "Cloud type of the cloud config", + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", "type": "string" }, "metadata": { @@ -105803,7 +98993,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -105820,7 +99010,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -105832,11 +99022,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -105867,11 +99057,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -105936,11 +99126,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -106085,11 +99275,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -106129,11 +99319,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -106198,11 +99388,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -106347,11 +99537,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -106493,7 +99683,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -106510,7 +99700,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -106522,11 +99712,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -106648,7 +99838,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -106665,7 +99855,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -106677,11 +99867,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -106813,7 +100003,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -106830,7 +100020,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -106842,11 +100032,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -107173,7 +100363,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -107190,7 +100380,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -107202,11 +100392,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -107233,7 +100423,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -107250,7 +100440,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -107262,11 +100452,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -107446,6 +100636,15 @@ "type": "string" } }, + "notifications": { + "description": "Cluster notifications status", + "properties": { + "isAvailable": { + "type": "boolean", + "x-omitempty": false + } + } + }, "state": { "type": "string" } @@ -107532,21 +100731,21 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } @@ -107703,11 +100902,11 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", + "description": "Pack api version", "type": "string" }, "kind": { - "description": "Deprecated. Not used for the resource info.", + "description": "Pack kind", "type": "string" }, "metadata": { @@ -107715,7 +100914,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -107732,7 +100931,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -107744,11 +100943,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -107822,11 +101021,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -108486,11 +101685,11 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", + "description": "Pack api version", "type": "string" }, "kind": { - "description": "Deprecated. Not used for the resource info.", + "description": "Pack kind", "type": "string" }, "metadata": { @@ -108498,7 +101697,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -108515,7 +101714,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -108527,11 +101726,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -110070,7 +103269,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -110087,7 +103286,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -110099,11 +103298,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -110260,7 +103459,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -110277,7 +103476,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -110289,11 +103488,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -110483,7 +103682,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -110500,7 +103699,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -110512,11 +103711,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -111355,7 +104554,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -111372,7 +104571,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -111384,11 +104583,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -111857,11 +105056,9 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "metadata": { @@ -111869,7 +105066,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -111886,7 +105083,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -111898,11 +105095,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -112071,7 +105268,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -112088,7 +105285,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -112100,11 +105297,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -112335,7 +105532,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -112352,7 +105549,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -112364,11 +105561,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -112612,11 +105809,9 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "metadata": { @@ -112624,7 +105819,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -112641,7 +105836,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -112653,11 +105848,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -112793,11 +105988,9 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "metadata": { @@ -112805,7 +105998,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -112822,7 +106015,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -112834,11 +106027,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -113230,7 +106423,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -113247,7 +106440,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -113259,11 +106452,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -113553,7 +106746,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -113570,7 +106763,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -113582,11 +106775,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -114001,7 +107194,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -114018,7 +107211,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -114030,11 +107223,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -114249,7 +107442,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -114266,7 +107459,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -114278,11 +107471,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -114408,7 +107601,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -114425,7 +107618,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -114437,11 +107630,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -114735,7 +107928,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -114752,7 +107945,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -114764,11 +107957,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -114922,7 +108115,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -114939,7 +108132,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -114951,11 +108144,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -115318,11 +108511,9 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "metadata": { @@ -115330,7 +108521,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -115347,7 +108538,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -115359,11 +108550,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -115534,11 +108725,9 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "metadata": { @@ -115546,7 +108735,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -115563,7 +108752,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -115575,11 +108764,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -115818,7 +109007,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -115835,7 +109024,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -115847,11 +109036,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -116096,11 +109285,9 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "metadata": { @@ -116108,7 +109295,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -116125,7 +109312,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -116137,11 +109324,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -116277,11 +109464,9 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "metadata": { @@ -116289,7 +109474,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -116306,7 +109491,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -116318,11 +109503,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -116820,7 +110005,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -116837,7 +110022,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -116849,11 +110034,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -116956,7 +110141,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -116973,7 +110158,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -116985,11 +110170,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -117092,7 +110277,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -117109,7 +110294,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -117121,11 +110306,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -117199,7 +110384,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -117216,7 +110401,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -117228,11 +110413,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -117371,8870 +110556,65 @@ } } }, - "parameters": [ - { - "type": "string", - "name": "uid", - "in": "path", - "required": true - } - ] - }, - "/v1/services/{serviceName}/version": { - "get": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Returns a latest version for a given service name", - "operationId": "v1ServiceVersionGet", - "parameters": [ - { - "enum": [ - "ally", - "jet", - "palette", - "ambit", - "ally-lite", - "palette-lite", - "crony", - "tick", - "edge", - "lodge", - "level", - "edgeconfig", - "firth", - "stylus" - ], - "type": "string", - "description": "service name", - "name": "serviceName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "spectro cluster uid", - "name": "clusterUid", - "in": "query" - }, - { - "type": "string", - "description": "edge host uid", - "name": "edgeHostUid", - "in": "query" - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "description": "Service version information", - "type": "object", - "properties": { - "apiVersion": { - "description": "Deprecated. Not used for the resource info.", - "type": "string" - }, - "kind": { - "description": "Deprecated. Not used for the resource info.", - "type": "string" - }, - "metadata": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", - "type": "object", - "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "name": { - "description": "Name of the resource.", - "type": "string" - }, - "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", - "type": "string" - } - } - }, - "spec": { - "type": "object", - "properties": { - "latestVersion": { - "type": "object", - "properties": { - "content": { - "type": "string" - }, - "name": { - "type": "string" - }, - "path": { - "type": "string" - }, - "repoName": { - "type": "string" - }, - "sha": { - "type": "string" - } - } - }, - "name": { - "type": "string" - } - } - } - } - } - } - } - } - }, - "/v1/services/{serviceName}/versions/{version}/manifest": { - "get": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Returns a service manifest for a given service name and version", - "operationId": "v1ServiceManifestGet", - "parameters": [ - { - "enum": [ - "ally", - "jet", - "palette", - "ambit", - "ally-lite", - "palette-lite", - "crony", - "tick", - "edge", - "lodge", - "level", - "edgeconfig", - "firth", - "stylus" - ], - "type": "string", - "description": "service name", - "name": "serviceName", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "service version", - "name": "version", - "in": "path", - "required": true - }, - { - "enum": [ - "apply", - "delete", - "resources" - ], - "type": "string", - "description": "action type", - "name": "action", - "in": "query", - "required": true - }, - { - "type": "string", - "description": "resource file name", - "name": "resourceFilename", - "in": "query" - }, - { - "type": "string", - "description": "spectro cluster uid", - "name": "clusterUid", - "in": "query" - }, - { - "type": "string", - "description": "edge host uid", - "name": "edgeHostUid", - "in": "query" - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "description": "Service manifest information", - "type": "object", - "properties": { - "apiVersion": { - "description": "Deprecated. Not used for the resource info.", - "type": "string" - }, - "kind": { - "description": "Deprecated. Not used for the resource info.", - "type": "string" - }, - "metadata": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", - "type": "object", - "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "name": { - "description": "Name of the resource.", - "type": "string" - }, - "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", - "type": "string" - } - } - }, - "spec": { - "type": "object", - "properties": { - "manifests": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "object", - "properties": { - "content": { - "type": "string" - }, - "name": { - "type": "string" - }, - "path": { - "type": "string" - }, - "repoName": { - "type": "string" - }, - "sha": { - "type": "string" - } - } - } - }, - "name": { - "type": "string" - }, - "version": { - "type": "string" - } - } - } - } - } - } - } - } - }, - "/v1/spectroclusters/agents/{messageKey}/notify": { - "post": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "operationId": "V1SpectroClustersAgentsNotify", - "parameters": [ - { - "type": "string", - "name": "messageKey", - "in": "path", - "required": true - }, - { - "name": "body", - "in": "body", - "schema": { - "description": "SpectroClusters for which agents has to be notified", - "properties": { - "clusterUids": { - "type": "array", - "items": { - "type": "string" - } - }, - "notifyAllClusters": { - "type": "boolean" - } - } - } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "204": { - "description": "Ok response without content", - "headers": { - "AuditUid": { - "type": "string", - "description": "Audit uid for the request" - } - } - } - } - } - }, - "/v1/spectroclusters/aks": { - "post": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Creates an AKS cluster", - "operationId": "v1SpectroClustersAksCreate", - "parameters": [ - { - "name": "body", - "in": "body", - "schema": { - "description": "Azure cluster request payload for create and update", - "type": "object", - "properties": { - "metadata": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", - "type": "object", - "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "name": { - "description": "Name of the resource.", - "type": "string" - }, - "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", - "type": "string" - } - } - }, - "spec": { - "type": "object", - "required": [ - "cloudType", - "cloudAccountUid", - "cloudConfig" - ], - "properties": { - "cloudAccountUid": { - "description": "Cloud account uid to be used for cluster provisioning", - "type": "string" - }, - "cloudConfig": { - "description": "Cluster level configuration for Azure cloud and applicable for all the machine pools", - "type": "object", - "required": [ - "subscriptionId", - "location", - "sshKey" - ], - "properties": { - "aadProfile": { - "description": "AADProfile - AAD integration is managed by AKS.", - "type": "object", - "required": [ - "managed", - "adminGroupObjectIDs" - ], - "properties": { - "adminGroupObjectIDs": { - "description": "AdminGroupObjectIDs - AAD group object IDs that will have admin role of the cluster.", - "type": "array", - "items": { - "type": "string" - } - }, - "managed": { - "description": "Managed - Whether to enable managed AAD.", - "type": "boolean", - "x-omitempty": false - } - } - }, - "apiServerAccessProfile": { - "description": "APIServerAccessProfile - access profile for AKS API server.", - "type": "object", - "properties": { - "authorizedIPRanges": { - "description": "AuthorizedIPRanges - Authorized IP Ranges to kubernetes API server.", - "type": "array", - "items": { - "type": "string", - "default": "" - } - }, - "enablePrivateCluster": { - "description": "EnablePrivateCluster - Whether to create the cluster as a private cluster or not.", - "type": "boolean" - }, - "enablePrivateClusterPublicFQDN": { - "description": "EnablePrivateClusterPublicFQDN - Whether to create additional public FQDN for private cluster or not.", - "type": "boolean" - }, - "privateDNSZone": { - "description": "PrivateDNSZone - Private dns zone mode for private cluster.", - "type": "string" - } - } - }, - "containerName": { - "type": "string" - }, - "controlPlaneSubnet": { - "type": "object", - "properties": { - "cidrBlock": { - "description": "CidrBlock is the CIDR block to be used when the provider creates a managed Vnet.", - "type": "string" - }, - "name": { - "type": "string" - }, - "securityGroupName": { - "description": "Network Security Group(NSG) to be attached to subnet. NSG for a control plane subnet, should allow inbound to port 6443, as port 6443 is used by kubeadm to bootstrap the control planes", - "type": "string" - } - } - }, - "enablePrivateCluster": { - "description": "Deprecated. use apiServerAccessProfile.enablePrivateCluster", - "type": "boolean" - }, - "infraLBConfig": { - "type": "object", - "properties": { - "apiServerLB": { - "description": "LoadBalancerSpec defines an Azure load balancer.", - "type": "object", - "properties": { - "apiServerLBStaticIP": { - "type": "string" - }, - "ipAllocationMethod": { - "type": "string", - "default": "Dynamic", - "enum": [ - "Static", - "Dynamic" - ] - }, - "privateDNSName": { - "type": "string" - }, - "type": { - "description": "Load Balancer type", - "type": "string", - "default": "Public", - "enum": [ - "Internal", - "Public" - ] - } - } - } - } - }, - "location": { - "description": "Location is the Azure datacenter location", - "type": "string" - }, - "resourceGroup": { - "type": "string" - }, - "sshKey": { - "type": "string" - }, - "storageAccountName": { - "type": "string" - }, - "subscriptionId": { - "description": "Subscription ID is unique identifier for the subscription used to access Azure services", - "type": "string" - }, - "vnetCidrBlock": { - "type": "string" - }, - "vnetName": { - "description": "VNETName is the virtual network in which the cluster is to be provisioned.", - "type": "string" - }, - "vnetResourceGroup": { - "type": "string" - }, - "workerSubnet": { - "type": "object", - "properties": { - "cidrBlock": { - "description": "CidrBlock is the CIDR block to be used when the provider creates a managed Vnet.", - "type": "string" - }, - "name": { - "type": "string" - }, - "securityGroupName": { - "description": "Network Security Group(NSG) to be attached to subnet. NSG for a control plane subnet, should allow inbound to port 6443, as port 6443 is used by kubeadm to bootstrap the control planes", - "type": "string" - } - } - } - } - }, - "clusterConfig": { - "type": "object", - "properties": { - "clusterMetaAttribute": { - "description": "ClusterMetaAttribute can be used to set additional cluster metadata information.", - "type": "string" - }, - "controlPlaneHealthCheckTimeout": { - "type": "string" - }, - "hostClusterConfig": { - "properties": { - "clusterEndpoint": { - "properties": { - "config": { - "properties": { - "ingressConfig": { - "description": "Ingress configuration for exposing the virtual cluster's kube-apiserver", - "properties": { - "host": { - "type": "string" - }, - "port": { - "type": "integer", - "format": "int64" - } - } - }, - "loadBalancerConfig": { - "description": "Load balancer configuration for exposing the virtual cluster's kube-apiserver", - "properties": { - "externalIPs": { - "type": "array", - "items": { - "type": "string" - } - }, - "externalTrafficPolicy": { - "type": "string" - }, - "loadBalancerSourceRanges": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - } - }, - "type": { - "description": "is enabled as host cluster", - "type": "string", - "enum": [ - "Ingress", - "LoadBalancer" - ] - } - } - }, - "clusterGroup": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", - "type": "string" - } - } - }, - "hostCluster": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", - "type": "string" - } - } - }, - "isHostCluster": { - "description": "is enabled as host cluster", - "type": "boolean", - "default": false, - "x-omitempty": false - } - } - }, - "lifecycleConfig": { - "properties": { - "pause": { - "description": "enable pause life cycle config", - "type": "boolean", - "default": false, - "x-omitempty": false - } - } - }, - "location": { - "description": "Cluster location information", - "type": "object", - "properties": { - "countryCode": { - "description": "country code for cluster location", - "type": "string" - }, - "countryName": { - "description": "country name for cluster location", - "type": "string" - }, - "geoLoc": { - "description": "Geolocation Latlong entity", - "type": "object", - "properties": { - "latitude": { - "description": "Latitude of a resource", - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "longitude": { - "description": "Longitude of a resource", - "type": "number", - "format": "float64", - "x-omitempty": false - } - } - }, - "regionCode": { - "description": "region code for cluster location", - "type": "string" - }, - "regionName": { - "description": "region name for cluster location", - "type": "string" - } - } - }, - "machineManagementConfig": { - "type": "object", - "properties": { - "osPatchConfig": { - "type": "object", - "properties": { - "onDemandPatchAfter": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "patchOnBoot": { - "description": "PatchOnBoot indicates need to do patch when node first boot up, only once", - "type": "boolean", - "x-omitempty": false - }, - "rebootIfRequired": { - "description": "Reboot once the OS patch is applied", - "type": "boolean", - "x-omitempty": false - }, - "schedule": { - "description": "The schedule at which security patches will be applied to OS. Schedule should be in Cron format, see https://en.wikipedia.org/wiki/Cron for more help.", - "type": "string" - } - } - } - } - }, - "resources": { - "type": "object", - "properties": { - "namespaces": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Cluster Namespace resource defintion", - "type": "object", - "properties": { - "metadata": { - "description": "ObjectMeta update entity with uid as input", - "type": "object", - "properties": { - "annotations": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - }, - "spec": { - "description": "Cluster namespace spec", - "properties": { - "isRegex": { - "type": "boolean", - "x-omitempty": false - }, - "relatedObject": { - "description": "Object for which the resource is related", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "spectrocluster", - "machine", - "cloudconfig", - "clusterprofile", - "pack", - "appprofile", - "appdeployment", - "edgehost" - ] - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - }, - "resourceAllocation": { - "description": "Cluster namespace resource allocation", - "properties": { - "cpuCores": { - "type": "number", - "minimum": 0, - "exclusiveMinimum": true - }, - "memoryMiB": { - "type": "number", - "minimum": 0, - "exclusiveMinimum": true - } - } - } - } - } - } - } - }, - "rbacs": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Cluster RBAC role binding defintion", - "type": "object", - "properties": { - "metadata": { - "description": "ObjectMeta update entity with uid as input", - "type": "object", - "properties": { - "annotations": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - }, - "spec": { - "description": "Cluster RBAC spec", - "type": "object", - "properties": { - "bindings": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Cluster RBAC binding", - "type": "object", - "properties": { - "namespace": { - "type": "string" - }, - "role": { - "description": "Cluster role ref", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "Role", - "ClusterRole" - ] - }, - "name": { - "type": "string" - } - } - }, - "subjects": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Cluster role ref", - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "namespace": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "User", - "Group", - "ServiceAccount" - ] - } - } - } - }, - "type": { - "type": "string", - "enum": [ - "RoleBinding", - "ClusterRoleBinding" - ] - } - } - } - }, - "relatedObject": { - "description": "Object for which the resource is related", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "spectrocluster", - "machine", - "cloudconfig", - "clusterprofile", - "pack", - "appprofile", - "appdeployment", - "edgehost" - ] - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - } - } - } - } - } - } - } - }, - "updateWorkerPoolsInParallel": { - "type": "boolean" - } - } - }, - "machinepoolconfig": { - "type": "array", - "items": { - "type": "object", - "required": [ - "cloudConfig" - ], - "properties": { - "cloudConfig": { - "type": "object", - "properties": { - "azs": { - "type": "array", - "items": { - "type": "string" - } - }, - "instanceType": { - "description": "Instance type stands for VMSize in Azure", - "type": "string" - }, - "isSystemNodePool": { - "description": "whether this pool is for system node Pool", - "type": "boolean" - }, - "osDisk": { - "type": "object", - "properties": { - "diskSizeGB": { - "type": "integer", - "format": "int32" - }, - "managedDisk": { - "type": "object", - "properties": { - "storageAccountType": { - "type": "string" - } - } - }, - "osType": { - "type": "string", - "default": "Linux", - "enum": [ - "Linux", - "Windows" - ] - } - } - } - } - }, - "managedPoolConfig": { - "type": "object", - "properties": { - "isSystemNodePool": { - "description": "whether this pool is for system node Pool", - "type": "boolean", - "x-omitempty": false - }, - "osType": { - "type": "string", - "default": "Linux", - "enum": [ - "Linux", - "Windows" - ] - } - } - }, - "poolConfig": { - "description": "Machine pool configuration for the cluster", - "type": "object", - "required": [ - "name", - "size", - "labels" - ], - "properties": { - "additionalLabels": { - "description": "Additional labels to be part of the machine pool", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "additionalTags": { - "description": "AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "isControlPlane": { - "description": "Whether this pool is for control plane", - "type": "boolean", - "x-omitempty": false - }, - "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", - "type": "array", - "items": { - "type": "string" - } - }, - "machinePoolProperties": { - "description": "Machine pool specific properties", - "type": "object", - "properties": { - "archType": { - "type": "string", - "default": "amd64", - "enum": [ - "amd64", - "arm64" - ] - } - } - }, - "maxSize": { - "description": "Max size of the pool, for scaling", - "type": "integer", - "format": "int32" - }, - "minSize": { - "description": "Min size of the pool, for scaling", - "type": "integer", - "format": "int32" - }, - "name": { - "type": "string" - }, - "nodeRepaveInterval": { - "description": "Minimum number of seconds a node should be Ready, before the next node is selected for repave. Applicable only for workerpools in infrastructure cluster", - "type": "integer", - "format": "int32" - }, - "size": { - "description": "Size of the pool, number of nodes/machines", - "type": "integer", - "format": "int32" - }, - "taints": { - "description": "Master or worker taints", - "type": "array", - "uniqueItems": true, - "items": { - "description": "Taint", - "type": "object", - "properties": { - "effect": { - "type": "string", - "enum": [ - "NoSchedule", - "PreferNoSchedule", - "NoExecute" - ] - }, - "key": { - "description": "The taint key to be applied to a node", - "type": "string" - }, - "timeAdded": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "value": { - "description": "The taint value corresponding to the taint key.", - "type": "string" - } - } - } - }, - "updateStrategy": { - "description": "UpdatesStrategy will be used to translate to RollingUpdateStrategy of a MachineDeployment We'll start with default values for the translation, can expose more details later Following is details of parameters translated from the type ScaleOut =\u003e maxSurge=1, maxUnavailable=0 ScaleIn =\u003e maxSurge=0, maxUnavailable=1", - "type": "object", - "properties": { - "type": { - "description": "update strategy, either ScaleOut or ScaleIn if empty, will default to RollingUpdateScaleOut", - "type": "string", - "enum": [ - "RollingUpdateScaleOut", - "RollingUpdateScaleIn" - ] - } - } - }, - "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", - "type": "boolean", - "x-omitempty": false - } - } - } - } - } - }, - "policies": { - "description": "Cluster policies", - "type": "object", - "properties": { - "backupPolicy": { - "description": "Cluster backup config", - "properties": { - "backupLocationName": { - "type": "string" - }, - "backupLocationUid": { - "type": "string" - }, - "backupName": { - "type": "string" - }, - "backupPrefix": { - "type": "string" - }, - "durationInHours": { - "type": "number", - "format": "int64" - }, - "includeAllDisks": { - "type": "boolean" - }, - "includeClusterResources": { - "type": "boolean" - }, - "locationType": { - "type": "string" - }, - "namespaces": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - }, - "schedule": { - "description": "Cluster feature schedule", - "properties": { - "scheduledRunTime": { - "type": "string" - } - } - } - } - }, - "scanPolicy": { - "description": "Cluster compliance scan schedule configuration", - "properties": { - "kubeBench": { - "description": "Cluster compliance scan schedule config for kube bench driver", - "properties": { - "schedule": { - "description": "Cluster feature schedule", - "properties": { - "scheduledRunTime": { - "type": "string" - } - } - } - } - }, - "kubeHunter": { - "description": "Cluster compliance scan schedule config for kube hunter driver", - "properties": { - "schedule": { - "description": "Cluster feature schedule", - "properties": { - "scheduledRunTime": { - "type": "string" - } - } - } - } - }, - "sonobuoy": { - "description": "Cluster compliance scan schedule config for sonobuoy driver", - "properties": { - "schedule": { - "description": "Cluster feature schedule", - "properties": { - "scheduledRunTime": { - "type": "string" - } - } - } - } - } - } - } - } - }, - "profiles": { - "type": "array", - "items": { - "description": "Cluster profile request payload", - "type": "object", - "properties": { - "packValues": { - "description": "Cluster profile packs array", - "type": "array", - "uniqueItems": true, - "items": { - "description": "Pack values entity to refer the existing pack for the values override", - "type": "object", - "required": [ - "name" - ], - "properties": { - "manifests": { - "description": "Pack manifests are additional content as part of the profile", - "type": "array", - "items": { - "description": "Manifest update request payload", - "required": [ - "name" - ], - "properties": { - "content": { - "description": "Manifest content in yaml", - "type": "string" - }, - "name": { - "description": "Manifest name", - "type": "string" - }, - "uid": { - "description": "Manifest uid", - "type": "string" - } - } - } - }, - "name": { - "description": "Pack name", - "type": "string" - }, - "tag": { - "description": "Pack version tag", - "type": "string" - }, - "type": { - "type": "string", - "default": "spectro", - "enum": [ - "spectro", - "helm", - "manifest", - "oci" - ] - }, - "values": { - "description": "Pack values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", - "type": "string" - } - } - } - }, - "replaceWithProfile": { - "description": "Cluster profile uid to be replaced with new profile", - "type": "string" - }, - "uid": { - "description": "Cluster profile uid", - "type": "string" - } - } - } - } - } - } - } - } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "201": { - "description": "Created successfully", - "schema": { - "type": "object", - "required": [ - "uid" - ], - "properties": { - "uid": { - "type": "string" - } - } - }, - "headers": { - "AuditUid": { - "type": "string", - "description": "Audit uid for the request" - } - } - } - } - } - }, - "/v1/spectroclusters/aks/rate": { - "post": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Get AKS cluster estimated rate information", - "operationId": "v1SpectroClustersAksRate", - "parameters": [ - { - "enum": [ - "hourly", - "monthly", - "yearly" - ], - "type": "string", - "default": "hourly", - "name": "periodType", - "in": "query" - }, - { - "name": "body", - "in": "body", - "schema": { - "description": "Spectro Azure cluster request payload for estimating rate", - "type": "object", - "properties": { - "cloudConfig": { - "description": "Cluster level configuration for Azure cloud and applicable for all the machine pools", - "type": "object", - "required": [ - "subscriptionId", - "location", - "sshKey" - ], - "properties": { - "aadProfile": { - "description": "AADProfile - AAD integration is managed by AKS.", - "type": "object", - "required": [ - "managed", - "adminGroupObjectIDs" - ], - "properties": { - "adminGroupObjectIDs": { - "description": "AdminGroupObjectIDs - AAD group object IDs that will have admin role of the cluster.", - "type": "array", - "items": { - "type": "string" - } - }, - "managed": { - "description": "Managed - Whether to enable managed AAD.", - "type": "boolean", - "x-omitempty": false - } - } - }, - "apiServerAccessProfile": { - "description": "APIServerAccessProfile - access profile for AKS API server.", - "type": "object", - "properties": { - "authorizedIPRanges": { - "description": "AuthorizedIPRanges - Authorized IP Ranges to kubernetes API server.", - "type": "array", - "items": { - "type": "string", - "default": "" - } - }, - "enablePrivateCluster": { - "description": "EnablePrivateCluster - Whether to create the cluster as a private cluster or not.", - "type": "boolean" - }, - "enablePrivateClusterPublicFQDN": { - "description": "EnablePrivateClusterPublicFQDN - Whether to create additional public FQDN for private cluster or not.", - "type": "boolean" - }, - "privateDNSZone": { - "description": "PrivateDNSZone - Private dns zone mode for private cluster.", - "type": "string" - } - } - }, - "containerName": { - "type": "string" - }, - "controlPlaneSubnet": { - "type": "object", - "properties": { - "cidrBlock": { - "description": "CidrBlock is the CIDR block to be used when the provider creates a managed Vnet.", - "type": "string" - }, - "name": { - "type": "string" - }, - "securityGroupName": { - "description": "Network Security Group(NSG) to be attached to subnet. NSG for a control plane subnet, should allow inbound to port 6443, as port 6443 is used by kubeadm to bootstrap the control planes", - "type": "string" - } - } - }, - "enablePrivateCluster": { - "description": "Deprecated. use apiServerAccessProfile.enablePrivateCluster", - "type": "boolean" - }, - "infraLBConfig": { - "type": "object", - "properties": { - "apiServerLB": { - "description": "LoadBalancerSpec defines an Azure load balancer.", - "type": "object", - "properties": { - "apiServerLBStaticIP": { - "type": "string" - }, - "ipAllocationMethod": { - "type": "string", - "default": "Dynamic", - "enum": [ - "Static", - "Dynamic" - ] - }, - "privateDNSName": { - "type": "string" - }, - "type": { - "description": "Load Balancer type", - "type": "string", - "default": "Public", - "enum": [ - "Internal", - "Public" - ] - } - } - } - } - }, - "location": { - "description": "Location is the Azure datacenter location", - "type": "string" - }, - "resourceGroup": { - "type": "string" - }, - "sshKey": { - "type": "string" - }, - "storageAccountName": { - "type": "string" - }, - "subscriptionId": { - "description": "Subscription ID is unique identifier for the subscription used to access Azure services", - "type": "string" - }, - "vnetCidrBlock": { - "type": "string" - }, - "vnetName": { - "description": "VNETName is the virtual network in which the cluster is to be provisioned.", - "type": "string" - }, - "vnetResourceGroup": { - "type": "string" - }, - "workerSubnet": { - "type": "object", - "properties": { - "cidrBlock": { - "description": "CidrBlock is the CIDR block to be used when the provider creates a managed Vnet.", - "type": "string" - }, - "name": { - "type": "string" - }, - "securityGroupName": { - "description": "Network Security Group(NSG) to be attached to subnet. NSG for a control plane subnet, should allow inbound to port 6443, as port 6443 is used by kubeadm to bootstrap the control planes", - "type": "string" - } - } - } - } - }, - "machinepoolconfig": { - "type": "array", - "items": { - "type": "object", - "required": [ - "cloudConfig" - ], - "properties": { - "cloudConfig": { - "type": "object", - "properties": { - "azs": { - "type": "array", - "items": { - "type": "string" - } - }, - "instanceType": { - "description": "Instance type stands for VMSize in Azure", - "type": "string" - }, - "isSystemNodePool": { - "description": "whether this pool is for system node Pool", - "type": "boolean" - }, - "osDisk": { - "type": "object", - "properties": { - "diskSizeGB": { - "type": "integer", - "format": "int32" - }, - "managedDisk": { - "type": "object", - "properties": { - "storageAccountType": { - "type": "string" - } - } - }, - "osType": { - "type": "string", - "default": "Linux", - "enum": [ - "Linux", - "Windows" - ] - } - } - } - } - }, - "managedPoolConfig": { - "type": "object", - "properties": { - "isSystemNodePool": { - "description": "whether this pool is for system node Pool", - "type": "boolean", - "x-omitempty": false - }, - "osType": { - "type": "string", - "default": "Linux", - "enum": [ - "Linux", - "Windows" - ] - } - } - }, - "poolConfig": { - "description": "Machine pool configuration for the cluster", - "type": "object", - "required": [ - "name", - "size", - "labels" - ], - "properties": { - "additionalLabels": { - "description": "Additional labels to be part of the machine pool", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "additionalTags": { - "description": "AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "isControlPlane": { - "description": "Whether this pool is for control plane", - "type": "boolean", - "x-omitempty": false - }, - "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", - "type": "array", - "items": { - "type": "string" - } - }, - "machinePoolProperties": { - "description": "Machine pool specific properties", - "type": "object", - "properties": { - "archType": { - "type": "string", - "default": "amd64", - "enum": [ - "amd64", - "arm64" - ] - } - } - }, - "maxSize": { - "description": "Max size of the pool, for scaling", - "type": "integer", - "format": "int32" - }, - "minSize": { - "description": "Min size of the pool, for scaling", - "type": "integer", - "format": "int32" - }, - "name": { - "type": "string" - }, - "nodeRepaveInterval": { - "description": "Minimum number of seconds a node should be Ready, before the next node is selected for repave. Applicable only for workerpools in infrastructure cluster", - "type": "integer", - "format": "int32" - }, - "size": { - "description": "Size of the pool, number of nodes/machines", - "type": "integer", - "format": "int32" - }, - "taints": { - "description": "Master or worker taints", - "type": "array", - "uniqueItems": true, - "items": { - "description": "Taint", - "type": "object", - "properties": { - "effect": { - "type": "string", - "enum": [ - "NoSchedule", - "PreferNoSchedule", - "NoExecute" - ] - }, - "key": { - "description": "The taint key to be applied to a node", - "type": "string" - }, - "timeAdded": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "value": { - "description": "The taint value corresponding to the taint key.", - "type": "string" - } - } - } - }, - "updateStrategy": { - "description": "UpdatesStrategy will be used to translate to RollingUpdateStrategy of a MachineDeployment We'll start with default values for the translation, can expose more details later Following is details of parameters translated from the type ScaleOut =\u003e maxSurge=1, maxUnavailable=0 ScaleIn =\u003e maxSurge=0, maxUnavailable=1", - "type": "object", - "properties": { - "type": { - "description": "update strategy, either ScaleOut or ScaleIn if empty, will default to RollingUpdateScaleOut", - "type": "string", - "enum": [ - "RollingUpdateScaleOut", - "RollingUpdateScaleIn" - ] - } - } - }, - "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", - "type": "boolean", - "x-omitempty": false - } - } - } - } - } - } - } - } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "Aks Cluster estimated rate response", - "schema": { - "description": "Cluster estimated rate information", - "type": "object", - "properties": { - "machinePools": { - "type": "array", - "items": { - "description": "Machine pool estimated rate information", - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "nodesCount": { - "type": "integer", - "format": "int32" - }, - "rate": { - "description": "Cloud estimated rate information", - "type": "object", - "properties": { - "compute": { - "description": "Compute estimated rate information", - "type": "object", - "properties": { - "rate": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "type": { - "type": "string" - } - } - }, - "storage": { - "type": "array", - "items": { - "description": "Storage estimated rate information", - "type": "object", - "properties": { - "iops": { - "type": "number", - "format": "float64" - }, - "rate": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "sizeGB": { - "type": "number", - "format": "float64" - }, - "throughput": { - "type": "number", - "format": "float64" - }, - "type": { - "type": "string" - } - } - } - }, - "total": { - "type": "number", - "format": "float64", - "x-omitempty": false - } - } - } - } - } - }, - "name": { - "type": "string" - }, - "rate": { - "description": "Cluster total estimated rate information", - "type": "object", - "properties": { - "compute": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "storage": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "total": { - "type": "number", - "format": "float64", - "x-omitempty": false - } - } - }, - "resourceMetadata": { - "description": "Cloud resource metadata", - "type": "object", - "properties": { - "instanceTypes": { - "type": "object", - "additionalProperties": { - "description": "Cloud Instance type details", - "type": "object", - "properties": { - "category": { - "description": "Category of instance type", - "type": "string", - "x-go-name": "Category" - }, - "cost": { - "description": "Instance cost entity", - "type": "object", - "properties": { - "price": { - "description": "Array of cloud instance price", - "type": "array", - "items": { - "description": "Cloud instance price", - "type": "object", - "properties": { - "onDemand": { - "description": "OnDemand price of instance", - "type": "number", - "format": "double" - }, - "os": { - "description": "Os associated with instance price. Allowed values - [linux, windows]", - "type": "string", - "enum": [ - "linux", - "windows" - ] - }, - "spot": { - "description": "Spot price of instance", - "type": "number", - "format": "double" - } - } - } - } - } - }, - "cpu": { - "description": "Cpu of instance type", - "type": "number", - "format": "double", - "x-go-name": "Cpu" - }, - "gpu": { - "description": "Gpu of instance type", - "type": "number", - "format": "double", - "x-go-name": "Gpu" - }, - "memory": { - "description": "Memory of instance type", - "type": "number", - "format": "double", - "x-go-name": "Memory" - }, - "nonSupportedZones": { - "description": "Non supported zones of the instance in a particular region", - "type": "array", - "items": { - "type": "string" - } - }, - "price": { - "description": "Price of instance type", - "type": "number", - "format": "double", - "x-go-name": "Price" - }, - "supportedArchitectures": { - "description": "Supported architecture of the instance", - "type": "array", - "items": { - "type": "string" - } - }, - "type": { - "description": "Type of instance type", - "type": "string", - "x-go-name": "Type" - } - } - } - }, - "storageTypes": { - "type": "object", - "additionalProperties": { - "description": "Cloud cloud Storage type details", - "type": "object", - "properties": { - "cost": { - "description": "Cloud storage cost", - "type": "object", - "properties": { - "discountedUsage": { - "description": "Cloud storage upper limit which is free.", - "type": "string" - }, - "price": { - "description": "Array of cloud storage range prices", - "type": "array", - "items": { - "description": "Cloud storage price within an upper limit.", - "type": "object", - "properties": { - "limit": { - "description": "Upper limit of cloud storage usage", - "type": "string" - }, - "price": { - "description": "Price of cloud storage type", - "type": "string" - } - } - } - } - } - }, - "iopsCost": { - "description": "Cloud storage cost", - "type": "object", - "properties": { - "discountedUsage": { - "description": "Cloud storage upper limit which is free.", - "type": "string" - }, - "price": { - "description": "Array of cloud storage range prices", - "type": "array", - "items": { - "description": "Cloud storage price within an upper limit.", - "type": "object", - "properties": { - "limit": { - "description": "Upper limit of cloud storage usage", - "type": "string" - }, - "price": { - "description": "Price of cloud storage type", - "type": "string" - } - } - } - } - } - }, - "kind": { - "description": "kind of storage type", - "type": "string" - }, - "name": { - "description": "Name of the storage type", - "type": "string" - }, - "throughputCost": { - "description": "Cloud storage cost", - "type": "object", - "properties": { - "discountedUsage": { - "description": "Cloud storage upper limit which is free.", - "type": "string" - }, - "price": { - "description": "Array of cloud storage range prices", - "type": "array", - "items": { - "description": "Cloud storage price within an upper limit.", - "type": "object", - "properties": { - "limit": { - "description": "Upper limit of cloud storage usage", - "type": "string" - }, - "price": { - "description": "Price of cloud storage type", - "type": "string" - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - }, - "/v1/spectroclusters/aks/validate": { - "post": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Validates AKS cluster create operation", - "operationId": "v1SpectroClustersAksValidate", - "parameters": [ - { - "name": "body", - "in": "body", - "schema": { - "description": "Azure cluster request payload for create and update", - "type": "object", - "properties": { - "metadata": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", - "type": "object", - "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "name": { - "description": "Name of the resource.", - "type": "string" - }, - "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", - "type": "string" - } - } - }, - "spec": { - "type": "object", - "required": [ - "cloudType", - "cloudAccountUid", - "cloudConfig" - ], - "properties": { - "cloudAccountUid": { - "description": "Cloud account uid to be used for cluster provisioning", - "type": "string" - }, - "cloudConfig": { - "description": "Cluster level configuration for Azure cloud and applicable for all the machine pools", - "type": "object", - "required": [ - "subscriptionId", - "location", - "sshKey" - ], - "properties": { - "aadProfile": { - "description": "AADProfile - AAD integration is managed by AKS.", - "type": "object", - "required": [ - "managed", - "adminGroupObjectIDs" - ], - "properties": { - "adminGroupObjectIDs": { - "description": "AdminGroupObjectIDs - AAD group object IDs that will have admin role of the cluster.", - "type": "array", - "items": { - "type": "string" - } - }, - "managed": { - "description": "Managed - Whether to enable managed AAD.", - "type": "boolean", - "x-omitempty": false - } - } - }, - "apiServerAccessProfile": { - "description": "APIServerAccessProfile - access profile for AKS API server.", - "type": "object", - "properties": { - "authorizedIPRanges": { - "description": "AuthorizedIPRanges - Authorized IP Ranges to kubernetes API server.", - "type": "array", - "items": { - "type": "string", - "default": "" - } - }, - "enablePrivateCluster": { - "description": "EnablePrivateCluster - Whether to create the cluster as a private cluster or not.", - "type": "boolean" - }, - "enablePrivateClusterPublicFQDN": { - "description": "EnablePrivateClusterPublicFQDN - Whether to create additional public FQDN for private cluster or not.", - "type": "boolean" - }, - "privateDNSZone": { - "description": "PrivateDNSZone - Private dns zone mode for private cluster.", - "type": "string" - } - } - }, - "containerName": { - "type": "string" - }, - "controlPlaneSubnet": { - "type": "object", - "properties": { - "cidrBlock": { - "description": "CidrBlock is the CIDR block to be used when the provider creates a managed Vnet.", - "type": "string" - }, - "name": { - "type": "string" - }, - "securityGroupName": { - "description": "Network Security Group(NSG) to be attached to subnet. NSG for a control plane subnet, should allow inbound to port 6443, as port 6443 is used by kubeadm to bootstrap the control planes", - "type": "string" - } - } - }, - "enablePrivateCluster": { - "description": "Deprecated. use apiServerAccessProfile.enablePrivateCluster", - "type": "boolean" - }, - "infraLBConfig": { - "type": "object", - "properties": { - "apiServerLB": { - "description": "LoadBalancerSpec defines an Azure load balancer.", - "type": "object", - "properties": { - "apiServerLBStaticIP": { - "type": "string" - }, - "ipAllocationMethod": { - "type": "string", - "default": "Dynamic", - "enum": [ - "Static", - "Dynamic" - ] - }, - "privateDNSName": { - "type": "string" - }, - "type": { - "description": "Load Balancer type", - "type": "string", - "default": "Public", - "enum": [ - "Internal", - "Public" - ] - } - } - } - } - }, - "location": { - "description": "Location is the Azure datacenter location", - "type": "string" - }, - "resourceGroup": { - "type": "string" - }, - "sshKey": { - "type": "string" - }, - "storageAccountName": { - "type": "string" - }, - "subscriptionId": { - "description": "Subscription ID is unique identifier for the subscription used to access Azure services", - "type": "string" - }, - "vnetCidrBlock": { - "type": "string" - }, - "vnetName": { - "description": "VNETName is the virtual network in which the cluster is to be provisioned.", - "type": "string" - }, - "vnetResourceGroup": { - "type": "string" - }, - "workerSubnet": { - "type": "object", - "properties": { - "cidrBlock": { - "description": "CidrBlock is the CIDR block to be used when the provider creates a managed Vnet.", - "type": "string" - }, - "name": { - "type": "string" - }, - "securityGroupName": { - "description": "Network Security Group(NSG) to be attached to subnet. NSG for a control plane subnet, should allow inbound to port 6443, as port 6443 is used by kubeadm to bootstrap the control planes", - "type": "string" - } - } - } - } - }, - "clusterConfig": { - "type": "object", - "properties": { - "clusterMetaAttribute": { - "description": "ClusterMetaAttribute can be used to set additional cluster metadata information.", - "type": "string" - }, - "controlPlaneHealthCheckTimeout": { - "type": "string" - }, - "hostClusterConfig": { - "properties": { - "clusterEndpoint": { - "properties": { - "config": { - "properties": { - "ingressConfig": { - "description": "Ingress configuration for exposing the virtual cluster's kube-apiserver", - "properties": { - "host": { - "type": "string" - }, - "port": { - "type": "integer", - "format": "int64" - } - } - }, - "loadBalancerConfig": { - "description": "Load balancer configuration for exposing the virtual cluster's kube-apiserver", - "properties": { - "externalIPs": { - "type": "array", - "items": { - "type": "string" - } - }, - "externalTrafficPolicy": { - "type": "string" - }, - "loadBalancerSourceRanges": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - } - }, - "type": { - "description": "is enabled as host cluster", - "type": "string", - "enum": [ - "Ingress", - "LoadBalancer" - ] - } - } - }, - "clusterGroup": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", - "type": "string" - } - } - }, - "hostCluster": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", - "type": "string" - } - } - }, - "isHostCluster": { - "description": "is enabled as host cluster", - "type": "boolean", - "default": false, - "x-omitempty": false - } - } - }, - "lifecycleConfig": { - "properties": { - "pause": { - "description": "enable pause life cycle config", - "type": "boolean", - "default": false, - "x-omitempty": false - } - } - }, - "location": { - "description": "Cluster location information", - "type": "object", - "properties": { - "countryCode": { - "description": "country code for cluster location", - "type": "string" - }, - "countryName": { - "description": "country name for cluster location", - "type": "string" - }, - "geoLoc": { - "description": "Geolocation Latlong entity", - "type": "object", - "properties": { - "latitude": { - "description": "Latitude of a resource", - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "longitude": { - "description": "Longitude of a resource", - "type": "number", - "format": "float64", - "x-omitempty": false - } - } - }, - "regionCode": { - "description": "region code for cluster location", - "type": "string" - }, - "regionName": { - "description": "region name for cluster location", - "type": "string" - } - } - }, - "machineManagementConfig": { - "type": "object", - "properties": { - "osPatchConfig": { - "type": "object", - "properties": { - "onDemandPatchAfter": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "patchOnBoot": { - "description": "PatchOnBoot indicates need to do patch when node first boot up, only once", - "type": "boolean", - "x-omitempty": false - }, - "rebootIfRequired": { - "description": "Reboot once the OS patch is applied", - "type": "boolean", - "x-omitempty": false - }, - "schedule": { - "description": "The schedule at which security patches will be applied to OS. Schedule should be in Cron format, see https://en.wikipedia.org/wiki/Cron for more help.", - "type": "string" - } - } - } - } - }, - "resources": { - "type": "object", - "properties": { - "namespaces": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Cluster Namespace resource defintion", - "type": "object", - "properties": { - "metadata": { - "description": "ObjectMeta update entity with uid as input", - "type": "object", - "properties": { - "annotations": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - }, - "spec": { - "description": "Cluster namespace spec", - "properties": { - "isRegex": { - "type": "boolean", - "x-omitempty": false - }, - "relatedObject": { - "description": "Object for which the resource is related", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "spectrocluster", - "machine", - "cloudconfig", - "clusterprofile", - "pack", - "appprofile", - "appdeployment", - "edgehost" - ] - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - }, - "resourceAllocation": { - "description": "Cluster namespace resource allocation", - "properties": { - "cpuCores": { - "type": "number", - "minimum": 0, - "exclusiveMinimum": true - }, - "memoryMiB": { - "type": "number", - "minimum": 0, - "exclusiveMinimum": true - } - } - } - } - } - } - } - }, - "rbacs": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Cluster RBAC role binding defintion", - "type": "object", - "properties": { - "metadata": { - "description": "ObjectMeta update entity with uid as input", - "type": "object", - "properties": { - "annotations": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - }, - "spec": { - "description": "Cluster RBAC spec", - "type": "object", - "properties": { - "bindings": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Cluster RBAC binding", - "type": "object", - "properties": { - "namespace": { - "type": "string" - }, - "role": { - "description": "Cluster role ref", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "Role", - "ClusterRole" - ] - }, - "name": { - "type": "string" - } - } - }, - "subjects": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Cluster role ref", - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "namespace": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "User", - "Group", - "ServiceAccount" - ] - } - } - } - }, - "type": { - "type": "string", - "enum": [ - "RoleBinding", - "ClusterRoleBinding" - ] - } - } - } - }, - "relatedObject": { - "description": "Object for which the resource is related", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "spectrocluster", - "machine", - "cloudconfig", - "clusterprofile", - "pack", - "appprofile", - "appdeployment", - "edgehost" - ] - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - } - } - } - } - } - } - } - }, - "updateWorkerPoolsInParallel": { - "type": "boolean" - } - } - }, - "machinepoolconfig": { - "type": "array", - "items": { - "type": "object", - "required": [ - "cloudConfig" - ], - "properties": { - "cloudConfig": { - "type": "object", - "properties": { - "azs": { - "type": "array", - "items": { - "type": "string" - } - }, - "instanceType": { - "description": "Instance type stands for VMSize in Azure", - "type": "string" - }, - "isSystemNodePool": { - "description": "whether this pool is for system node Pool", - "type": "boolean" - }, - "osDisk": { - "type": "object", - "properties": { - "diskSizeGB": { - "type": "integer", - "format": "int32" - }, - "managedDisk": { - "type": "object", - "properties": { - "storageAccountType": { - "type": "string" - } - } - }, - "osType": { - "type": "string", - "default": "Linux", - "enum": [ - "Linux", - "Windows" - ] - } - } - } - } - }, - "managedPoolConfig": { - "type": "object", - "properties": { - "isSystemNodePool": { - "description": "whether this pool is for system node Pool", - "type": "boolean", - "x-omitempty": false - }, - "osType": { - "type": "string", - "default": "Linux", - "enum": [ - "Linux", - "Windows" - ] - } - } - }, - "poolConfig": { - "description": "Machine pool configuration for the cluster", - "type": "object", - "required": [ - "name", - "size", - "labels" - ], - "properties": { - "additionalLabels": { - "description": "Additional labels to be part of the machine pool", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "additionalTags": { - "description": "AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "isControlPlane": { - "description": "Whether this pool is for control plane", - "type": "boolean", - "x-omitempty": false - }, - "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", - "type": "array", - "items": { - "type": "string" - } - }, - "machinePoolProperties": { - "description": "Machine pool specific properties", - "type": "object", - "properties": { - "archType": { - "type": "string", - "default": "amd64", - "enum": [ - "amd64", - "arm64" - ] - } - } - }, - "maxSize": { - "description": "Max size of the pool, for scaling", - "type": "integer", - "format": "int32" - }, - "minSize": { - "description": "Min size of the pool, for scaling", - "type": "integer", - "format": "int32" - }, - "name": { - "type": "string" - }, - "nodeRepaveInterval": { - "description": "Minimum number of seconds a node should be Ready, before the next node is selected for repave. Applicable only for workerpools in infrastructure cluster", - "type": "integer", - "format": "int32" - }, - "size": { - "description": "Size of the pool, number of nodes/machines", - "type": "integer", - "format": "int32" - }, - "taints": { - "description": "Master or worker taints", - "type": "array", - "uniqueItems": true, - "items": { - "description": "Taint", - "type": "object", - "properties": { - "effect": { - "type": "string", - "enum": [ - "NoSchedule", - "PreferNoSchedule", - "NoExecute" - ] - }, - "key": { - "description": "The taint key to be applied to a node", - "type": "string" - }, - "timeAdded": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "value": { - "description": "The taint value corresponding to the taint key.", - "type": "string" - } - } - } - }, - "updateStrategy": { - "description": "UpdatesStrategy will be used to translate to RollingUpdateStrategy of a MachineDeployment We'll start with default values for the translation, can expose more details later Following is details of parameters translated from the type ScaleOut =\u003e maxSurge=1, maxUnavailable=0 ScaleIn =\u003e maxSurge=0, maxUnavailable=1", - "type": "object", - "properties": { - "type": { - "description": "update strategy, either ScaleOut or ScaleIn if empty, will default to RollingUpdateScaleOut", - "type": "string", - "enum": [ - "RollingUpdateScaleOut", - "RollingUpdateScaleIn" - ] - } - } - }, - "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", - "type": "boolean", - "x-omitempty": false - } - } - } - } - } - }, - "policies": { - "description": "Cluster policies", - "type": "object", - "properties": { - "backupPolicy": { - "description": "Cluster backup config", - "properties": { - "backupLocationName": { - "type": "string" - }, - "backupLocationUid": { - "type": "string" - }, - "backupName": { - "type": "string" - }, - "backupPrefix": { - "type": "string" - }, - "durationInHours": { - "type": "number", - "format": "int64" - }, - "includeAllDisks": { - "type": "boolean" - }, - "includeClusterResources": { - "type": "boolean" - }, - "locationType": { - "type": "string" - }, - "namespaces": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - }, - "schedule": { - "description": "Cluster feature schedule", - "properties": { - "scheduledRunTime": { - "type": "string" - } - } - } - } - }, - "scanPolicy": { - "description": "Cluster compliance scan schedule configuration", - "properties": { - "kubeBench": { - "description": "Cluster compliance scan schedule config for kube bench driver", - "properties": { - "schedule": { - "description": "Cluster feature schedule", - "properties": { - "scheduledRunTime": { - "type": "string" - } - } - } - } - }, - "kubeHunter": { - "description": "Cluster compliance scan schedule config for kube hunter driver", - "properties": { - "schedule": { - "description": "Cluster feature schedule", - "properties": { - "scheduledRunTime": { - "type": "string" - } - } - } - } - }, - "sonobuoy": { - "description": "Cluster compliance scan schedule config for sonobuoy driver", - "properties": { - "schedule": { - "description": "Cluster feature schedule", - "properties": { - "scheduledRunTime": { - "type": "string" - } - } - } - } - } - } - } - } - }, - "profiles": { - "type": "array", - "items": { - "description": "Cluster profile request payload", - "type": "object", - "properties": { - "packValues": { - "description": "Cluster profile packs array", - "type": "array", - "uniqueItems": true, - "items": { - "description": "Pack values entity to refer the existing pack for the values override", - "type": "object", - "required": [ - "name" - ], - "properties": { - "manifests": { - "description": "Pack manifests are additional content as part of the profile", - "type": "array", - "items": { - "description": "Manifest update request payload", - "required": [ - "name" - ], - "properties": { - "content": { - "description": "Manifest content in yaml", - "type": "string" - }, - "name": { - "description": "Manifest name", - "type": "string" - }, - "uid": { - "description": "Manifest uid", - "type": "string" - } - } - } - }, - "name": { - "description": "Pack name", - "type": "string" - }, - "tag": { - "description": "Pack version tag", - "type": "string" - }, - "type": { - "type": "string", - "default": "spectro", - "enum": [ - "spectro", - "helm", - "manifest", - "oci" - ] - }, - "values": { - "description": "Pack values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", - "type": "string" - } - } - } - }, - "replaceWithProfile": { - "description": "Cluster profile uid to be replaced with new profile", - "type": "string" - }, - "uid": { - "description": "Cluster profile uid", - "type": "string" - } - } - } - } - } - } - } - } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "Aks Cluster validation response", - "schema": { - "description": "Cluster validator response", - "type": "object", - "properties": { - "machinePools": { - "description": "Constraint validator response", - "type": "object", - "properties": { - "results": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Constraint validator result", - "type": "object", - "properties": { - "displayName": { - "type": "string" - }, - "errors": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "object", - "properties": { - "code": { - "type": "string" - }, - "message": { - "type": "string" - } - } - } - }, - "name": { - "type": "string" - } - } - } - } - } - }, - "profiles": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Cluster profile validator response", - "type": "object", - "properties": { - "packs": { - "description": "Constraint validator response", - "type": "object", - "properties": { - "results": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Constraint validator result", - "type": "object", - "properties": { - "displayName": { - "type": "string" - }, - "errors": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "object", - "properties": { - "code": { - "type": "string" - }, - "message": { - "type": "string" - } - } - } - }, - "name": { - "type": "string" - } - } - } - } - } - }, - "uid": { - "description": "Cluster profile uid", - "type": "string" - } - } - } - } - } - } - } - } - } - }, - "/v1/spectroclusters/aws": { - "post": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Creates an AWS cluster", - "operationId": "v1SpectroClustersAwsCreate", - "parameters": [ - { - "name": "body", - "in": "body", - "schema": { - "description": "AWS cluster request payload for create and update", - "type": "object", - "properties": { - "metadata": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", - "type": "object", - "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "name": { - "description": "Name of the resource.", - "type": "string" - }, - "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", - "type": "string" - } - } - }, - "spec": { - "type": "object", - "required": [ - "cloudType", - "cloudAccountUid", - "cloudConfig" - ], - "properties": { - "cloudAccountUid": { - "description": "Cloud account uid to be used for cluster provisioning", - "type": "string" - }, - "cloudConfig": { - "description": "Cluster level configuration for aws cloud and applicable for all the machine pools", - "type": "object", - "required": [ - "region" - ], - "properties": { - "bastionDisabled": { - "description": "Create bastion node option we have earlier supported creation of bastion by default capa seems to favour session manager against bastion node https://github.com/kubernetes-sigs/cluster-api-provider-aws/issues/947", - "type": "boolean" - }, - "controlPlaneLoadBalancer": { - "description": "ControlPlaneLoadBalancer specifies how API server elb will be configured, this field is optional, not provided, \"\", default =\u003e \"Internet-facing\" \"Internet-facing\" =\u003e \"Internet-facing\" \"internal\" =\u003e \"internal\" For spectro saas setup we require to talk to the apiserver from our cluster so ControlPlaneLoadBalancer should be \"\", not provided or \"Internet-facing\"", - "type": "string" - }, - "region": { - "type": "string" - }, - "sshKeyName": { - "type": "string" - }, - "vpcId": { - "description": "VPC Id to deploy cluster into should have one public and one private subnet for the the cluster creation, this field is optional, If VPC Id is not provided a fully managed VPC will be created", - "type": "string" - } - } - }, - "clusterConfig": { - "type": "object", - "properties": { - "clusterMetaAttribute": { - "description": "ClusterMetaAttribute can be used to set additional cluster metadata information.", - "type": "string" - }, - "controlPlaneHealthCheckTimeout": { - "type": "string" - }, - "hostClusterConfig": { - "properties": { - "clusterEndpoint": { - "properties": { - "config": { - "properties": { - "ingressConfig": { - "description": "Ingress configuration for exposing the virtual cluster's kube-apiserver", - "properties": { - "host": { - "type": "string" - }, - "port": { - "type": "integer", - "format": "int64" - } - } - }, - "loadBalancerConfig": { - "description": "Load balancer configuration for exposing the virtual cluster's kube-apiserver", - "properties": { - "externalIPs": { - "type": "array", - "items": { - "type": "string" - } - }, - "externalTrafficPolicy": { - "type": "string" - }, - "loadBalancerSourceRanges": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - } - }, - "type": { - "description": "is enabled as host cluster", - "type": "string", - "enum": [ - "Ingress", - "LoadBalancer" - ] - } - } - }, - "clusterGroup": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", - "type": "string" - } - } - }, - "hostCluster": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", - "type": "string" - } - } - }, - "isHostCluster": { - "description": "is enabled as host cluster", - "type": "boolean", - "default": false, - "x-omitempty": false - } - } - }, - "lifecycleConfig": { - "properties": { - "pause": { - "description": "enable pause life cycle config", - "type": "boolean", - "default": false, - "x-omitempty": false - } - } - }, - "location": { - "description": "Cluster location information", - "type": "object", - "properties": { - "countryCode": { - "description": "country code for cluster location", - "type": "string" - }, - "countryName": { - "description": "country name for cluster location", - "type": "string" - }, - "geoLoc": { - "description": "Geolocation Latlong entity", - "type": "object", - "properties": { - "latitude": { - "description": "Latitude of a resource", - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "longitude": { - "description": "Longitude of a resource", - "type": "number", - "format": "float64", - "x-omitempty": false - } - } - }, - "regionCode": { - "description": "region code for cluster location", - "type": "string" - }, - "regionName": { - "description": "region name for cluster location", - "type": "string" - } - } - }, - "machineManagementConfig": { - "type": "object", - "properties": { - "osPatchConfig": { - "type": "object", - "properties": { - "onDemandPatchAfter": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "patchOnBoot": { - "description": "PatchOnBoot indicates need to do patch when node first boot up, only once", - "type": "boolean", - "x-omitempty": false - }, - "rebootIfRequired": { - "description": "Reboot once the OS patch is applied", - "type": "boolean", - "x-omitempty": false - }, - "schedule": { - "description": "The schedule at which security patches will be applied to OS. Schedule should be in Cron format, see https://en.wikipedia.org/wiki/Cron for more help.", - "type": "string" - } - } - } - } - }, - "resources": { - "type": "object", - "properties": { - "namespaces": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Cluster Namespace resource defintion", - "type": "object", - "properties": { - "metadata": { - "description": "ObjectMeta update entity with uid as input", - "type": "object", - "properties": { - "annotations": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - }, - "spec": { - "description": "Cluster namespace spec", - "properties": { - "isRegex": { - "type": "boolean", - "x-omitempty": false - }, - "relatedObject": { - "description": "Object for which the resource is related", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "spectrocluster", - "machine", - "cloudconfig", - "clusterprofile", - "pack", - "appprofile", - "appdeployment", - "edgehost" - ] - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - }, - "resourceAllocation": { - "description": "Cluster namespace resource allocation", - "properties": { - "cpuCores": { - "type": "number", - "minimum": 0, - "exclusiveMinimum": true - }, - "memoryMiB": { - "type": "number", - "minimum": 0, - "exclusiveMinimum": true - } - } - } - } - } - } - } - }, - "rbacs": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Cluster RBAC role binding defintion", - "type": "object", - "properties": { - "metadata": { - "description": "ObjectMeta update entity with uid as input", - "type": "object", - "properties": { - "annotations": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - }, - "spec": { - "description": "Cluster RBAC spec", - "type": "object", - "properties": { - "bindings": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Cluster RBAC binding", - "type": "object", - "properties": { - "namespace": { - "type": "string" - }, - "role": { - "description": "Cluster role ref", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "Role", - "ClusterRole" - ] - }, - "name": { - "type": "string" - } - } - }, - "subjects": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Cluster role ref", - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "namespace": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "User", - "Group", - "ServiceAccount" - ] - } - } - } - }, - "type": { - "type": "string", - "enum": [ - "RoleBinding", - "ClusterRoleBinding" - ] - } - } - } - }, - "relatedObject": { - "description": "Object for which the resource is related", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "spectrocluster", - "machine", - "cloudconfig", - "clusterprofile", - "pack", - "appprofile", - "appdeployment", - "edgehost" - ] - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - } - } - } - } - } - } - } - }, - "updateWorkerPoolsInParallel": { - "type": "boolean" - } - } - }, - "machinepoolconfig": { - "type": "array", - "items": { - "type": "object", - "required": [ - "cloudConfig" - ], - "properties": { - "cloudConfig": { - "type": "object", - "required": [ - "instanceType" - ], - "properties": { - "additionalSecurityGroups": { - "description": "Additional Security groups", - "type": "array", - "items": { - "description": "AWSResourceReference is a reference to a specific AWS resource by ID or filters", - "type": "object", - "properties": { - "arn": { - "description": "ARN of resource", - "type": "string" - }, - "filters": { - "description": "Filters is a set of key/value pairs used to identify a resource", - "type": "array", - "uniqueItems": true, - "items": { - "description": "Filter is a filter used to identify an AWS resource", - "type": "object", - "properties": { - "name": { - "description": "Name of the filter. Filter names are case-sensitive", - "type": "string" - }, - "values": { - "description": "Values includes one or more filter values. Filter values are case-sensitive", - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - } - } - } - }, - "id": { - "description": "ID of resource", - "type": "string" - } - } - } - }, - "azs": { - "type": "array", - "items": { - "type": "string" - } - }, - "capacityType": { - "description": "EC2 instance capacity type", - "type": "string", - "default": "on-demand", - "enum": [ - "on-demand", - "spot" - ] - }, - "instanceType": { - "description": "instance type", - "type": "string" - }, - "rootDeviceSize": { - "description": "rootDeviceSize in GBs", - "type": "integer", - "format": "int64", - "maximum": 2000, - "minimum": 1 - }, - "spotMarketOptions": { - "description": "SpotMarketOptions defines the options available to a user when configuring Machines to run on Spot instances. Most users should provide an empty struct.", - "type": "object", - "properties": { - "maxPrice": { - "description": "MaxPrice defines the maximum price the user is willing to pay for Spot VM instances", - "type": "string" - } - } - }, - "subnets": { - "type": "array", - "items": { - "properties": { - "az": { - "type": "string" - }, - "id": { - "type": "string" - } - } - } - } - } - }, - "poolConfig": { - "description": "Machine pool configuration for the cluster", - "type": "object", - "required": [ - "name", - "size", - "labels" - ], - "properties": { - "additionalLabels": { - "description": "Additional labels to be part of the machine pool", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "additionalTags": { - "description": "AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "isControlPlane": { - "description": "Whether this pool is for control plane", - "type": "boolean", - "x-omitempty": false - }, - "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", - "type": "array", - "items": { - "type": "string" - } - }, - "machinePoolProperties": { - "description": "Machine pool specific properties", - "type": "object", - "properties": { - "archType": { - "type": "string", - "default": "amd64", - "enum": [ - "amd64", - "arm64" - ] - } - } - }, - "maxSize": { - "description": "Max size of the pool, for scaling", - "type": "integer", - "format": "int32" - }, - "minSize": { - "description": "Min size of the pool, for scaling", - "type": "integer", - "format": "int32" - }, - "name": { - "type": "string" - }, - "nodeRepaveInterval": { - "description": "Minimum number of seconds a node should be Ready, before the next node is selected for repave. Applicable only for workerpools in infrastructure cluster", - "type": "integer", - "format": "int32" - }, - "size": { - "description": "Size of the pool, number of nodes/machines", - "type": "integer", - "format": "int32" - }, - "taints": { - "description": "Master or worker taints", - "type": "array", - "uniqueItems": true, - "items": { - "description": "Taint", - "type": "object", - "properties": { - "effect": { - "type": "string", - "enum": [ - "NoSchedule", - "PreferNoSchedule", - "NoExecute" - ] - }, - "key": { - "description": "The taint key to be applied to a node", - "type": "string" - }, - "timeAdded": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "value": { - "description": "The taint value corresponding to the taint key.", - "type": "string" - } - } - } - }, - "updateStrategy": { - "description": "UpdatesStrategy will be used to translate to RollingUpdateStrategy of a MachineDeployment We'll start with default values for the translation, can expose more details later Following is details of parameters translated from the type ScaleOut =\u003e maxSurge=1, maxUnavailable=0 ScaleIn =\u003e maxSurge=0, maxUnavailable=1", - "type": "object", - "properties": { - "type": { - "description": "update strategy, either ScaleOut or ScaleIn if empty, will default to RollingUpdateScaleOut", - "type": "string", - "enum": [ - "RollingUpdateScaleOut", - "RollingUpdateScaleIn" - ] - } - } - }, - "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", - "type": "boolean", - "x-omitempty": false - } - } - } - } - } - }, - "policies": { - "description": "Cluster policies", - "type": "object", - "properties": { - "backupPolicy": { - "description": "Cluster backup config", - "properties": { - "backupLocationName": { - "type": "string" - }, - "backupLocationUid": { - "type": "string" - }, - "backupName": { - "type": "string" - }, - "backupPrefix": { - "type": "string" - }, - "durationInHours": { - "type": "number", - "format": "int64" - }, - "includeAllDisks": { - "type": "boolean" - }, - "includeClusterResources": { - "type": "boolean" - }, - "locationType": { - "type": "string" - }, - "namespaces": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - }, - "schedule": { - "description": "Cluster feature schedule", - "properties": { - "scheduledRunTime": { - "type": "string" - } - } - } - } - }, - "scanPolicy": { - "description": "Cluster compliance scan schedule configuration", - "properties": { - "kubeBench": { - "description": "Cluster compliance scan schedule config for kube bench driver", - "properties": { - "schedule": { - "description": "Cluster feature schedule", - "properties": { - "scheduledRunTime": { - "type": "string" - } - } - } - } - }, - "kubeHunter": { - "description": "Cluster compliance scan schedule config for kube hunter driver", - "properties": { - "schedule": { - "description": "Cluster feature schedule", - "properties": { - "scheduledRunTime": { - "type": "string" - } - } - } - } - }, - "sonobuoy": { - "description": "Cluster compliance scan schedule config for sonobuoy driver", - "properties": { - "schedule": { - "description": "Cluster feature schedule", - "properties": { - "scheduledRunTime": { - "type": "string" - } - } - } - } - } - } - } - } - }, - "profiles": { - "type": "array", - "items": { - "description": "Cluster profile request payload", - "type": "object", - "properties": { - "packValues": { - "description": "Cluster profile packs array", - "type": "array", - "uniqueItems": true, - "items": { - "description": "Pack values entity to refer the existing pack for the values override", - "type": "object", - "required": [ - "name" - ], - "properties": { - "manifests": { - "description": "Pack manifests are additional content as part of the profile", - "type": "array", - "items": { - "description": "Manifest update request payload", - "required": [ - "name" - ], - "properties": { - "content": { - "description": "Manifest content in yaml", - "type": "string" - }, - "name": { - "description": "Manifest name", - "type": "string" - }, - "uid": { - "description": "Manifest uid", - "type": "string" - } - } - } - }, - "name": { - "description": "Pack name", - "type": "string" - }, - "tag": { - "description": "Pack version tag", - "type": "string" - }, - "type": { - "type": "string", - "default": "spectro", - "enum": [ - "spectro", - "helm", - "manifest", - "oci" - ] - }, - "values": { - "description": "Pack values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", - "type": "string" - } - } - } - }, - "replaceWithProfile": { - "description": "Cluster profile uid to be replaced with new profile", - "type": "string" - }, - "uid": { - "description": "Cluster profile uid", - "type": "string" - } - } - } - } - } - } - } - } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "201": { - "description": "Created successfully", - "schema": { - "type": "object", - "required": [ - "uid" - ], - "properties": { - "uid": { - "type": "string" - } - } - }, - "headers": { - "AuditUid": { - "type": "string", - "description": "Audit uid for the request" - } - } - } - } - } - }, - "/v1/spectroclusters/aws/import": { - "post": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Imports an AWS cluster", - "operationId": "v1SpectroClustersAwsImport", - "parameters": [ - { - "name": "body", - "in": "body", - "schema": { - "description": "Spectro AWS cluster import request payload", - "type": "object", - "properties": { - "metadata": { - "description": "ObjectMeta input entity for object creation", - "type": "object", - "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "name": { - "description": "Name of the resource.", - "type": "string" - } - } - }, - "spec": { - "type": "object", - "properties": { - "clusterConfig": { - "type": "object", - "properties": { - "importMode": { - "description": "If the importMode is empty then cluster is imported with full permission mode. By default importMode is empty and cluster is imported in full permission mode.", - "type": "string", - "enum": [ - "read-only" - ] - }, - "proxy": { - "description": "cluster proxy config spec", - "type": "object", - "properties": { - "caContainerMountPath": { - "description": "Location to mount Proxy CA cert inside container", - "type": "string" - }, - "caHostPath": { - "description": "Location for Proxy CA cert on host nodes", - "type": "string" - }, - "httpProxy": { - "description": "URL for HTTP requests unless overridden by NoProxy", - "type": "string" - }, - "httpsProxy": { - "description": "HTTPS requests unless overridden by NoProxy", - "type": "string" - }, - "noProxy": { - "description": "NoProxy represents the NO_PROXY or no_proxy environment", - "type": "string" - } - } - } - } - } - } - } - } - } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "201": { - "description": "Created successfully", - "schema": { - "type": "object", - "required": [ - "uid" - ], - "properties": { - "uid": { - "type": "string" - } - } - }, - "headers": { - "AuditUid": { - "type": "string", - "description": "Audit uid for the request" - } - } - } - } - } - }, - "/v1/spectroclusters/aws/rate": { - "post": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Get AWS cluster estimated rate information", - "operationId": "v1SpectroClustersAwsRate", - "parameters": [ - { - "enum": [ - "hourly", - "monthly", - "yearly" - ], - "type": "string", - "default": "hourly", - "name": "periodType", - "in": "query" - }, - { - "name": "body", - "in": "body", - "schema": { - "description": "Spectro AWS cluster request payload for estimating rate", - "type": "object", - "properties": { - "cloudConfig": { - "description": "Cluster level configuration for aws cloud and applicable for all the machine pools", - "type": "object", - "required": [ - "region" - ], - "properties": { - "bastionDisabled": { - "description": "Create bastion node option we have earlier supported creation of bastion by default capa seems to favour session manager against bastion node https://github.com/kubernetes-sigs/cluster-api-provider-aws/issues/947", - "type": "boolean" - }, - "controlPlaneLoadBalancer": { - "description": "ControlPlaneLoadBalancer specifies how API server elb will be configured, this field is optional, not provided, \"\", default =\u003e \"Internet-facing\" \"Internet-facing\" =\u003e \"Internet-facing\" \"internal\" =\u003e \"internal\" For spectro saas setup we require to talk to the apiserver from our cluster so ControlPlaneLoadBalancer should be \"\", not provided or \"Internet-facing\"", - "type": "string" - }, - "region": { - "type": "string" - }, - "sshKeyName": { - "type": "string" - }, - "vpcId": { - "description": "VPC Id to deploy cluster into should have one public and one private subnet for the the cluster creation, this field is optional, If VPC Id is not provided a fully managed VPC will be created", - "type": "string" - } - } - }, - "machinepoolconfig": { - "type": "array", - "items": { - "type": "object", - "required": [ - "cloudConfig" - ], - "properties": { - "cloudConfig": { - "type": "object", - "required": [ - "instanceType" - ], - "properties": { - "additionalSecurityGroups": { - "description": "Additional Security groups", - "type": "array", - "items": { - "description": "AWSResourceReference is a reference to a specific AWS resource by ID or filters", - "type": "object", - "properties": { - "arn": { - "description": "ARN of resource", - "type": "string" - }, - "filters": { - "description": "Filters is a set of key/value pairs used to identify a resource", - "type": "array", - "uniqueItems": true, - "items": { - "description": "Filter is a filter used to identify an AWS resource", - "type": "object", - "properties": { - "name": { - "description": "Name of the filter. Filter names are case-sensitive", - "type": "string" - }, - "values": { - "description": "Values includes one or more filter values. Filter values are case-sensitive", - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - } - } - } - }, - "id": { - "description": "ID of resource", - "type": "string" - } - } - } - }, - "azs": { - "type": "array", - "items": { - "type": "string" - } - }, - "capacityType": { - "description": "EC2 instance capacity type", - "type": "string", - "default": "on-demand", - "enum": [ - "on-demand", - "spot" - ] - }, - "instanceType": { - "description": "instance type", - "type": "string" - }, - "rootDeviceSize": { - "description": "rootDeviceSize in GBs", - "type": "integer", - "format": "int64", - "maximum": 2000, - "minimum": 1 - }, - "spotMarketOptions": { - "description": "SpotMarketOptions defines the options available to a user when configuring Machines to run on Spot instances. Most users should provide an empty struct.", - "type": "object", - "properties": { - "maxPrice": { - "description": "MaxPrice defines the maximum price the user is willing to pay for Spot VM instances", - "type": "string" - } - } - }, - "subnets": { - "type": "array", - "items": { - "properties": { - "az": { - "type": "string" - }, - "id": { - "type": "string" - } - } - } - } - } - }, - "poolConfig": { - "description": "Machine pool configuration for the cluster", - "type": "object", - "required": [ - "name", - "size", - "labels" - ], - "properties": { - "additionalLabels": { - "description": "Additional labels to be part of the machine pool", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "additionalTags": { - "description": "AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "isControlPlane": { - "description": "Whether this pool is for control plane", - "type": "boolean", - "x-omitempty": false - }, - "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", - "type": "array", - "items": { - "type": "string" - } - }, - "machinePoolProperties": { - "description": "Machine pool specific properties", - "type": "object", - "properties": { - "archType": { - "type": "string", - "default": "amd64", - "enum": [ - "amd64", - "arm64" - ] - } - } - }, - "maxSize": { - "description": "Max size of the pool, for scaling", - "type": "integer", - "format": "int32" - }, - "minSize": { - "description": "Min size of the pool, for scaling", - "type": "integer", - "format": "int32" - }, - "name": { - "type": "string" - }, - "nodeRepaveInterval": { - "description": "Minimum number of seconds a node should be Ready, before the next node is selected for repave. Applicable only for workerpools in infrastructure cluster", - "type": "integer", - "format": "int32" - }, - "size": { - "description": "Size of the pool, number of nodes/machines", - "type": "integer", - "format": "int32" - }, - "taints": { - "description": "Master or worker taints", - "type": "array", - "uniqueItems": true, - "items": { - "description": "Taint", - "type": "object", - "properties": { - "effect": { - "type": "string", - "enum": [ - "NoSchedule", - "PreferNoSchedule", - "NoExecute" - ] - }, - "key": { - "description": "The taint key to be applied to a node", - "type": "string" - }, - "timeAdded": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "value": { - "description": "The taint value corresponding to the taint key.", - "type": "string" - } - } - } - }, - "updateStrategy": { - "description": "UpdatesStrategy will be used to translate to RollingUpdateStrategy of a MachineDeployment We'll start with default values for the translation, can expose more details later Following is details of parameters translated from the type ScaleOut =\u003e maxSurge=1, maxUnavailable=0 ScaleIn =\u003e maxSurge=0, maxUnavailable=1", - "type": "object", - "properties": { - "type": { - "description": "update strategy, either ScaleOut or ScaleIn if empty, will default to RollingUpdateScaleOut", - "type": "string", - "enum": [ - "RollingUpdateScaleOut", - "RollingUpdateScaleIn" - ] - } - } - }, - "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", - "type": "boolean", - "x-omitempty": false - } - } - } - } - } - } - } - } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "Aws Cluster estimated rate response", - "schema": { - "description": "Cluster estimated rate information", - "type": "object", - "properties": { - "machinePools": { - "type": "array", - "items": { - "description": "Machine pool estimated rate information", - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "nodesCount": { - "type": "integer", - "format": "int32" - }, - "rate": { - "description": "Cloud estimated rate information", - "type": "object", - "properties": { - "compute": { - "description": "Compute estimated rate information", - "type": "object", - "properties": { - "rate": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "type": { - "type": "string" - } - } - }, - "storage": { - "type": "array", - "items": { - "description": "Storage estimated rate information", - "type": "object", - "properties": { - "iops": { - "type": "number", - "format": "float64" - }, - "rate": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "sizeGB": { - "type": "number", - "format": "float64" - }, - "throughput": { - "type": "number", - "format": "float64" - }, - "type": { - "type": "string" - } - } - } - }, - "total": { - "type": "number", - "format": "float64", - "x-omitempty": false - } - } - } - } - } - }, - "name": { - "type": "string" - }, - "rate": { - "description": "Cluster total estimated rate information", - "type": "object", - "properties": { - "compute": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "storage": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "total": { - "type": "number", - "format": "float64", - "x-omitempty": false - } - } - }, - "resourceMetadata": { - "description": "Cloud resource metadata", - "type": "object", - "properties": { - "instanceTypes": { - "type": "object", - "additionalProperties": { - "description": "Cloud Instance type details", - "type": "object", - "properties": { - "category": { - "description": "Category of instance type", - "type": "string", - "x-go-name": "Category" - }, - "cost": { - "description": "Instance cost entity", - "type": "object", - "properties": { - "price": { - "description": "Array of cloud instance price", - "type": "array", - "items": { - "description": "Cloud instance price", - "type": "object", - "properties": { - "onDemand": { - "description": "OnDemand price of instance", - "type": "number", - "format": "double" - }, - "os": { - "description": "Os associated with instance price. Allowed values - [linux, windows]", - "type": "string", - "enum": [ - "linux", - "windows" - ] - }, - "spot": { - "description": "Spot price of instance", - "type": "number", - "format": "double" - } - } - } - } - } - }, - "cpu": { - "description": "Cpu of instance type", - "type": "number", - "format": "double", - "x-go-name": "Cpu" - }, - "gpu": { - "description": "Gpu of instance type", - "type": "number", - "format": "double", - "x-go-name": "Gpu" - }, - "memory": { - "description": "Memory of instance type", - "type": "number", - "format": "double", - "x-go-name": "Memory" - }, - "nonSupportedZones": { - "description": "Non supported zones of the instance in a particular region", - "type": "array", - "items": { - "type": "string" - } - }, - "price": { - "description": "Price of instance type", - "type": "number", - "format": "double", - "x-go-name": "Price" - }, - "supportedArchitectures": { - "description": "Supported architecture of the instance", - "type": "array", - "items": { - "type": "string" - } - }, - "type": { - "description": "Type of instance type", - "type": "string", - "x-go-name": "Type" - } - } - } - }, - "storageTypes": { - "type": "object", - "additionalProperties": { - "description": "Cloud cloud Storage type details", - "type": "object", - "properties": { - "cost": { - "description": "Cloud storage cost", - "type": "object", - "properties": { - "discountedUsage": { - "description": "Cloud storage upper limit which is free.", - "type": "string" - }, - "price": { - "description": "Array of cloud storage range prices", - "type": "array", - "items": { - "description": "Cloud storage price within an upper limit.", - "type": "object", - "properties": { - "limit": { - "description": "Upper limit of cloud storage usage", - "type": "string" - }, - "price": { - "description": "Price of cloud storage type", - "type": "string" - } - } - } - } - } - }, - "iopsCost": { - "description": "Cloud storage cost", - "type": "object", - "properties": { - "discountedUsage": { - "description": "Cloud storage upper limit which is free.", - "type": "string" - }, - "price": { - "description": "Array of cloud storage range prices", - "type": "array", - "items": { - "description": "Cloud storage price within an upper limit.", - "type": "object", - "properties": { - "limit": { - "description": "Upper limit of cloud storage usage", - "type": "string" - }, - "price": { - "description": "Price of cloud storage type", - "type": "string" - } - } - } - } - } - }, - "kind": { - "description": "kind of storage type", - "type": "string" - }, - "name": { - "description": "Name of the storage type", - "type": "string" - }, - "throughputCost": { - "description": "Cloud storage cost", - "type": "object", - "properties": { - "discountedUsage": { - "description": "Cloud storage upper limit which is free.", - "type": "string" - }, - "price": { - "description": "Array of cloud storage range prices", - "type": "array", - "items": { - "description": "Cloud storage price within an upper limit.", - "type": "object", - "properties": { - "limit": { - "description": "Upper limit of cloud storage usage", - "type": "string" - }, - "price": { - "description": "Price of cloud storage type", - "type": "string" - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - }, - "/v1/spectroclusters/aws/validate": { - "post": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Validates AWS cluster create operation", - "operationId": "v1SpectroClustersAwsValidate", - "parameters": [ - { - "name": "body", - "in": "body", - "schema": { - "description": "AWS cluster request payload for create and update", - "type": "object", - "properties": { - "metadata": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", - "type": "object", - "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "name": { - "description": "Name of the resource.", - "type": "string" - }, - "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", - "type": "string" - } - } - }, - "spec": { - "type": "object", - "required": [ - "cloudType", - "cloudAccountUid", - "cloudConfig" - ], - "properties": { - "cloudAccountUid": { - "description": "Cloud account uid to be used for cluster provisioning", - "type": "string" - }, - "cloudConfig": { - "description": "Cluster level configuration for aws cloud and applicable for all the machine pools", - "type": "object", - "required": [ - "region" - ], - "properties": { - "bastionDisabled": { - "description": "Create bastion node option we have earlier supported creation of bastion by default capa seems to favour session manager against bastion node https://github.com/kubernetes-sigs/cluster-api-provider-aws/issues/947", - "type": "boolean" - }, - "controlPlaneLoadBalancer": { - "description": "ControlPlaneLoadBalancer specifies how API server elb will be configured, this field is optional, not provided, \"\", default =\u003e \"Internet-facing\" \"Internet-facing\" =\u003e \"Internet-facing\" \"internal\" =\u003e \"internal\" For spectro saas setup we require to talk to the apiserver from our cluster so ControlPlaneLoadBalancer should be \"\", not provided or \"Internet-facing\"", - "type": "string" - }, - "region": { - "type": "string" - }, - "sshKeyName": { - "type": "string" - }, - "vpcId": { - "description": "VPC Id to deploy cluster into should have one public and one private subnet for the the cluster creation, this field is optional, If VPC Id is not provided a fully managed VPC will be created", - "type": "string" - } - } - }, - "clusterConfig": { - "type": "object", - "properties": { - "clusterMetaAttribute": { - "description": "ClusterMetaAttribute can be used to set additional cluster metadata information.", - "type": "string" - }, - "controlPlaneHealthCheckTimeout": { - "type": "string" - }, - "hostClusterConfig": { - "properties": { - "clusterEndpoint": { - "properties": { - "config": { - "properties": { - "ingressConfig": { - "description": "Ingress configuration for exposing the virtual cluster's kube-apiserver", - "properties": { - "host": { - "type": "string" - }, - "port": { - "type": "integer", - "format": "int64" - } - } - }, - "loadBalancerConfig": { - "description": "Load balancer configuration for exposing the virtual cluster's kube-apiserver", - "properties": { - "externalIPs": { - "type": "array", - "items": { - "type": "string" - } - }, - "externalTrafficPolicy": { - "type": "string" - }, - "loadBalancerSourceRanges": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - } - }, - "type": { - "description": "is enabled as host cluster", - "type": "string", - "enum": [ - "Ingress", - "LoadBalancer" - ] - } - } - }, - "clusterGroup": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", - "type": "string" - } - } - }, - "hostCluster": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", - "type": "string" - } - } - }, - "isHostCluster": { - "description": "is enabled as host cluster", - "type": "boolean", - "default": false, - "x-omitempty": false - } - } - }, - "lifecycleConfig": { - "properties": { - "pause": { - "description": "enable pause life cycle config", - "type": "boolean", - "default": false, - "x-omitempty": false - } - } - }, - "location": { - "description": "Cluster location information", - "type": "object", - "properties": { - "countryCode": { - "description": "country code for cluster location", - "type": "string" - }, - "countryName": { - "description": "country name for cluster location", - "type": "string" - }, - "geoLoc": { - "description": "Geolocation Latlong entity", - "type": "object", - "properties": { - "latitude": { - "description": "Latitude of a resource", - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "longitude": { - "description": "Longitude of a resource", - "type": "number", - "format": "float64", - "x-omitempty": false - } - } - }, - "regionCode": { - "description": "region code for cluster location", - "type": "string" - }, - "regionName": { - "description": "region name for cluster location", - "type": "string" - } - } - }, - "machineManagementConfig": { - "type": "object", - "properties": { - "osPatchConfig": { - "type": "object", - "properties": { - "onDemandPatchAfter": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "patchOnBoot": { - "description": "PatchOnBoot indicates need to do patch when node first boot up, only once", - "type": "boolean", - "x-omitempty": false - }, - "rebootIfRequired": { - "description": "Reboot once the OS patch is applied", - "type": "boolean", - "x-omitempty": false - }, - "schedule": { - "description": "The schedule at which security patches will be applied to OS. Schedule should be in Cron format, see https://en.wikipedia.org/wiki/Cron for more help.", - "type": "string" - } - } - } - } - }, - "resources": { - "type": "object", - "properties": { - "namespaces": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Cluster Namespace resource defintion", - "type": "object", - "properties": { - "metadata": { - "description": "ObjectMeta update entity with uid as input", - "type": "object", - "properties": { - "annotations": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - }, - "spec": { - "description": "Cluster namespace spec", - "properties": { - "isRegex": { - "type": "boolean", - "x-omitempty": false - }, - "relatedObject": { - "description": "Object for which the resource is related", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "spectrocluster", - "machine", - "cloudconfig", - "clusterprofile", - "pack", - "appprofile", - "appdeployment", - "edgehost" - ] - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - }, - "resourceAllocation": { - "description": "Cluster namespace resource allocation", - "properties": { - "cpuCores": { - "type": "number", - "minimum": 0, - "exclusiveMinimum": true - }, - "memoryMiB": { - "type": "number", - "minimum": 0, - "exclusiveMinimum": true - } - } - } - } - } - } - } - }, - "rbacs": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Cluster RBAC role binding defintion", - "type": "object", - "properties": { - "metadata": { - "description": "ObjectMeta update entity with uid as input", - "type": "object", - "properties": { - "annotations": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - }, - "spec": { - "description": "Cluster RBAC spec", - "type": "object", - "properties": { - "bindings": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Cluster RBAC binding", - "type": "object", - "properties": { - "namespace": { - "type": "string" - }, - "role": { - "description": "Cluster role ref", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "Role", - "ClusterRole" - ] - }, - "name": { - "type": "string" - } - } - }, - "subjects": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Cluster role ref", - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "namespace": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "User", - "Group", - "ServiceAccount" - ] - } - } - } - }, - "type": { - "type": "string", - "enum": [ - "RoleBinding", - "ClusterRoleBinding" - ] - } - } - } - }, - "relatedObject": { - "description": "Object for which the resource is related", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "spectrocluster", - "machine", - "cloudconfig", - "clusterprofile", - "pack", - "appprofile", - "appdeployment", - "edgehost" - ] - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - } - } - } - } - } - } - } - }, - "updateWorkerPoolsInParallel": { - "type": "boolean" - } - } - }, - "machinepoolconfig": { - "type": "array", - "items": { - "type": "object", - "required": [ - "cloudConfig" - ], - "properties": { - "cloudConfig": { - "type": "object", - "required": [ - "instanceType" - ], - "properties": { - "additionalSecurityGroups": { - "description": "Additional Security groups", - "type": "array", - "items": { - "description": "AWSResourceReference is a reference to a specific AWS resource by ID or filters", - "type": "object", - "properties": { - "arn": { - "description": "ARN of resource", - "type": "string" - }, - "filters": { - "description": "Filters is a set of key/value pairs used to identify a resource", - "type": "array", - "uniqueItems": true, - "items": { - "description": "Filter is a filter used to identify an AWS resource", - "type": "object", - "properties": { - "name": { - "description": "Name of the filter. Filter names are case-sensitive", - "type": "string" - }, - "values": { - "description": "Values includes one or more filter values. Filter values are case-sensitive", - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - } - } - } - }, - "id": { - "description": "ID of resource", - "type": "string" - } - } - } - }, - "azs": { - "type": "array", - "items": { - "type": "string" - } - }, - "capacityType": { - "description": "EC2 instance capacity type", - "type": "string", - "default": "on-demand", - "enum": [ - "on-demand", - "spot" - ] - }, - "instanceType": { - "description": "instance type", - "type": "string" - }, - "rootDeviceSize": { - "description": "rootDeviceSize in GBs", - "type": "integer", - "format": "int64", - "maximum": 2000, - "minimum": 1 - }, - "spotMarketOptions": { - "description": "SpotMarketOptions defines the options available to a user when configuring Machines to run on Spot instances. Most users should provide an empty struct.", - "type": "object", - "properties": { - "maxPrice": { - "description": "MaxPrice defines the maximum price the user is willing to pay for Spot VM instances", - "type": "string" - } - } - }, - "subnets": { - "type": "array", - "items": { - "properties": { - "az": { - "type": "string" - }, - "id": { - "type": "string" - } - } - } - } - } - }, - "poolConfig": { - "description": "Machine pool configuration for the cluster", - "type": "object", - "required": [ - "name", - "size", - "labels" - ], - "properties": { - "additionalLabels": { - "description": "Additional labels to be part of the machine pool", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "additionalTags": { - "description": "AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "isControlPlane": { - "description": "Whether this pool is for control plane", - "type": "boolean", - "x-omitempty": false - }, - "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", - "type": "array", - "items": { - "type": "string" - } - }, - "machinePoolProperties": { - "description": "Machine pool specific properties", - "type": "object", - "properties": { - "archType": { - "type": "string", - "default": "amd64", - "enum": [ - "amd64", - "arm64" - ] - } - } - }, - "maxSize": { - "description": "Max size of the pool, for scaling", - "type": "integer", - "format": "int32" - }, - "minSize": { - "description": "Min size of the pool, for scaling", - "type": "integer", - "format": "int32" - }, - "name": { - "type": "string" - }, - "nodeRepaveInterval": { - "description": "Minimum number of seconds a node should be Ready, before the next node is selected for repave. Applicable only for workerpools in infrastructure cluster", - "type": "integer", - "format": "int32" - }, - "size": { - "description": "Size of the pool, number of nodes/machines", - "type": "integer", - "format": "int32" - }, - "taints": { - "description": "Master or worker taints", - "type": "array", - "uniqueItems": true, - "items": { - "description": "Taint", - "type": "object", - "properties": { - "effect": { - "type": "string", - "enum": [ - "NoSchedule", - "PreferNoSchedule", - "NoExecute" - ] - }, - "key": { - "description": "The taint key to be applied to a node", - "type": "string" - }, - "timeAdded": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "value": { - "description": "The taint value corresponding to the taint key.", - "type": "string" - } - } - } - }, - "updateStrategy": { - "description": "UpdatesStrategy will be used to translate to RollingUpdateStrategy of a MachineDeployment We'll start with default values for the translation, can expose more details later Following is details of parameters translated from the type ScaleOut =\u003e maxSurge=1, maxUnavailable=0 ScaleIn =\u003e maxSurge=0, maxUnavailable=1", - "type": "object", - "properties": { - "type": { - "description": "update strategy, either ScaleOut or ScaleIn if empty, will default to RollingUpdateScaleOut", - "type": "string", - "enum": [ - "RollingUpdateScaleOut", - "RollingUpdateScaleIn" - ] - } - } - }, - "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", - "type": "boolean", - "x-omitempty": false - } - } - } - } - } - }, - "policies": { - "description": "Cluster policies", - "type": "object", - "properties": { - "backupPolicy": { - "description": "Cluster backup config", - "properties": { - "backupLocationName": { - "type": "string" - }, - "backupLocationUid": { - "type": "string" - }, - "backupName": { - "type": "string" - }, - "backupPrefix": { - "type": "string" - }, - "durationInHours": { - "type": "number", - "format": "int64" - }, - "includeAllDisks": { - "type": "boolean" - }, - "includeClusterResources": { - "type": "boolean" - }, - "locationType": { - "type": "string" - }, - "namespaces": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - }, - "schedule": { - "description": "Cluster feature schedule", - "properties": { - "scheduledRunTime": { - "type": "string" - } - } - } - } - }, - "scanPolicy": { - "description": "Cluster compliance scan schedule configuration", - "properties": { - "kubeBench": { - "description": "Cluster compliance scan schedule config for kube bench driver", - "properties": { - "schedule": { - "description": "Cluster feature schedule", - "properties": { - "scheduledRunTime": { - "type": "string" - } - } - } - } - }, - "kubeHunter": { - "description": "Cluster compliance scan schedule config for kube hunter driver", - "properties": { - "schedule": { - "description": "Cluster feature schedule", - "properties": { - "scheduledRunTime": { - "type": "string" - } - } - } - } - }, - "sonobuoy": { - "description": "Cluster compliance scan schedule config for sonobuoy driver", - "properties": { - "schedule": { - "description": "Cluster feature schedule", - "properties": { - "scheduledRunTime": { - "type": "string" - } - } - } - } - } - } - } - } - }, - "profiles": { - "type": "array", - "items": { - "description": "Cluster profile request payload", - "type": "object", - "properties": { - "packValues": { - "description": "Cluster profile packs array", - "type": "array", - "uniqueItems": true, - "items": { - "description": "Pack values entity to refer the existing pack for the values override", - "type": "object", - "required": [ - "name" - ], - "properties": { - "manifests": { - "description": "Pack manifests are additional content as part of the profile", - "type": "array", - "items": { - "description": "Manifest update request payload", - "required": [ - "name" - ], - "properties": { - "content": { - "description": "Manifest content in yaml", - "type": "string" - }, - "name": { - "description": "Manifest name", - "type": "string" - }, - "uid": { - "description": "Manifest uid", - "type": "string" - } - } - } - }, - "name": { - "description": "Pack name", - "type": "string" - }, - "tag": { - "description": "Pack version tag", - "type": "string" - }, - "type": { - "type": "string", - "default": "spectro", - "enum": [ - "spectro", - "helm", - "manifest", - "oci" - ] - }, - "values": { - "description": "Pack values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", - "type": "string" - } - } - } - }, - "replaceWithProfile": { - "description": "Cluster profile uid to be replaced with new profile", - "type": "string" - }, - "uid": { - "description": "Cluster profile uid", - "type": "string" - } - } - } - } - } - } - } - } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "Aws Cluster validation response", - "schema": { - "description": "Cluster validator response", - "type": "object", - "properties": { - "machinePools": { - "description": "Constraint validator response", - "type": "object", - "properties": { - "results": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Constraint validator result", - "type": "object", - "properties": { - "displayName": { - "type": "string" - }, - "errors": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "object", - "properties": { - "code": { - "type": "string" - }, - "message": { - "type": "string" - } - } - } - }, - "name": { - "type": "string" - } - } - } - } - } - }, - "profiles": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Cluster profile validator response", - "type": "object", - "properties": { - "packs": { - "description": "Constraint validator response", - "type": "object", - "properties": { - "results": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Constraint validator result", - "type": "object", - "properties": { - "displayName": { - "type": "string" - }, - "errors": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "object", - "properties": { - "code": { - "type": "string" - }, - "message": { - "type": "string" - } - } - } - }, - "name": { - "type": "string" - } - } - } - } - } - }, - "uid": { - "description": "Cluster profile uid", - "type": "string" - } - } - } - } - } - } - } - } - } - }, - "/v1/spectroclusters/azure": { - "post": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Creates an Azure cluster", - "operationId": "v1SpectroClustersAzureCreate", - "parameters": [ - { - "name": "body", - "in": "body", - "schema": { - "description": "Azure cluster request payload for create and update", - "type": "object", - "properties": { - "metadata": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", - "type": "object", - "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "name": { - "description": "Name of the resource.", - "type": "string" - }, - "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", - "type": "string" - } - } - }, - "spec": { - "type": "object", - "required": [ - "cloudType", - "cloudAccountUid", - "cloudConfig" - ], - "properties": { - "cloudAccountUid": { - "description": "Cloud account uid to be used for cluster provisioning", - "type": "string" - }, - "cloudConfig": { - "description": "Cluster level configuration for Azure cloud and applicable for all the machine pools", - "type": "object", - "required": [ - "subscriptionId", - "location", - "sshKey" - ], - "properties": { - "aadProfile": { - "description": "AADProfile - AAD integration is managed by AKS.", - "type": "object", - "required": [ - "managed", - "adminGroupObjectIDs" - ], - "properties": { - "adminGroupObjectIDs": { - "description": "AdminGroupObjectIDs - AAD group object IDs that will have admin role of the cluster.", - "type": "array", - "items": { - "type": "string" - } - }, - "managed": { - "description": "Managed - Whether to enable managed AAD.", - "type": "boolean", - "x-omitempty": false - } - } - }, - "apiServerAccessProfile": { - "description": "APIServerAccessProfile - access profile for AKS API server.", - "type": "object", - "properties": { - "authorizedIPRanges": { - "description": "AuthorizedIPRanges - Authorized IP Ranges to kubernetes API server.", - "type": "array", - "items": { - "type": "string", - "default": "" - } - }, - "enablePrivateCluster": { - "description": "EnablePrivateCluster - Whether to create the cluster as a private cluster or not.", - "type": "boolean" - }, - "enablePrivateClusterPublicFQDN": { - "description": "EnablePrivateClusterPublicFQDN - Whether to create additional public FQDN for private cluster or not.", - "type": "boolean" - }, - "privateDNSZone": { - "description": "PrivateDNSZone - Private dns zone mode for private cluster.", - "type": "string" - } - } - }, - "containerName": { - "type": "string" - }, - "controlPlaneSubnet": { - "type": "object", - "properties": { - "cidrBlock": { - "description": "CidrBlock is the CIDR block to be used when the provider creates a managed Vnet.", - "type": "string" - }, - "name": { - "type": "string" - }, - "securityGroupName": { - "description": "Network Security Group(NSG) to be attached to subnet. NSG for a control plane subnet, should allow inbound to port 6443, as port 6443 is used by kubeadm to bootstrap the control planes", - "type": "string" - } - } - }, - "enablePrivateCluster": { - "description": "Deprecated. use apiServerAccessProfile.enablePrivateCluster", - "type": "boolean" - }, - "infraLBConfig": { - "type": "object", - "properties": { - "apiServerLB": { - "description": "LoadBalancerSpec defines an Azure load balancer.", - "type": "object", - "properties": { - "apiServerLBStaticIP": { - "type": "string" - }, - "ipAllocationMethod": { - "type": "string", - "default": "Dynamic", - "enum": [ - "Static", - "Dynamic" - ] - }, - "privateDNSName": { - "type": "string" - }, - "type": { - "description": "Load Balancer type", - "type": "string", - "default": "Public", - "enum": [ - "Internal", - "Public" - ] - } - } - } - } - }, - "location": { - "description": "Location is the Azure datacenter location", - "type": "string" - }, - "resourceGroup": { - "type": "string" - }, - "sshKey": { - "type": "string" - }, - "storageAccountName": { - "type": "string" - }, - "subscriptionId": { - "description": "Subscription ID is unique identifier for the subscription used to access Azure services", - "type": "string" - }, - "vnetCidrBlock": { - "type": "string" - }, - "vnetName": { - "description": "VNETName is the virtual network in which the cluster is to be provisioned.", - "type": "string" - }, - "vnetResourceGroup": { - "type": "string" - }, - "workerSubnet": { - "type": "object", - "properties": { - "cidrBlock": { - "description": "CidrBlock is the CIDR block to be used when the provider creates a managed Vnet.", - "type": "string" - }, - "name": { - "type": "string" - }, - "securityGroupName": { - "description": "Network Security Group(NSG) to be attached to subnet. NSG for a control plane subnet, should allow inbound to port 6443, as port 6443 is used by kubeadm to bootstrap the control planes", - "type": "string" - } - } - } - } - }, - "clusterConfig": { - "type": "object", - "properties": { - "clusterMetaAttribute": { - "description": "ClusterMetaAttribute can be used to set additional cluster metadata information.", - "type": "string" - }, - "controlPlaneHealthCheckTimeout": { - "type": "string" - }, - "hostClusterConfig": { - "properties": { - "clusterEndpoint": { - "properties": { - "config": { - "properties": { - "ingressConfig": { - "description": "Ingress configuration for exposing the virtual cluster's kube-apiserver", - "properties": { - "host": { - "type": "string" - }, - "port": { - "type": "integer", - "format": "int64" - } - } - }, - "loadBalancerConfig": { - "description": "Load balancer configuration for exposing the virtual cluster's kube-apiserver", - "properties": { - "externalIPs": { - "type": "array", - "items": { - "type": "string" - } - }, - "externalTrafficPolicy": { - "type": "string" - }, - "loadBalancerSourceRanges": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - } - }, - "type": { - "description": "is enabled as host cluster", - "type": "string", - "enum": [ - "Ingress", - "LoadBalancer" - ] - } - } - }, - "clusterGroup": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", - "type": "string" - } - } - }, - "hostCluster": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", - "type": "string" - } - } - }, - "isHostCluster": { - "description": "is enabled as host cluster", - "type": "boolean", - "default": false, - "x-omitempty": false - } - } - }, - "lifecycleConfig": { - "properties": { - "pause": { - "description": "enable pause life cycle config", - "type": "boolean", - "default": false, - "x-omitempty": false - } - } - }, - "location": { - "description": "Cluster location information", - "type": "object", - "properties": { - "countryCode": { - "description": "country code for cluster location", - "type": "string" - }, - "countryName": { - "description": "country name for cluster location", - "type": "string" - }, - "geoLoc": { - "description": "Geolocation Latlong entity", - "type": "object", - "properties": { - "latitude": { - "description": "Latitude of a resource", - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "longitude": { - "description": "Longitude of a resource", - "type": "number", - "format": "float64", - "x-omitempty": false - } - } - }, - "regionCode": { - "description": "region code for cluster location", - "type": "string" - }, - "regionName": { - "description": "region name for cluster location", - "type": "string" - } - } - }, - "machineManagementConfig": { - "type": "object", - "properties": { - "osPatchConfig": { - "type": "object", - "properties": { - "onDemandPatchAfter": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "patchOnBoot": { - "description": "PatchOnBoot indicates need to do patch when node first boot up, only once", - "type": "boolean", - "x-omitempty": false - }, - "rebootIfRequired": { - "description": "Reboot once the OS patch is applied", - "type": "boolean", - "x-omitempty": false - }, - "schedule": { - "description": "The schedule at which security patches will be applied to OS. Schedule should be in Cron format, see https://en.wikipedia.org/wiki/Cron for more help.", - "type": "string" - } - } - } - } - }, - "resources": { - "type": "object", - "properties": { - "namespaces": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Cluster Namespace resource defintion", - "type": "object", - "properties": { - "metadata": { - "description": "ObjectMeta update entity with uid as input", - "type": "object", - "properties": { - "annotations": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - }, - "spec": { - "description": "Cluster namespace spec", - "properties": { - "isRegex": { - "type": "boolean", - "x-omitempty": false - }, - "relatedObject": { - "description": "Object for which the resource is related", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "spectrocluster", - "machine", - "cloudconfig", - "clusterprofile", - "pack", - "appprofile", - "appdeployment", - "edgehost" - ] - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - }, - "resourceAllocation": { - "description": "Cluster namespace resource allocation", - "properties": { - "cpuCores": { - "type": "number", - "minimum": 0, - "exclusiveMinimum": true - }, - "memoryMiB": { - "type": "number", - "minimum": 0, - "exclusiveMinimum": true - } - } - } - } - } - } - } - }, - "rbacs": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Cluster RBAC role binding defintion", - "type": "object", - "properties": { - "metadata": { - "description": "ObjectMeta update entity with uid as input", - "type": "object", - "properties": { - "annotations": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - }, - "spec": { - "description": "Cluster RBAC spec", - "type": "object", - "properties": { - "bindings": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Cluster RBAC binding", - "type": "object", - "properties": { - "namespace": { - "type": "string" - }, - "role": { - "description": "Cluster role ref", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "Role", - "ClusterRole" - ] - }, - "name": { - "type": "string" - } - } - }, - "subjects": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Cluster role ref", - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "namespace": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "User", - "Group", - "ServiceAccount" - ] - } - } - } - }, - "type": { - "type": "string", - "enum": [ - "RoleBinding", - "ClusterRoleBinding" - ] - } - } - } - }, - "relatedObject": { - "description": "Object for which the resource is related", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "spectrocluster", - "machine", - "cloudconfig", - "clusterprofile", - "pack", - "appprofile", - "appdeployment", - "edgehost" - ] - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - } - } - } - } - } - } - } - }, - "updateWorkerPoolsInParallel": { - "type": "boolean" - } - } - }, - "machinepoolconfig": { - "type": "array", - "items": { - "type": "object", - "required": [ - "cloudConfig" - ], - "properties": { - "cloudConfig": { - "type": "object", - "properties": { - "azs": { - "type": "array", - "items": { - "type": "string" - } - }, - "instanceType": { - "description": "Instance type stands for VMSize in Azure", - "type": "string" - }, - "isSystemNodePool": { - "description": "whether this pool is for system node Pool", - "type": "boolean" - }, - "osDisk": { - "type": "object", - "properties": { - "diskSizeGB": { - "type": "integer", - "format": "int32" - }, - "managedDisk": { - "type": "object", - "properties": { - "storageAccountType": { - "type": "string" - } - } - }, - "osType": { - "type": "string", - "default": "Linux", - "enum": [ - "Linux", - "Windows" - ] - } - } - } - } - }, - "managedPoolConfig": { - "type": "object", - "properties": { - "isSystemNodePool": { - "description": "whether this pool is for system node Pool", - "type": "boolean", - "x-omitempty": false - }, - "osType": { - "type": "string", - "default": "Linux", - "enum": [ - "Linux", - "Windows" - ] - } - } - }, - "poolConfig": { - "description": "Machine pool configuration for the cluster", - "type": "object", - "required": [ - "name", - "size", - "labels" - ], - "properties": { - "additionalLabels": { - "description": "Additional labels to be part of the machine pool", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "additionalTags": { - "description": "AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "isControlPlane": { - "description": "Whether this pool is for control plane", - "type": "boolean", - "x-omitempty": false - }, - "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", - "type": "array", - "items": { - "type": "string" - } - }, - "machinePoolProperties": { - "description": "Machine pool specific properties", - "type": "object", - "properties": { - "archType": { - "type": "string", - "default": "amd64", - "enum": [ - "amd64", - "arm64" - ] - } - } - }, - "maxSize": { - "description": "Max size of the pool, for scaling", - "type": "integer", - "format": "int32" - }, - "minSize": { - "description": "Min size of the pool, for scaling", - "type": "integer", - "format": "int32" - }, - "name": { - "type": "string" - }, - "nodeRepaveInterval": { - "description": "Minimum number of seconds a node should be Ready, before the next node is selected for repave. Applicable only for workerpools in infrastructure cluster", - "type": "integer", - "format": "int32" - }, - "size": { - "description": "Size of the pool, number of nodes/machines", - "type": "integer", - "format": "int32" - }, - "taints": { - "description": "Master or worker taints", - "type": "array", - "uniqueItems": true, - "items": { - "description": "Taint", - "type": "object", - "properties": { - "effect": { - "type": "string", - "enum": [ - "NoSchedule", - "PreferNoSchedule", - "NoExecute" - ] - }, - "key": { - "description": "The taint key to be applied to a node", - "type": "string" - }, - "timeAdded": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "value": { - "description": "The taint value corresponding to the taint key.", - "type": "string" - } - } - } - }, - "updateStrategy": { - "description": "UpdatesStrategy will be used to translate to RollingUpdateStrategy of a MachineDeployment We'll start with default values for the translation, can expose more details later Following is details of parameters translated from the type ScaleOut =\u003e maxSurge=1, maxUnavailable=0 ScaleIn =\u003e maxSurge=0, maxUnavailable=1", - "type": "object", - "properties": { - "type": { - "description": "update strategy, either ScaleOut or ScaleIn if empty, will default to RollingUpdateScaleOut", - "type": "string", - "enum": [ - "RollingUpdateScaleOut", - "RollingUpdateScaleIn" - ] - } - } - }, - "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", - "type": "boolean", - "x-omitempty": false - } - } - } - } - } - }, - "policies": { - "description": "Cluster policies", - "type": "object", - "properties": { - "backupPolicy": { - "description": "Cluster backup config", - "properties": { - "backupLocationName": { - "type": "string" - }, - "backupLocationUid": { - "type": "string" - }, - "backupName": { - "type": "string" - }, - "backupPrefix": { - "type": "string" - }, - "durationInHours": { - "type": "number", - "format": "int64" - }, - "includeAllDisks": { - "type": "boolean" - }, - "includeClusterResources": { - "type": "boolean" - }, - "locationType": { - "type": "string" - }, - "namespaces": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - }, - "schedule": { - "description": "Cluster feature schedule", - "properties": { - "scheduledRunTime": { - "type": "string" - } - } - } - } - }, - "scanPolicy": { - "description": "Cluster compliance scan schedule configuration", - "properties": { - "kubeBench": { - "description": "Cluster compliance scan schedule config for kube bench driver", - "properties": { - "schedule": { - "description": "Cluster feature schedule", - "properties": { - "scheduledRunTime": { - "type": "string" - } - } - } - } - }, - "kubeHunter": { - "description": "Cluster compliance scan schedule config for kube hunter driver", - "properties": { - "schedule": { - "description": "Cluster feature schedule", - "properties": { - "scheduledRunTime": { - "type": "string" - } - } - } - } - }, - "sonobuoy": { - "description": "Cluster compliance scan schedule config for sonobuoy driver", - "properties": { - "schedule": { - "description": "Cluster feature schedule", - "properties": { - "scheduledRunTime": { - "type": "string" - } - } - } - } - } - } - } - } - }, - "profiles": { - "type": "array", - "items": { - "description": "Cluster profile request payload", - "type": "object", - "properties": { - "packValues": { - "description": "Cluster profile packs array", - "type": "array", - "uniqueItems": true, - "items": { - "description": "Pack values entity to refer the existing pack for the values override", - "type": "object", - "required": [ - "name" - ], - "properties": { - "manifests": { - "description": "Pack manifests are additional content as part of the profile", - "type": "array", - "items": { - "description": "Manifest update request payload", - "required": [ - "name" - ], - "properties": { - "content": { - "description": "Manifest content in yaml", - "type": "string" - }, - "name": { - "description": "Manifest name", - "type": "string" - }, - "uid": { - "description": "Manifest uid", - "type": "string" - } - } - } - }, - "name": { - "description": "Pack name", - "type": "string" - }, - "tag": { - "description": "Pack version tag", - "type": "string" - }, - "type": { - "type": "string", - "default": "spectro", - "enum": [ - "spectro", - "helm", - "manifest", - "oci" - ] - }, - "values": { - "description": "Pack values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", - "type": "string" - } - } - } - }, - "replaceWithProfile": { - "description": "Cluster profile uid to be replaced with new profile", - "type": "string" - }, - "uid": { - "description": "Cluster profile uid", - "type": "string" - } - } - } - } - } - } - } - } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "201": { - "description": "Created successfully", - "schema": { - "type": "object", - "required": [ - "uid" - ], - "properties": { - "uid": { - "type": "string" - } - } - }, - "headers": { - "AuditUid": { - "type": "string", - "description": "Audit uid for the request" - } - } - } - } - } - }, - "/v1/spectroclusters/azure/import": { - "post": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Imports an Azure cluster", - "operationId": "v1SpectroClustersAzureImport", - "parameters": [ - { - "name": "body", - "in": "body", - "schema": { - "description": "Spectro Azure cluster import request payload", - "type": "object", - "properties": { - "metadata": { - "description": "ObjectMeta input entity for object creation", - "type": "object", - "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "name": { - "description": "Name of the resource.", - "type": "string" - } - } - }, - "spec": { - "type": "object", - "properties": { - "clusterConfig": { - "type": "object", - "properties": { - "importMode": { - "description": "If the importMode is empty then cluster is imported with full permission mode. By default importMode is empty and cluster is imported in full permission mode.", - "type": "string", - "enum": [ - "read-only" - ] - }, - "proxy": { - "description": "cluster proxy config spec", - "type": "object", - "properties": { - "caContainerMountPath": { - "description": "Location to mount Proxy CA cert inside container", - "type": "string" - }, - "caHostPath": { - "description": "Location for Proxy CA cert on host nodes", - "type": "string" - }, - "httpProxy": { - "description": "URL for HTTP requests unless overridden by NoProxy", - "type": "string" - }, - "httpsProxy": { - "description": "HTTPS requests unless overridden by NoProxy", - "type": "string" - }, - "noProxy": { - "description": "NoProxy represents the NO_PROXY or no_proxy environment", - "type": "string" - } - } - } - } - } - } - } - } - } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "201": { - "description": "Created successfully", - "schema": { - "type": "object", - "required": [ - "uid" - ], - "properties": { - "uid": { - "type": "string" - } - } - }, - "headers": { - "AuditUid": { - "type": "string", - "description": "Audit uid for the request" - } - } - } - } - } - }, - "/v1/spectroclusters/azure/rate": { - "post": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Get Azure cluster estimated rate information", - "operationId": "v1SpectroClustersAzureRate", - "parameters": [ - { - "enum": [ - "hourly", - "monthly", - "yearly" - ], - "type": "string", - "default": "hourly", - "name": "periodType", - "in": "query" - }, - { - "name": "body", - "in": "body", - "schema": { - "description": "Spectro Azure cluster request payload for estimating rate", - "type": "object", - "properties": { - "cloudConfig": { - "description": "Cluster level configuration for Azure cloud and applicable for all the machine pools", - "type": "object", - "required": [ - "subscriptionId", - "location", - "sshKey" - ], - "properties": { - "aadProfile": { - "description": "AADProfile - AAD integration is managed by AKS.", - "type": "object", - "required": [ - "managed", - "adminGroupObjectIDs" - ], - "properties": { - "adminGroupObjectIDs": { - "description": "AdminGroupObjectIDs - AAD group object IDs that will have admin role of the cluster.", - "type": "array", - "items": { - "type": "string" - } - }, - "managed": { - "description": "Managed - Whether to enable managed AAD.", - "type": "boolean", - "x-omitempty": false - } - } - }, - "apiServerAccessProfile": { - "description": "APIServerAccessProfile - access profile for AKS API server.", - "type": "object", - "properties": { - "authorizedIPRanges": { - "description": "AuthorizedIPRanges - Authorized IP Ranges to kubernetes API server.", - "type": "array", - "items": { - "type": "string", - "default": "" - } - }, - "enablePrivateCluster": { - "description": "EnablePrivateCluster - Whether to create the cluster as a private cluster or not.", - "type": "boolean" - }, - "enablePrivateClusterPublicFQDN": { - "description": "EnablePrivateClusterPublicFQDN - Whether to create additional public FQDN for private cluster or not.", - "type": "boolean" - }, - "privateDNSZone": { - "description": "PrivateDNSZone - Private dns zone mode for private cluster.", - "type": "string" - } - } - }, - "containerName": { - "type": "string" - }, - "controlPlaneSubnet": { - "type": "object", - "properties": { - "cidrBlock": { - "description": "CidrBlock is the CIDR block to be used when the provider creates a managed Vnet.", - "type": "string" - }, - "name": { - "type": "string" - }, - "securityGroupName": { - "description": "Network Security Group(NSG) to be attached to subnet. NSG for a control plane subnet, should allow inbound to port 6443, as port 6443 is used by kubeadm to bootstrap the control planes", - "type": "string" - } - } - }, - "enablePrivateCluster": { - "description": "Deprecated. use apiServerAccessProfile.enablePrivateCluster", - "type": "boolean" - }, - "infraLBConfig": { - "type": "object", - "properties": { - "apiServerLB": { - "description": "LoadBalancerSpec defines an Azure load balancer.", - "type": "object", - "properties": { - "apiServerLBStaticIP": { - "type": "string" - }, - "ipAllocationMethod": { - "type": "string", - "default": "Dynamic", - "enum": [ - "Static", - "Dynamic" - ] - }, - "privateDNSName": { - "type": "string" - }, - "type": { - "description": "Load Balancer type", - "type": "string", - "default": "Public", - "enum": [ - "Internal", - "Public" - ] - } - } - } - } - }, - "location": { - "description": "Location is the Azure datacenter location", - "type": "string" - }, - "resourceGroup": { - "type": "string" - }, - "sshKey": { - "type": "string" - }, - "storageAccountName": { - "type": "string" - }, - "subscriptionId": { - "description": "Subscription ID is unique identifier for the subscription used to access Azure services", - "type": "string" - }, - "vnetCidrBlock": { - "type": "string" - }, - "vnetName": { - "description": "VNETName is the virtual network in which the cluster is to be provisioned.", - "type": "string" - }, - "vnetResourceGroup": { - "type": "string" - }, - "workerSubnet": { - "type": "object", - "properties": { - "cidrBlock": { - "description": "CidrBlock is the CIDR block to be used when the provider creates a managed Vnet.", - "type": "string" - }, - "name": { - "type": "string" - }, - "securityGroupName": { - "description": "Network Security Group(NSG) to be attached to subnet. NSG for a control plane subnet, should allow inbound to port 6443, as port 6443 is used by kubeadm to bootstrap the control planes", - "type": "string" - } - } - } - } - }, - "machinepoolconfig": { - "type": "array", - "items": { - "type": "object", - "required": [ - "cloudConfig" - ], - "properties": { - "cloudConfig": { - "type": "object", - "properties": { - "azs": { - "type": "array", - "items": { - "type": "string" - } - }, - "instanceType": { - "description": "Instance type stands for VMSize in Azure", - "type": "string" - }, - "isSystemNodePool": { - "description": "whether this pool is for system node Pool", - "type": "boolean" - }, - "osDisk": { - "type": "object", - "properties": { - "diskSizeGB": { - "type": "integer", - "format": "int32" - }, - "managedDisk": { - "type": "object", - "properties": { - "storageAccountType": { - "type": "string" - } - } - }, - "osType": { - "type": "string", - "default": "Linux", - "enum": [ - "Linux", - "Windows" - ] - } - } - } - } - }, - "managedPoolConfig": { - "type": "object", - "properties": { - "isSystemNodePool": { - "description": "whether this pool is for system node Pool", - "type": "boolean", - "x-omitempty": false - }, - "osType": { - "type": "string", - "default": "Linux", - "enum": [ - "Linux", - "Windows" - ] - } - } - }, - "poolConfig": { - "description": "Machine pool configuration for the cluster", - "type": "object", - "required": [ - "name", - "size", - "labels" - ], - "properties": { - "additionalLabels": { - "description": "Additional labels to be part of the machine pool", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "additionalTags": { - "description": "AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "isControlPlane": { - "description": "Whether this pool is for control plane", - "type": "boolean", - "x-omitempty": false - }, - "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", - "type": "array", - "items": { - "type": "string" - } - }, - "machinePoolProperties": { - "description": "Machine pool specific properties", - "type": "object", - "properties": { - "archType": { - "type": "string", - "default": "amd64", - "enum": [ - "amd64", - "arm64" - ] - } - } - }, - "maxSize": { - "description": "Max size of the pool, for scaling", - "type": "integer", - "format": "int32" - }, - "minSize": { - "description": "Min size of the pool, for scaling", - "type": "integer", - "format": "int32" - }, - "name": { - "type": "string" - }, - "nodeRepaveInterval": { - "description": "Minimum number of seconds a node should be Ready, before the next node is selected for repave. Applicable only for workerpools in infrastructure cluster", - "type": "integer", - "format": "int32" - }, - "size": { - "description": "Size of the pool, number of nodes/machines", - "type": "integer", - "format": "int32" - }, - "taints": { - "description": "Master or worker taints", - "type": "array", - "uniqueItems": true, - "items": { - "description": "Taint", - "type": "object", - "properties": { - "effect": { - "type": "string", - "enum": [ - "NoSchedule", - "PreferNoSchedule", - "NoExecute" - ] - }, - "key": { - "description": "The taint key to be applied to a node", - "type": "string" - }, - "timeAdded": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "value": { - "description": "The taint value corresponding to the taint key.", - "type": "string" - } - } - } - }, - "updateStrategy": { - "description": "UpdatesStrategy will be used to translate to RollingUpdateStrategy of a MachineDeployment We'll start with default values for the translation, can expose more details later Following is details of parameters translated from the type ScaleOut =\u003e maxSurge=1, maxUnavailable=0 ScaleIn =\u003e maxSurge=0, maxUnavailable=1", - "type": "object", - "properties": { - "type": { - "description": "update strategy, either ScaleOut or ScaleIn if empty, will default to RollingUpdateScaleOut", - "type": "string", - "enum": [ - "RollingUpdateScaleOut", - "RollingUpdateScaleIn" - ] - } - } - }, - "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", - "type": "boolean", - "x-omitempty": false - } - } - } - } - } - } - } - } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "Azure Cluster estimated rate response", - "schema": { - "description": "Cluster estimated rate information", - "type": "object", - "properties": { - "machinePools": { - "type": "array", - "items": { - "description": "Machine pool estimated rate information", - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "nodesCount": { - "type": "integer", - "format": "int32" - }, - "rate": { - "description": "Cloud estimated rate information", - "type": "object", - "properties": { - "compute": { - "description": "Compute estimated rate information", - "type": "object", - "properties": { - "rate": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "type": { - "type": "string" - } - } - }, - "storage": { - "type": "array", - "items": { - "description": "Storage estimated rate information", - "type": "object", - "properties": { - "iops": { - "type": "number", - "format": "float64" - }, - "rate": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "sizeGB": { - "type": "number", - "format": "float64" - }, - "throughput": { - "type": "number", - "format": "float64" - }, - "type": { - "type": "string" - } - } - } - }, - "total": { - "type": "number", - "format": "float64", - "x-omitempty": false - } - } - } - } - } - }, - "name": { - "type": "string" - }, - "rate": { - "description": "Cluster total estimated rate information", - "type": "object", - "properties": { - "compute": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "storage": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "total": { - "type": "number", - "format": "float64", - "x-omitempty": false - } - } - }, - "resourceMetadata": { - "description": "Cloud resource metadata", - "type": "object", - "properties": { - "instanceTypes": { - "type": "object", - "additionalProperties": { - "description": "Cloud Instance type details", - "type": "object", - "properties": { - "category": { - "description": "Category of instance type", - "type": "string", - "x-go-name": "Category" - }, - "cost": { - "description": "Instance cost entity", - "type": "object", - "properties": { - "price": { - "description": "Array of cloud instance price", - "type": "array", - "items": { - "description": "Cloud instance price", - "type": "object", - "properties": { - "onDemand": { - "description": "OnDemand price of instance", - "type": "number", - "format": "double" - }, - "os": { - "description": "Os associated with instance price. Allowed values - [linux, windows]", - "type": "string", - "enum": [ - "linux", - "windows" - ] - }, - "spot": { - "description": "Spot price of instance", - "type": "number", - "format": "double" - } - } - } - } - } - }, - "cpu": { - "description": "Cpu of instance type", - "type": "number", - "format": "double", - "x-go-name": "Cpu" - }, - "gpu": { - "description": "Gpu of instance type", - "type": "number", - "format": "double", - "x-go-name": "Gpu" - }, - "memory": { - "description": "Memory of instance type", - "type": "number", - "format": "double", - "x-go-name": "Memory" - }, - "nonSupportedZones": { - "description": "Non supported zones of the instance in a particular region", - "type": "array", - "items": { - "type": "string" - } - }, - "price": { - "description": "Price of instance type", - "type": "number", - "format": "double", - "x-go-name": "Price" - }, - "supportedArchitectures": { - "description": "Supported architecture of the instance", - "type": "array", - "items": { - "type": "string" - } - }, - "type": { - "description": "Type of instance type", - "type": "string", - "x-go-name": "Type" - } - } - } - }, - "storageTypes": { - "type": "object", - "additionalProperties": { - "description": "Cloud cloud Storage type details", - "type": "object", - "properties": { - "cost": { - "description": "Cloud storage cost", - "type": "object", - "properties": { - "discountedUsage": { - "description": "Cloud storage upper limit which is free.", - "type": "string" - }, - "price": { - "description": "Array of cloud storage range prices", - "type": "array", - "items": { - "description": "Cloud storage price within an upper limit.", - "type": "object", - "properties": { - "limit": { - "description": "Upper limit of cloud storage usage", - "type": "string" - }, - "price": { - "description": "Price of cloud storage type", - "type": "string" - } - } - } - } - } - }, - "iopsCost": { - "description": "Cloud storage cost", - "type": "object", - "properties": { - "discountedUsage": { - "description": "Cloud storage upper limit which is free.", - "type": "string" - }, - "price": { - "description": "Array of cloud storage range prices", - "type": "array", - "items": { - "description": "Cloud storage price within an upper limit.", - "type": "object", - "properties": { - "limit": { - "description": "Upper limit of cloud storage usage", - "type": "string" - }, - "price": { - "description": "Price of cloud storage type", - "type": "string" - } - } - } - } - } - }, - "kind": { - "description": "kind of storage type", - "type": "string" - }, - "name": { - "description": "Name of the storage type", - "type": "string" - }, - "throughputCost": { - "description": "Cloud storage cost", - "type": "object", - "properties": { - "discountedUsage": { - "description": "Cloud storage upper limit which is free.", - "type": "string" - }, - "price": { - "description": "Array of cloud storage range prices", - "type": "array", - "items": { - "description": "Cloud storage price within an upper limit.", - "type": "object", - "properties": { - "limit": { - "description": "Upper limit of cloud storage usage", - "type": "string" - }, - "price": { - "description": "Price of cloud storage type", - "type": "string" - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - }, - "/v1/spectroclusters/azure/validate": { - "post": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Validates Azure cluster create operation", - "operationId": "v1SpectroClustersAzureValidate", - "parameters": [ - { - "name": "body", - "in": "body", - "schema": { - "description": "Azure cluster request payload for create and update", - "type": "object", - "properties": { - "metadata": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", - "type": "object", - "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "name": { - "description": "Name of the resource.", - "type": "string" - }, - "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", - "type": "string" - } - } - }, - "spec": { - "type": "object", - "required": [ - "cloudType", - "cloudAccountUid", - "cloudConfig" - ], - "properties": { - "cloudAccountUid": { - "description": "Cloud account uid to be used for cluster provisioning", - "type": "string" - }, - "cloudConfig": { - "description": "Cluster level configuration for Azure cloud and applicable for all the machine pools", - "type": "object", - "required": [ - "subscriptionId", - "location", - "sshKey" - ], - "properties": { - "aadProfile": { - "description": "AADProfile - AAD integration is managed by AKS.", - "type": "object", - "required": [ - "managed", - "adminGroupObjectIDs" - ], - "properties": { - "adminGroupObjectIDs": { - "description": "AdminGroupObjectIDs - AAD group object IDs that will have admin role of the cluster.", - "type": "array", - "items": { - "type": "string" - } - }, - "managed": { - "description": "Managed - Whether to enable managed AAD.", - "type": "boolean", - "x-omitempty": false - } - } - }, - "apiServerAccessProfile": { - "description": "APIServerAccessProfile - access profile for AKS API server.", - "type": "object", - "properties": { - "authorizedIPRanges": { - "description": "AuthorizedIPRanges - Authorized IP Ranges to kubernetes API server.", - "type": "array", - "items": { - "type": "string", - "default": "" - } - }, - "enablePrivateCluster": { - "description": "EnablePrivateCluster - Whether to create the cluster as a private cluster or not.", - "type": "boolean" - }, - "enablePrivateClusterPublicFQDN": { - "description": "EnablePrivateClusterPublicFQDN - Whether to create additional public FQDN for private cluster or not.", - "type": "boolean" - }, - "privateDNSZone": { - "description": "PrivateDNSZone - Private dns zone mode for private cluster.", - "type": "string" - } - } - }, - "containerName": { - "type": "string" - }, - "controlPlaneSubnet": { - "type": "object", - "properties": { - "cidrBlock": { - "description": "CidrBlock is the CIDR block to be used when the provider creates a managed Vnet.", - "type": "string" - }, - "name": { - "type": "string" - }, - "securityGroupName": { - "description": "Network Security Group(NSG) to be attached to subnet. NSG for a control plane subnet, should allow inbound to port 6443, as port 6443 is used by kubeadm to bootstrap the control planes", - "type": "string" - } - } - }, - "enablePrivateCluster": { - "description": "Deprecated. use apiServerAccessProfile.enablePrivateCluster", - "type": "boolean" - }, - "infraLBConfig": { - "type": "object", - "properties": { - "apiServerLB": { - "description": "LoadBalancerSpec defines an Azure load balancer.", - "type": "object", - "properties": { - "apiServerLBStaticIP": { - "type": "string" - }, - "ipAllocationMethod": { - "type": "string", - "default": "Dynamic", - "enum": [ - "Static", - "Dynamic" - ] - }, - "privateDNSName": { - "type": "string" - }, - "type": { - "description": "Load Balancer type", - "type": "string", - "default": "Public", - "enum": [ - "Internal", - "Public" - ] - } - } - } - } - }, - "location": { - "description": "Location is the Azure datacenter location", - "type": "string" - }, - "resourceGroup": { - "type": "string" - }, - "sshKey": { - "type": "string" - }, - "storageAccountName": { - "type": "string" - }, - "subscriptionId": { - "description": "Subscription ID is unique identifier for the subscription used to access Azure services", - "type": "string" - }, - "vnetCidrBlock": { - "type": "string" - }, - "vnetName": { - "description": "VNETName is the virtual network in which the cluster is to be provisioned.", - "type": "string" - }, - "vnetResourceGroup": { - "type": "string" - }, - "workerSubnet": { - "type": "object", - "properties": { - "cidrBlock": { - "description": "CidrBlock is the CIDR block to be used when the provider creates a managed Vnet.", - "type": "string" - }, - "name": { - "type": "string" - }, - "securityGroupName": { - "description": "Network Security Group(NSG) to be attached to subnet. NSG for a control plane subnet, should allow inbound to port 6443, as port 6443 is used by kubeadm to bootstrap the control planes", - "type": "string" - } - } - } - } - }, - "clusterConfig": { - "type": "object", - "properties": { - "clusterMetaAttribute": { - "description": "ClusterMetaAttribute can be used to set additional cluster metadata information.", - "type": "string" - }, - "controlPlaneHealthCheckTimeout": { - "type": "string" - }, - "hostClusterConfig": { - "properties": { - "clusterEndpoint": { - "properties": { - "config": { - "properties": { - "ingressConfig": { - "description": "Ingress configuration for exposing the virtual cluster's kube-apiserver", - "properties": { - "host": { - "type": "string" - }, - "port": { - "type": "integer", - "format": "int64" - } - } - }, - "loadBalancerConfig": { - "description": "Load balancer configuration for exposing the virtual cluster's kube-apiserver", - "properties": { - "externalIPs": { - "type": "array", - "items": { - "type": "string" - } - }, - "externalTrafficPolicy": { - "type": "string" - }, - "loadBalancerSourceRanges": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - } - }, - "type": { - "description": "is enabled as host cluster", - "type": "string", - "enum": [ - "Ingress", - "LoadBalancer" - ] - } - } - }, - "clusterGroup": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", - "type": "string" - } - } - }, - "hostCluster": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", - "type": "string" - } - } - }, - "isHostCluster": { - "description": "is enabled as host cluster", - "type": "boolean", - "default": false, - "x-omitempty": false - } - } - }, - "lifecycleConfig": { - "properties": { - "pause": { - "description": "enable pause life cycle config", - "type": "boolean", - "default": false, - "x-omitempty": false - } - } - }, - "location": { - "description": "Cluster location information", - "type": "object", - "properties": { - "countryCode": { - "description": "country code for cluster location", - "type": "string" - }, - "countryName": { - "description": "country name for cluster location", - "type": "string" - }, - "geoLoc": { - "description": "Geolocation Latlong entity", - "type": "object", - "properties": { - "latitude": { - "description": "Latitude of a resource", - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "longitude": { - "description": "Longitude of a resource", - "type": "number", - "format": "float64", - "x-omitempty": false - } - } - }, - "regionCode": { - "description": "region code for cluster location", - "type": "string" - }, - "regionName": { - "description": "region name for cluster location", - "type": "string" - } - } - }, - "machineManagementConfig": { - "type": "object", - "properties": { - "osPatchConfig": { - "type": "object", - "properties": { - "onDemandPatchAfter": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "patchOnBoot": { - "description": "PatchOnBoot indicates need to do patch when node first boot up, only once", - "type": "boolean", - "x-omitempty": false - }, - "rebootIfRequired": { - "description": "Reboot once the OS patch is applied", - "type": "boolean", - "x-omitempty": false - }, - "schedule": { - "description": "The schedule at which security patches will be applied to OS. Schedule should be in Cron format, see https://en.wikipedia.org/wiki/Cron for more help.", - "type": "string" - } - } - } - } - }, - "resources": { - "type": "object", - "properties": { - "namespaces": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Cluster Namespace resource defintion", - "type": "object", - "properties": { - "metadata": { - "description": "ObjectMeta update entity with uid as input", - "type": "object", - "properties": { - "annotations": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - }, - "spec": { - "description": "Cluster namespace spec", - "properties": { - "isRegex": { - "type": "boolean", - "x-omitempty": false - }, - "relatedObject": { - "description": "Object for which the resource is related", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "spectrocluster", - "machine", - "cloudconfig", - "clusterprofile", - "pack", - "appprofile", - "appdeployment", - "edgehost" - ] - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - }, - "resourceAllocation": { - "description": "Cluster namespace resource allocation", - "properties": { - "cpuCores": { - "type": "number", - "minimum": 0, - "exclusiveMinimum": true - }, - "memoryMiB": { - "type": "number", - "minimum": 0, - "exclusiveMinimum": true - } - } - } - } - } - } - } - }, - "rbacs": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Cluster RBAC role binding defintion", - "type": "object", - "properties": { - "metadata": { - "description": "ObjectMeta update entity with uid as input", - "type": "object", - "properties": { - "annotations": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - }, - "spec": { - "description": "Cluster RBAC spec", - "type": "object", - "properties": { - "bindings": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Cluster RBAC binding", - "type": "object", - "properties": { - "namespace": { - "type": "string" - }, - "role": { - "description": "Cluster role ref", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "Role", - "ClusterRole" - ] - }, - "name": { - "type": "string" - } - } - }, - "subjects": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Cluster role ref", - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "namespace": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "User", - "Group", - "ServiceAccount" - ] - } - } - } - }, - "type": { - "type": "string", - "enum": [ - "RoleBinding", - "ClusterRoleBinding" - ] - } - } - } - }, - "relatedObject": { - "description": "Object for which the resource is related", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "spectrocluster", - "machine", - "cloudconfig", - "clusterprofile", - "pack", - "appprofile", - "appdeployment", - "edgehost" - ] - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - } - } - } - } - } - } - } - }, - "updateWorkerPoolsInParallel": { - "type": "boolean" - } - } - }, - "machinepoolconfig": { - "type": "array", - "items": { - "type": "object", - "required": [ - "cloudConfig" - ], - "properties": { - "cloudConfig": { - "type": "object", - "properties": { - "azs": { - "type": "array", - "items": { - "type": "string" - } - }, - "instanceType": { - "description": "Instance type stands for VMSize in Azure", - "type": "string" - }, - "isSystemNodePool": { - "description": "whether this pool is for system node Pool", - "type": "boolean" - }, - "osDisk": { - "type": "object", - "properties": { - "diskSizeGB": { - "type": "integer", - "format": "int32" - }, - "managedDisk": { - "type": "object", - "properties": { - "storageAccountType": { - "type": "string" - } - } - }, - "osType": { - "type": "string", - "default": "Linux", - "enum": [ - "Linux", - "Windows" - ] - } - } - } - } - }, - "managedPoolConfig": { - "type": "object", - "properties": { - "isSystemNodePool": { - "description": "whether this pool is for system node Pool", - "type": "boolean", - "x-omitempty": false - }, - "osType": { - "type": "string", - "default": "Linux", - "enum": [ - "Linux", - "Windows" - ] - } - } - }, - "poolConfig": { - "description": "Machine pool configuration for the cluster", - "type": "object", - "required": [ - "name", - "size", - "labels" - ], - "properties": { - "additionalLabels": { - "description": "Additional labels to be part of the machine pool", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "additionalTags": { - "description": "AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "isControlPlane": { - "description": "Whether this pool is for control plane", - "type": "boolean", - "x-omitempty": false - }, - "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", - "type": "array", - "items": { - "type": "string" - } - }, - "machinePoolProperties": { - "description": "Machine pool specific properties", - "type": "object", - "properties": { - "archType": { - "type": "string", - "default": "amd64", - "enum": [ - "amd64", - "arm64" - ] - } - } - }, - "maxSize": { - "description": "Max size of the pool, for scaling", - "type": "integer", - "format": "int32" - }, - "minSize": { - "description": "Min size of the pool, for scaling", - "type": "integer", - "format": "int32" - }, - "name": { - "type": "string" - }, - "nodeRepaveInterval": { - "description": "Minimum number of seconds a node should be Ready, before the next node is selected for repave. Applicable only for workerpools in infrastructure cluster", - "type": "integer", - "format": "int32" - }, - "size": { - "description": "Size of the pool, number of nodes/machines", - "type": "integer", - "format": "int32" - }, - "taints": { - "description": "Master or worker taints", - "type": "array", - "uniqueItems": true, - "items": { - "description": "Taint", - "type": "object", - "properties": { - "effect": { - "type": "string", - "enum": [ - "NoSchedule", - "PreferNoSchedule", - "NoExecute" - ] - }, - "key": { - "description": "The taint key to be applied to a node", - "type": "string" - }, - "timeAdded": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "value": { - "description": "The taint value corresponding to the taint key.", - "type": "string" - } - } - } - }, - "updateStrategy": { - "description": "UpdatesStrategy will be used to translate to RollingUpdateStrategy of a MachineDeployment We'll start with default values for the translation, can expose more details later Following is details of parameters translated from the type ScaleOut =\u003e maxSurge=1, maxUnavailable=0 ScaleIn =\u003e maxSurge=0, maxUnavailable=1", - "type": "object", - "properties": { - "type": { - "description": "update strategy, either ScaleOut or ScaleIn if empty, will default to RollingUpdateScaleOut", - "type": "string", - "enum": [ - "RollingUpdateScaleOut", - "RollingUpdateScaleIn" - ] - } - } - }, - "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", - "type": "boolean", - "x-omitempty": false - } - } - } - } - } - }, - "policies": { - "description": "Cluster policies", - "type": "object", - "properties": { - "backupPolicy": { - "description": "Cluster backup config", - "properties": { - "backupLocationName": { - "type": "string" - }, - "backupLocationUid": { - "type": "string" - }, - "backupName": { - "type": "string" - }, - "backupPrefix": { - "type": "string" - }, - "durationInHours": { - "type": "number", - "format": "int64" - }, - "includeAllDisks": { - "type": "boolean" - }, - "includeClusterResources": { - "type": "boolean" - }, - "locationType": { - "type": "string" - }, - "namespaces": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - }, - "schedule": { - "description": "Cluster feature schedule", - "properties": { - "scheduledRunTime": { - "type": "string" - } - } - } - } - }, - "scanPolicy": { - "description": "Cluster compliance scan schedule configuration", - "properties": { - "kubeBench": { - "description": "Cluster compliance scan schedule config for kube bench driver", - "properties": { - "schedule": { - "description": "Cluster feature schedule", - "properties": { - "scheduledRunTime": { - "type": "string" - } - } - } - } - }, - "kubeHunter": { - "description": "Cluster compliance scan schedule config for kube hunter driver", - "properties": { - "schedule": { - "description": "Cluster feature schedule", - "properties": { - "scheduledRunTime": { - "type": "string" - } - } - } - } - }, - "sonobuoy": { - "description": "Cluster compliance scan schedule config for sonobuoy driver", - "properties": { - "schedule": { - "description": "Cluster feature schedule", - "properties": { - "scheduledRunTime": { - "type": "string" - } - } - } - } - } - } - } - } - }, - "profiles": { - "type": "array", - "items": { - "description": "Cluster profile request payload", - "type": "object", - "properties": { - "packValues": { - "description": "Cluster profile packs array", - "type": "array", - "uniqueItems": true, - "items": { - "description": "Pack values entity to refer the existing pack for the values override", - "type": "object", - "required": [ - "name" - ], - "properties": { - "manifests": { - "description": "Pack manifests are additional content as part of the profile", - "type": "array", - "items": { - "description": "Manifest update request payload", - "required": [ - "name" - ], - "properties": { - "content": { - "description": "Manifest content in yaml", - "type": "string" - }, - "name": { - "description": "Manifest name", - "type": "string" - }, - "uid": { - "description": "Manifest uid", - "type": "string" - } - } - } - }, - "name": { - "description": "Pack name", - "type": "string" - }, - "tag": { - "description": "Pack version tag", - "type": "string" - }, - "type": { - "type": "string", - "default": "spectro", - "enum": [ - "spectro", - "helm", - "manifest", - "oci" - ] - }, - "values": { - "description": "Pack values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", - "type": "string" - } - } - } - }, - "replaceWithProfile": { - "description": "Cluster profile uid to be replaced with new profile", - "type": "string" - }, - "uid": { - "description": "Cluster profile uid", - "type": "string" - } - } - } - } - } - } - } - } + "parameters": [ + { + "type": "string", + "name": "uid", + "in": "path", + "required": true + } + ] + }, + "/v1/services/{serviceName}/version": { + "get": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Returns a latest version for a given service name", + "operationId": "v1ServiceVersionGet", + "parameters": [ + { + "enum": [ + "ally", + "jet", + "palette", + "ambit", + "ally-lite", + "palette-lite", + "crony", + "tick", + "edge", + "lodge", + "level", + "edgeconfig", + "firth", + "stylus" + ], + "type": "string", + "description": "service name", + "name": "serviceName", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "spectro cluster uid", + "name": "clusterUid", + "in": "query" + }, + { + "type": "string", + "description": "edge host uid", + "name": "edgeHostUid", + "in": "query" }, { "type": "string", @@ -126245,96 +110625,85 @@ ], "responses": { "200": { - "description": "Azure Cluster validation response", + "description": "OK", "schema": { - "description": "Cluster validator response", + "description": "Service version information", "type": "object", "properties": { - "machinePools": { - "description": "Constraint validator response", + "apiVersion": { + "type": "string" + }, + "kind": { + "type": "string" + }, + "metadata": { + "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", "type": "object", "properties": { - "results": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Constraint validator result", - "type": "object", - "properties": { - "displayName": { - "type": "string" - }, - "errors": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "object", - "properties": { - "code": { - "type": "string" - }, - "message": { - "type": "string" - } - } - } - }, - "name": { - "type": "string" - } - } + "annotations": { + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "creationTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "deletionTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "labels": { + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", + "type": "object", + "additionalProperties": { + "type": "string" } + }, + "lastModifiedTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "name": { + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + }, + "uid": { + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", + "type": "string" } } }, - "profiles": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Cluster profile validator response", - "type": "object", - "properties": { - "packs": { - "description": "Constraint validator response", - "type": "object", - "properties": { - "results": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Constraint validator result", - "type": "object", - "properties": { - "displayName": { - "type": "string" - }, - "errors": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "object", - "properties": { - "code": { - "type": "string" - }, - "message": { - "type": "string" - } - } - } - }, - "name": { - "type": "string" - } - } - } - } + "spec": { + "type": "object", + "properties": { + "latestVersion": { + "type": "object", + "properties": { + "content": { + "type": "string" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "repoName": { + "type": "string" + }, + "sha": { + "type": "string" } - }, - "uid": { - "description": "Cluster profile uid", - "type": "string" } + }, + "name": { + "type": "string" } } } @@ -126344,8 +110713,8 @@ } } }, - "/v1/spectroclusters/cloudTypes/{cloudType}": { - "post": { + "/v1/services/{serviceName}/versions/{version}/manifest": { + "get": { "security": [ { "ApiKey": [] @@ -126357,550 +110726,174 @@ "tags": [ "v1" ], - "summary": "Creates a Custom cluster", - "operationId": "v1SpectroClustersCustomCreate", + "summary": "Returns a service manifest for a given service name and version", + "operationId": "v1ServiceManifestGet", "parameters": [ { - "name": "body", - "in": "body", + "enum": [ + "ally", + "jet", + "palette", + "ambit", + "ally-lite", + "palette-lite", + "crony", + "tick", + "edge", + "lodge", + "level", + "edgeconfig", + "firth", + "stylus" + ], + "type": "string", + "description": "service name", + "name": "serviceName", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "service version", + "name": "version", + "in": "path", + "required": true + }, + { + "enum": [ + "apply", + "delete", + "resources" + ], + "type": "string", + "description": "action type", + "name": "action", + "in": "query", + "required": true + }, + { + "type": "string", + "description": "resource file name", + "name": "resourceFilename", + "in": "query" + }, + { + "type": "string", + "description": "spectro cluster uid", + "name": "clusterUid", + "in": "query" + }, + { + "type": "string", + "description": "edge host uid", + "name": "edgeHostUid", + "in": "query" + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "200": { + "description": "OK", "schema": { - "description": "Custom cluster request payload for create and update", + "description": "Service manifest information", "type": "object", "properties": { + "apiVersion": { + "type": "string" + }, + "kind": { + "type": "string" + }, "metadata": { - "description": "ObjectMeta input entity for object creation", + "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, + "creationTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "deletionTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, + "lastModifiedTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + }, + "uid": { + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, "spec": { "type": "object", - "required": [ - "cloudType", - "cloudAccountUid", - "cloudConfig" - ], "properties": { - "cloudAccountUid": { - "description": "Cloud account uid to be used for cluster provisioning", - "type": "string" - }, - "cloudConfig": { - "description": "Cluster level configuration for Custom cloud and applicable for all the machine pools", - "type": "object", - "required": [ - "values" - ], - "properties": { - "values": { - "description": "YAML string for Cluster and CloudCluster", - "type": "string" - } - } - }, - "clusterConfig": { - "type": "object", - "properties": { - "location": { - "description": "Cluster location information", - "type": "object", - "properties": { - "countryCode": { - "description": "country code for cluster location", - "type": "string" - }, - "countryName": { - "description": "country name for cluster location", - "type": "string" - }, - "geoLoc": { - "description": "Geolocation Latlong entity", - "type": "object", - "properties": { - "latitude": { - "description": "Latitude of a resource", - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "longitude": { - "description": "Longitude of a resource", - "type": "number", - "format": "float64", - "x-omitempty": false - } - } - }, - "regionCode": { - "description": "region code for cluster location", - "type": "string" - }, - "regionName": { - "description": "region name for cluster location", - "type": "string" - } - } - }, - "machineManagementConfig": { - "type": "object", - "properties": { - "osPatchConfig": { - "type": "object", - "properties": { - "onDemandPatchAfter": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "patchOnBoot": { - "description": "PatchOnBoot indicates need to do patch when node first boot up, only once", - "type": "boolean", - "x-omitempty": false - }, - "rebootIfRequired": { - "description": "Reboot once the OS patch is applied", - "type": "boolean", - "x-omitempty": false - }, - "schedule": { - "description": "The schedule at which security patches will be applied to OS. Schedule should be in Cron format, see https://en.wikipedia.org/wiki/Cron for more help.", - "type": "string" - } - } - } - } - }, - "resources": { - "type": "object", - "properties": { - "namespaces": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Cluster Namespace resource defintion", - "type": "object", - "properties": { - "metadata": { - "description": "ObjectMeta update entity with uid as input", - "type": "object", - "properties": { - "annotations": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - }, - "spec": { - "description": "Cluster namespace spec", - "properties": { - "isRegex": { - "type": "boolean", - "x-omitempty": false - }, - "relatedObject": { - "description": "Object for which the resource is related", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "spectrocluster", - "machine", - "cloudconfig", - "clusterprofile", - "pack", - "appprofile", - "appdeployment", - "edgehost" - ] - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - }, - "resourceAllocation": { - "description": "Cluster namespace resource allocation", - "properties": { - "cpuCores": { - "type": "number", - "minimum": 0, - "exclusiveMinimum": true - }, - "memoryMiB": { - "type": "number", - "minimum": 0, - "exclusiveMinimum": true - } - } - } - } - } - } - } - }, - "rbacs": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Cluster RBAC role binding defintion", - "type": "object", - "properties": { - "metadata": { - "description": "ObjectMeta update entity with uid as input", - "type": "object", - "properties": { - "annotations": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - }, - "spec": { - "description": "Cluster RBAC spec", - "type": "object", - "properties": { - "bindings": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Cluster RBAC binding", - "type": "object", - "properties": { - "namespace": { - "type": "string" - }, - "role": { - "description": "Cluster role ref", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "Role", - "ClusterRole" - ] - }, - "name": { - "type": "string" - } - } - }, - "subjects": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Cluster role ref", - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "namespace": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "User", - "Group", - "ServiceAccount" - ] - } - } - } - }, - "type": { - "type": "string", - "enum": [ - "RoleBinding", - "ClusterRoleBinding" - ] - } - } - } - }, - "relatedObject": { - "description": "Object for which the resource is related", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "spectrocluster", - "machine", - "cloudconfig", - "clusterprofile", - "pack", - "appprofile", - "appdeployment", - "edgehost" - ] - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - } - } - } - } - } - } - } - } - } - }, - "machinepoolconfig": { + "manifests": { "type": "array", + "uniqueItems": true, "items": { "type": "object", - "required": [ - "cloudConfig" - ], "properties": { - "cloudConfig": { - "type": "object", - "properties": { - "values": { - "description": "Machine pool configuration as yaml content", - "type": "string" - } - } + "content": { + "type": "string" }, - "poolConfig": { - "description": "Machine pool configuration for the custom cluster", - "type": "object", - "properties": { - "additionalLabels": { - "description": "Additional labels to be part of the machine pool", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "isControlPlane": { - "description": "Whether this pool is for control plane", - "type": "boolean", - "x-omitempty": false - }, - "taints": { - "description": "Master or worker taints", - "type": "array", - "uniqueItems": true, - "items": { - "description": "Taint", - "type": "object", - "properties": { - "effect": { - "type": "string", - "enum": [ - "NoSchedule", - "PreferNoSchedule", - "NoExecute" - ] - }, - "key": { - "description": "The taint key to be applied to a node", - "type": "string" - }, - "timeAdded": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "value": { - "description": "The taint value corresponding to the taint key.", - "type": "string" - } - } - } - }, - "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", - "type": "boolean", - "x-omitempty": false - } - } - } - } - } - }, - "profiles": { - "type": "array", - "items": { - "description": "Cluster profile request payload", - "type": "object", - "properties": { - "packValues": { - "description": "Cluster profile packs array", - "type": "array", - "uniqueItems": true, - "items": { - "description": "Pack values entity to refer the existing pack for the values override", - "type": "object", - "required": [ - "name" - ], - "properties": { - "manifests": { - "description": "Pack manifests are additional content as part of the profile", - "type": "array", - "items": { - "description": "Manifest update request payload", - "required": [ - "name" - ], - "properties": { - "content": { - "description": "Manifest content in yaml", - "type": "string" - }, - "name": { - "description": "Manifest name", - "type": "string" - }, - "uid": { - "description": "Manifest uid", - "type": "string" - } - } - } - }, - "name": { - "description": "Pack name", - "type": "string" - }, - "tag": { - "description": "Pack version tag", - "type": "string" - }, - "type": { - "type": "string", - "default": "spectro", - "enum": [ - "spectro", - "helm", - "manifest", - "oci" - ] - }, - "values": { - "description": "Pack values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", - "type": "string" - } - } - } + "name": { + "type": "string" }, - "replaceWithProfile": { - "description": "Cluster profile uid to be replaced with new profile", + "path": { "type": "string" }, - "uid": { - "description": "Cluster profile uid", + "repoName": { + "type": "string" + }, + "sha": { "type": "string" } } } + }, + "name": { + "type": "string" + }, + "version": { + "type": "string" } } } } } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "201": { - "description": "Created successfully", - "schema": { - "type": "object", - "required": [ - "uid" - ], - "properties": { - "uid": { - "type": "string" - } - } - }, - "headers": { - "AuditUid": { - "type": "string", - "description": "Audit uid for the request" - } - } } } - }, - "parameters": [ - { - "type": "string", - "description": "Cluster's cloud type", - "name": "cloudType", - "in": "path", - "required": true - } - ] + } }, - "/v1/spectroclusters/cloudTypes/{cloudType}/validate": { + "/v1/spectroclusters/aks": { "post": { "security": [ { @@ -126913,36 +110906,55 @@ "tags": [ "v1" ], - "summary": "Validates Custom cluster create operation", - "operationId": "v1SpectroClustersCustomValidate", + "summary": "Creates an AKS cluster", + "operationId": "v1SpectroClustersAksCreate", "parameters": [ { "name": "body", "in": "body", "schema": { - "description": "Custom cluster request payload for create and update", + "description": "Azure cluster request payload for create and update", "type": "object", "properties": { "metadata": { - "description": "ObjectMeta input entity for object creation", + "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, + "creationTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "deletionTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, + "lastModifiedTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + }, + "uid": { + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -126960,21 +110972,278 @@ "type": "string" }, "cloudConfig": { - "description": "Cluster level configuration for Custom cloud and applicable for all the machine pools", + "description": "Cluster level configuration for Azure cloud and applicable for all the machine pools", "type": "object", "required": [ - "values" + "subscriptionId", + "location", + "sshKey" ], "properties": { - "values": { - "description": "YAML string for Cluster and CloudCluster", + "aadProfile": { + "description": "AADProfile - AAD integration is managed by AKS.", + "type": "object", + "required": [ + "managed", + "adminGroupObjectIDs" + ], + "properties": { + "adminGroupObjectIDs": { + "description": "AdminGroupObjectIDs - AAD group object IDs that will have admin role of the cluster.", + "type": "array", + "items": { + "type": "string" + } + }, + "managed": { + "description": "Managed - Whether to enable managed AAD.", + "type": "boolean", + "x-omitempty": false + } + } + }, + "apiServerAccessProfile": { + "description": "APIServerAccessProfile - access profile for AKS API server.", + "type": "object", + "properties": { + "authorizedIPRanges": { + "description": "AuthorizedIPRanges - Authorized IP Ranges to kubernetes API server.", + "type": "array", + "items": { + "type": "string", + "default": "" + } + }, + "enablePrivateCluster": { + "description": "EnablePrivateCluster - Whether to create the cluster as a private cluster or not.", + "type": "boolean" + }, + "enablePrivateClusterPublicFQDN": { + "description": "EnablePrivateClusterPublicFQDN - Whether to create additional public FQDN for private cluster or not.", + "type": "boolean" + }, + "privateDNSZone": { + "description": "PrivateDNSZone - Private dns zone mode for private cluster.", + "type": "string" + } + } + }, + "containerName": { + "type": "string" + }, + "controlPlaneSubnet": { + "type": "object", + "properties": { + "cidrBlock": { + "description": "CidrBlock is the CIDR block to be used when the provider creates a managed Vnet.", + "type": "string" + }, + "name": { + "type": "string" + }, + "securityGroupName": { + "description": "Network Security Group(NSG) to be attached to subnet. NSG for a control plane subnet, should allow inbound to port 6443, as port 6443 is used by kubeadm to bootstrap the control planes", + "type": "string" + } + } + }, + "enablePrivateCluster": { + "description": "Deprecated. use apiServerAccessProfile.enablePrivateCluster", + "type": "boolean" + }, + "infraLBConfig": { + "type": "object", + "properties": { + "apiServerLB": { + "description": "LoadBalancerSpec defines an Azure load balancer.", + "type": "object", + "properties": { + "apiServerLBStaticIP": { + "type": "string" + }, + "ipAllocationMethod": { + "type": "string", + "default": "Dynamic", + "enum": [ + "Static", + "Dynamic" + ] + }, + "privateDNSName": { + "type": "string" + }, + "type": { + "description": "Load Balancer type", + "type": "string", + "default": "Public", + "enum": [ + "Internal", + "Public" + ] + } + } + } + } + }, + "location": { + "description": "Location is the Azure datacenter location", + "type": "string" + }, + "resourceGroup": { + "type": "string" + }, + "sshKey": { + "type": "string" + }, + "storageAccountName": { + "type": "string" + }, + "subscriptionId": { + "description": "Subscription ID is unique identifier for the subscription used to access Azure services", "type": "string" + }, + "vnetCidrBlock": { + "type": "string" + }, + "vnetName": { + "description": "VNETName is the virtual network in which the cluster is to be provisioned.", + "type": "string" + }, + "vnetResourceGroup": { + "type": "string" + }, + "workerSubnet": { + "type": "object", + "properties": { + "cidrBlock": { + "description": "CidrBlock is the CIDR block to be used when the provider creates a managed Vnet.", + "type": "string" + }, + "name": { + "type": "string" + }, + "securityGroupName": { + "description": "Network Security Group(NSG) to be attached to subnet. NSG for a control plane subnet, should allow inbound to port 6443, as port 6443 is used by kubeadm to bootstrap the control planes", + "type": "string" + } + } } } }, "clusterConfig": { "type": "object", "properties": { + "clusterMetaAttribute": { + "description": "ClusterMetaAttribute can be used to set additional cluster metadata information.", + "type": "string" + }, + "controlPlaneHealthCheckTimeout": { + "type": "string" + }, + "hostClusterConfig": { + "properties": { + "clusterEndpoint": { + "properties": { + "config": { + "properties": { + "ingressConfig": { + "description": "Ingress configuration for exposing the virtual cluster's kube-apiserver", + "properties": { + "host": { + "type": "string" + }, + "port": { + "type": "integer", + "format": "int64" + } + } + }, + "loadBalancerConfig": { + "description": "Load balancer configuration for exposing the virtual cluster's kube-apiserver", + "properties": { + "externalIPs": { + "type": "array", + "items": { + "type": "string" + } + }, + "externalTrafficPolicy": { + "type": "string" + }, + "loadBalancerSourceRanges": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "type": { + "description": "is enabled as host cluster", + "type": "string", + "enum": [ + "Ingress", + "LoadBalancer" + ] + } + } + }, + "clusterGroup": { + "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", + "type": "object", + "properties": { + "kind": { + "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "uid": { + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", + "type": "string" + } + } + }, + "hostCluster": { + "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", + "type": "object", + "properties": { + "kind": { + "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "uid": { + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", + "type": "string" + } + } + }, + "isHostCluster": { + "description": "is enabled as host cluster", + "type": "boolean", + "default": false, + "x-omitempty": false + } + } + }, + "lifecycleConfig": { + "properties": { + "pause": { + "description": "enable pause life cycle config", + "type": "boolean", + "default": false, + "x-omitempty": false + } + } + }, "location": { "description": "Cluster location information", "type": "object", @@ -127256,6 +111525,9 @@ } } } + }, + "updateWorkerPoolsInParallel": { + "type": "boolean" } } }, @@ -127270,15 +111542,73 @@ "cloudConfig": { "type": "object", "properties": { - "values": { - "description": "Machine pool configuration as yaml content", + "azs": { + "type": "array", + "items": { + "type": "string" + } + }, + "instanceType": { + "description": "Instance type stands for VMSize in Azure", "type": "string" + }, + "isSystemNodePool": { + "description": "whether this pool is for system node Pool", + "type": "boolean" + }, + "osDisk": { + "type": "object", + "properties": { + "diskSizeGB": { + "type": "integer", + "format": "int32" + }, + "managedDisk": { + "type": "object", + "properties": { + "storageAccountType": { + "type": "string" + } + } + }, + "osType": { + "type": "string", + "default": "Linux", + "enum": [ + "Linux", + "Windows" + ] + } + } + } + } + }, + "managedPoolConfig": { + "type": "object", + "properties": { + "isSystemNodePool": { + "description": "whether this pool is for system node Pool", + "type": "boolean", + "x-omitempty": false + }, + "osType": { + "type": "string", + "default": "Linux", + "enum": [ + "Linux", + "Windows" + ] } } }, "poolConfig": { - "description": "Machine pool configuration for the custom cluster", + "description": "Machine pool configuration for the cluster", "type": "object", + "required": [ + "name", + "size", + "labels" + ], "properties": { "additionalLabels": { "description": "Additional labels to be part of the machine pool", @@ -127287,13 +111617,64 @@ "type": "string" } }, + "additionalTags": { + "description": "AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, "isControlPlane": { "description": "Whether this pool is for control plane", "type": "boolean", "x-omitempty": false }, + "labels": { + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", + "type": "array", + "items": { + "type": "string" + } + }, + "machinePoolProperties": { + "description": "Machine pool specific properties", + "type": "object", + "properties": { + "archType": { + "type": "string", + "default": "amd64", + "enum": [ + "amd64", + "arm64" + ] + } + } + }, + "maxSize": { + "description": "Max size of the pool, for scaling", + "type": "integer", + "format": "int32" + }, + "minSize": { + "description": "Min size of the pool, for scaling", + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string" + }, + "nodeRepaveInterval": { + "description": "Minimum number of seconds a node should be Ready, before the next node is selected for repave. Applicable only for workerpools in infrastructure cluster", + "type": "integer", + "format": "int32" + }, + "size": { + "description": "Size of the pool, number of nodes/machines", + "type": "integer", + "format": "int32" + }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -127324,8 +111705,22 @@ } } }, + "updateStrategy": { + "description": "UpdatesStrategy will be used to translate to RollingUpdateStrategy of a MachineDeployment We'll start with default values for the translation, can expose more details later Following is details of parameters translated from the type ScaleOut =\u003e maxSurge=1, maxUnavailable=0 ScaleIn =\u003e maxSurge=0, maxUnavailable=1", + "type": "object", + "properties": { + "type": { + "description": "update strategy, either ScaleOut or ScaleIn if empty, will default to RollingUpdateScaleOut", + "type": "string", + "enum": [ + "RollingUpdateScaleOut", + "RollingUpdateScaleIn" + ] + } + } + }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -127334,6 +111729,101 @@ } } }, + "policies": { + "description": "Cluster policies", + "type": "object", + "properties": { + "backupPolicy": { + "description": "Cluster backup config", + "properties": { + "backupLocationName": { + "type": "string" + }, + "backupLocationUid": { + "type": "string" + }, + "backupName": { + "type": "string" + }, + "backupPrefix": { + "type": "string" + }, + "durationInHours": { + "type": "number", + "format": "int64" + }, + "includeAllDisks": { + "type": "boolean" + }, + "includeClusterResources": { + "type": "boolean" + }, + "locationType": { + "type": "string" + }, + "namespaces": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + }, + "schedule": { + "description": "Cluster feature schedule", + "properties": { + "scheduledRunTime": { + "type": "string" + } + } + } + } + }, + "scanPolicy": { + "description": "Cluster compliance scan schedule configuration", + "properties": { + "kubeBench": { + "description": "Cluster compliance scan schedule config for kube bench driver", + "properties": { + "schedule": { + "description": "Cluster feature schedule", + "properties": { + "scheduledRunTime": { + "type": "string" + } + } + } + } + }, + "kubeHunter": { + "description": "Cluster compliance scan schedule config for kube hunter driver", + "properties": { + "schedule": { + "description": "Cluster feature schedule", + "properties": { + "scheduledRunTime": { + "type": "string" + } + } + } + } + }, + "sonobuoy": { + "description": "Cluster compliance scan schedule config for sonobuoy driver", + "properties": { + "schedule": { + "description": "Cluster feature schedule", + "properties": { + "scheduledRunTime": { + "type": "string" + } + } + } + } + } + } + } + } + }, "profiles": { "type": "array", "items": { @@ -127400,120 +111890,769 @@ } } }, - "replaceWithProfile": { - "description": "Cluster profile uid to be replaced with new profile", - "type": "string" - }, - "uid": { - "description": "Cluster profile uid", - "type": "string" - } - } - } - } - } - } - } - } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "Custom Cluster validation response", - "schema": { - "description": "Cluster validator response", - "type": "object", - "properties": { - "machinePools": { - "description": "Constraint validator response", - "type": "object", - "properties": { - "results": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Constraint validator result", - "type": "object", - "properties": { - "displayName": { + "replaceWithProfile": { + "description": "Cluster profile uid to be replaced with new profile", + "type": "string" + }, + "uid": { + "description": "Cluster profile uid", + "type": "string" + }, + "variables": { + "type": "array", + "items": { + "description": "Variable with value which will be used within the packs of cluster profile", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Variable name", + "type": "string" + }, + "value": { + "description": "Actual value of the variable to be used within the cluster", + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "schema": { + "type": "object", + "required": [ + "uid" + ], + "properties": { + "uid": { + "type": "string" + } + } + }, + "headers": { + "AuditUid": { + "type": "string", + "description": "Audit uid for the request" + } + } + } + } + } + }, + "/v1/spectroclusters/aks/rate": { + "post": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Get AKS cluster estimated rate information", + "operationId": "v1SpectroClustersAksRate", + "parameters": [ + { + "enum": [ + "hourly", + "monthly", + "yearly" + ], + "type": "string", + "default": "hourly", + "name": "periodType", + "in": "query" + }, + { + "name": "body", + "in": "body", + "schema": { + "description": "Spectro Azure cluster request payload for estimating rate", + "type": "object", + "properties": { + "cloudConfig": { + "description": "Cluster level configuration for Azure cloud and applicable for all the machine pools", + "type": "object", + "required": [ + "subscriptionId", + "location", + "sshKey" + ], + "properties": { + "aadProfile": { + "description": "AADProfile - AAD integration is managed by AKS.", + "type": "object", + "required": [ + "managed", + "adminGroupObjectIDs" + ], + "properties": { + "adminGroupObjectIDs": { + "description": "AdminGroupObjectIDs - AAD group object IDs that will have admin role of the cluster.", + "type": "array", + "items": { + "type": "string" + } + }, + "managed": { + "description": "Managed - Whether to enable managed AAD.", + "type": "boolean", + "x-omitempty": false + } + } + }, + "apiServerAccessProfile": { + "description": "APIServerAccessProfile - access profile for AKS API server.", + "type": "object", + "properties": { + "authorizedIPRanges": { + "description": "AuthorizedIPRanges - Authorized IP Ranges to kubernetes API server.", + "type": "array", + "items": { + "type": "string", + "default": "" + } + }, + "enablePrivateCluster": { + "description": "EnablePrivateCluster - Whether to create the cluster as a private cluster or not.", + "type": "boolean" + }, + "enablePrivateClusterPublicFQDN": { + "description": "EnablePrivateClusterPublicFQDN - Whether to create additional public FQDN for private cluster or not.", + "type": "boolean" + }, + "privateDNSZone": { + "description": "PrivateDNSZone - Private dns zone mode for private cluster.", + "type": "string" + } + } + }, + "containerName": { + "type": "string" + }, + "controlPlaneSubnet": { + "type": "object", + "properties": { + "cidrBlock": { + "description": "CidrBlock is the CIDR block to be used when the provider creates a managed Vnet.", + "type": "string" + }, + "name": { + "type": "string" + }, + "securityGroupName": { + "description": "Network Security Group(NSG) to be attached to subnet. NSG for a control plane subnet, should allow inbound to port 6443, as port 6443 is used by kubeadm to bootstrap the control planes", + "type": "string" + } + } + }, + "enablePrivateCluster": { + "description": "Deprecated. use apiServerAccessProfile.enablePrivateCluster", + "type": "boolean" + }, + "infraLBConfig": { + "type": "object", + "properties": { + "apiServerLB": { + "description": "LoadBalancerSpec defines an Azure load balancer.", + "type": "object", + "properties": { + "apiServerLBStaticIP": { + "type": "string" + }, + "ipAllocationMethod": { + "type": "string", + "default": "Dynamic", + "enum": [ + "Static", + "Dynamic" + ] + }, + "privateDNSName": { + "type": "string" + }, + "type": { + "description": "Load Balancer type", + "type": "string", + "default": "Public", + "enum": [ + "Internal", + "Public" + ] + } + } + } + } + }, + "location": { + "description": "Location is the Azure datacenter location", + "type": "string" + }, + "resourceGroup": { + "type": "string" + }, + "sshKey": { + "type": "string" + }, + "storageAccountName": { + "type": "string" + }, + "subscriptionId": { + "description": "Subscription ID is unique identifier for the subscription used to access Azure services", + "type": "string" + }, + "vnetCidrBlock": { + "type": "string" + }, + "vnetName": { + "description": "VNETName is the virtual network in which the cluster is to be provisioned.", + "type": "string" + }, + "vnetResourceGroup": { + "type": "string" + }, + "workerSubnet": { + "type": "object", + "properties": { + "cidrBlock": { + "description": "CidrBlock is the CIDR block to be used when the provider creates a managed Vnet.", + "type": "string" + }, + "name": { + "type": "string" + }, + "securityGroupName": { + "description": "Network Security Group(NSG) to be attached to subnet. NSG for a control plane subnet, should allow inbound to port 6443, as port 6443 is used by kubeadm to bootstrap the control planes", + "type": "string" + } + } + } + } + }, + "machinepoolconfig": { + "type": "array", + "items": { + "type": "object", + "required": [ + "cloudConfig" + ], + "properties": { + "cloudConfig": { + "type": "object", + "properties": { + "azs": { + "type": "array", + "items": { + "type": "string" + } + }, + "instanceType": { + "description": "Instance type stands for VMSize in Azure", + "type": "string" + }, + "isSystemNodePool": { + "description": "whether this pool is for system node Pool", + "type": "boolean" + }, + "osDisk": { + "type": "object", + "properties": { + "diskSizeGB": { + "type": "integer", + "format": "int32" + }, + "managedDisk": { + "type": "object", + "properties": { + "storageAccountType": { + "type": "string" + } + } + }, + "osType": { + "type": "string", + "default": "Linux", + "enum": [ + "Linux", + "Windows" + ] + } + } + } + } + }, + "managedPoolConfig": { + "type": "object", + "properties": { + "isSystemNodePool": { + "description": "whether this pool is for system node Pool", + "type": "boolean", + "x-omitempty": false + }, + "osType": { + "type": "string", + "default": "Linux", + "enum": [ + "Linux", + "Windows" + ] + } + } + }, + "poolConfig": { + "description": "Machine pool configuration for the cluster", + "type": "object", + "required": [ + "name", + "size", + "labels" + ], + "properties": { + "additionalLabels": { + "description": "Additional labels to be part of the machine pool", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "additionalTags": { + "description": "AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "isControlPlane": { + "description": "Whether this pool is for control plane", + "type": "boolean", + "x-omitempty": false + }, + "labels": { + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", + "type": "array", + "items": { + "type": "string" + } + }, + "machinePoolProperties": { + "description": "Machine pool specific properties", + "type": "object", + "properties": { + "archType": { + "type": "string", + "default": "amd64", + "enum": [ + "amd64", + "arm64" + ] + } + } + }, + "maxSize": { + "description": "Max size of the pool, for scaling", + "type": "integer", + "format": "int32" + }, + "minSize": { + "description": "Min size of the pool, for scaling", + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string" + }, + "nodeRepaveInterval": { + "description": "Minimum number of seconds a node should be Ready, before the next node is selected for repave. Applicable only for workerpools in infrastructure cluster", + "type": "integer", + "format": "int32" + }, + "size": { + "description": "Size of the pool, number of nodes/machines", + "type": "integer", + "format": "int32" + }, + "taints": { + "description": "control plane or worker taints", + "type": "array", + "uniqueItems": true, + "items": { + "description": "Taint", + "type": "object", + "properties": { + "effect": { + "type": "string", + "enum": [ + "NoSchedule", + "PreferNoSchedule", + "NoExecute" + ] + }, + "key": { + "description": "The taint key to be applied to a node", + "type": "string" + }, + "timeAdded": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "value": { + "description": "The taint value corresponding to the taint key.", + "type": "string" + } + } + } + }, + "updateStrategy": { + "description": "UpdatesStrategy will be used to translate to RollingUpdateStrategy of a MachineDeployment We'll start with default values for the translation, can expose more details later Following is details of parameters translated from the type ScaleOut =\u003e maxSurge=1, maxUnavailable=0 ScaleIn =\u003e maxSurge=0, maxUnavailable=1", + "type": "object", + "properties": { + "type": { + "description": "update strategy, either ScaleOut or ScaleIn if empty, will default to RollingUpdateScaleOut", + "type": "string", + "enum": [ + "RollingUpdateScaleOut", + "RollingUpdateScaleIn" + ] + } + } + }, + "useControlPlaneAsWorker": { + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", + "type": "boolean", + "x-omitempty": false + } + } + } + } + } + } + } + } + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "200": { + "description": "Aks Cluster estimated rate response", + "schema": { + "description": "Cluster estimated rate information", + "type": "object", + "properties": { + "machinePools": { + "type": "array", + "items": { + "description": "Machine pool estimated rate information", + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "nodesCount": { + "type": "integer", + "format": "int32" + }, + "rate": { + "description": "Cloud estimated rate information", + "type": "object", + "properties": { + "compute": { + "description": "Compute estimated rate information", + "type": "object", + "properties": { + "rate": { + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "type": { + "type": "string" + } + } + }, + "storage": { + "type": "array", + "items": { + "description": "Storage estimated rate information", + "type": "object", + "properties": { + "iops": { + "type": "number", + "format": "float64" + }, + "rate": { + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "sizeGB": { + "type": "number", + "format": "float64" + }, + "throughput": { + "type": "number", + "format": "float64" + }, + "type": { + "type": "string" + } + } + } + }, + "total": { + "type": "number", + "format": "float64", + "x-omitempty": false + } + } + } + } + } + }, + "name": { + "type": "string" + }, + "rate": { + "description": "Cluster total estimated rate information", + "type": "object", + "properties": { + "compute": { + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "storage": { + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "total": { + "type": "number", + "format": "float64", + "x-omitempty": false + } + } + }, + "resourceMetadata": { + "description": "Cloud resource metadata", + "type": "object", + "properties": { + "instanceTypes": { + "type": "object", + "additionalProperties": { + "description": "Cloud Instance type details", + "type": "object", + "properties": { + "category": { + "description": "Category of instance type", + "type": "string", + "x-go-name": "Category" + }, + "cost": { + "description": "Instance cost entity", + "type": "object", + "properties": { + "price": { + "description": "Array of cloud instance price", + "type": "array", + "items": { + "description": "Cloud instance price", + "type": "object", + "properties": { + "onDemand": { + "description": "OnDemand price of instance", + "type": "number", + "format": "double" + }, + "os": { + "description": "Os associated with instance price. Allowed values - [linux, windows]", + "type": "string", + "enum": [ + "linux", + "windows" + ] + }, + "spot": { + "description": "Spot price of instance", + "type": "number", + "format": "double" + } + } + } + } + } + }, + "cpu": { + "description": "Cpu of instance type", + "type": "number", + "format": "double", + "x-go-name": "Cpu" + }, + "gpu": { + "description": "Gpu of instance type", + "type": "number", + "format": "double", + "x-go-name": "Gpu" + }, + "memory": { + "description": "Memory of instance type", + "type": "number", + "format": "double", + "x-go-name": "Memory" + }, + "nonSupportedZones": { + "description": "Non supported zones of the instance in a particular region", + "type": "array", + "items": { + "type": "string" + } + }, + "price": { + "description": "Price of instance type", + "type": "number", + "format": "double", + "x-go-name": "Price" + }, + "supportedArchitectures": { + "description": "Supported architecture of the instance", + "type": "array", + "items": { + "type": "string" + } + }, + "type": { + "description": "Type of instance type", + "type": "string", + "x-go-name": "Type" + } + } + } + }, + "storageTypes": { + "type": "object", + "additionalProperties": { + "description": "Cloud cloud Storage type details", + "type": "object", + "properties": { + "cost": { + "description": "Cloud storage cost", + "type": "object", + "properties": { + "discountedUsage": { + "description": "Cloud storage upper limit which is free.", + "type": "string" + }, + "price": { + "description": "Array of cloud storage range prices", + "type": "array", + "items": { + "description": "Cloud storage price within an upper limit.", + "type": "object", + "properties": { + "limit": { + "description": "Upper limit of cloud storage usage", + "type": "string" + }, + "price": { + "description": "Price of cloud storage type", + "type": "string" + } + } + } + } + } + }, + "iopsCost": { + "description": "Cloud storage cost", + "type": "object", + "properties": { + "discountedUsage": { + "description": "Cloud storage upper limit which is free.", + "type": "string" + }, + "price": { + "description": "Array of cloud storage range prices", + "type": "array", + "items": { + "description": "Cloud storage price within an upper limit.", + "type": "object", + "properties": { + "limit": { + "description": "Upper limit of cloud storage usage", + "type": "string" + }, + "price": { + "description": "Price of cloud storage type", + "type": "string" + } + } + } + } + } + }, + "kind": { + "description": "kind of storage type", "type": "string" }, - "errors": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "object", - "properties": { - "code": { - "type": "string" - }, - "message": { - "type": "string" - } - } - } - }, "name": { + "description": "Name of the storage type", "type": "string" - } - } - } - } - } - }, - "profiles": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Cluster profile validator response", - "type": "object", - "properties": { - "packs": { - "description": "Constraint validator response", - "type": "object", - "properties": { - "results": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Constraint validator result", - "type": "object", - "properties": { - "displayName": { - "type": "string" - }, - "errors": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "object", - "properties": { - "code": { - "type": "string" - }, - "message": { - "type": "string" - } + }, + "throughputCost": { + "description": "Cloud storage cost", + "type": "object", + "properties": { + "discountedUsage": { + "description": "Cloud storage upper limit which is free.", + "type": "string" + }, + "price": { + "description": "Array of cloud storage range prices", + "type": "array", + "items": { + "description": "Cloud storage price within an upper limit.", + "type": "object", + "properties": { + "limit": { + "description": "Upper limit of cloud storage usage", + "type": "string" + }, + "price": { + "description": "Price of cloud storage type", + "type": "string" } } - }, - "name": { - "type": "string" } } } } } - }, - "uid": { - "description": "Cluster profile uid", - "type": "string" } } } @@ -127522,57 +112661,9 @@ } } } - }, - "parameters": [ - { - "type": "string", - "description": "Cluster's cloud type", - "name": "cloudType", - "in": "path", - "required": true - } - ] - }, - "/v1/spectroclusters/config/edgeInstaller": { - "get": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Cluster configuration for the edge installer", - "operationId": "v1SpectroClustersConfigEdgeInstaller", - "parameters": [ - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "(empty)", - "schema": { - "properties": { - "installerDownloadLinks": { - "additionalProperties": { - "type": "string" - } - } - } - } - } - } } }, - "/v1/spectroclusters/coxedge": { + "/v1/spectroclusters/aks/validate": { "post": { "security": [ { @@ -127585,14 +112676,14 @@ "tags": [ "v1" ], - "summary": "Creates a CoxEdge cluster", - "operationId": "v1SpectroClustersCoxEdgeCreate", + "summary": "Validates AKS cluster create operation", + "operationId": "v1SpectroClustersAksValidate", "parameters": [ { "name": "body", "in": "body", "schema": { - "description": "CoxEdge cluster request payload for create and update", + "description": "Azure cluster request payload for create and update", "type": "object", "properties": { "metadata": { @@ -127600,7 +112691,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -127617,7 +112708,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -127629,11 +112720,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -127651,57 +112742,164 @@ "type": "string" }, "cloudConfig": { - "description": "Cluster level configuration for coxedge cloud and applicable for all the machine pools", + "description": "Cluster level configuration for Azure cloud and applicable for all the machine pools", "type": "object", "required": [ - "sshAuthorizedKeys", - "coxEdgeLoadBalancerConfig" + "subscriptionId", + "location", + "sshKey" ], "properties": { - "coxEdgeLoadBalancerConfig": { - "description": "CoxEdge loadbalancer config", + "aadProfile": { + "description": "AADProfile - AAD integration is managed by AKS.", "type": "object", + "required": [ + "managed", + "adminGroupObjectIDs" + ], "properties": { - "pops": { - "description": "CoxEdge PoPs - geographical location for the loadbalancer", + "adminGroupObjectIDs": { + "description": "AdminGroupObjectIDs - AAD group object IDs that will have admin role of the cluster.", "type": "array", "items": { "type": "string" } + }, + "managed": { + "description": "Managed - Whether to enable managed AAD.", + "type": "boolean", + "x-omitempty": false } } }, - "coxEdgeWorkerLoadBalancerConfig": { - "description": "CoxEdge loadbalancer config", + "apiServerAccessProfile": { + "description": "APIServerAccessProfile - access profile for AKS API server.", "type": "object", "properties": { - "pops": { - "description": "CoxEdge PoPs - geographical location for the loadbalancer", + "authorizedIPRanges": { + "description": "AuthorizedIPRanges - Authorized IP Ranges to kubernetes API server.", "type": "array", "items": { - "type": "string" + "type": "string", + "default": "" + } + }, + "enablePrivateCluster": { + "description": "EnablePrivateCluster - Whether to create the cluster as a private cluster or not.", + "type": "boolean" + }, + "enablePrivateClusterPublicFQDN": { + "description": "EnablePrivateClusterPublicFQDN - Whether to create additional public FQDN for private cluster or not.", + "type": "boolean" + }, + "privateDNSZone": { + "description": "PrivateDNSZone - Private dns zone mode for private cluster.", + "type": "string" + } + } + }, + "containerName": { + "type": "string" + }, + "controlPlaneSubnet": { + "type": "object", + "properties": { + "cidrBlock": { + "description": "CidrBlock is the CIDR block to be used when the provider creates a managed Vnet.", + "type": "string" + }, + "name": { + "type": "string" + }, + "securityGroupName": { + "description": "Network Security Group(NSG) to be attached to subnet. NSG for a control plane subnet, should allow inbound to port 6443, as port 6443 is used by kubeadm to bootstrap the control planes", + "type": "string" + } + } + }, + "enablePrivateCluster": { + "description": "Deprecated. use apiServerAccessProfile.enablePrivateCluster", + "type": "boolean" + }, + "infraLBConfig": { + "type": "object", + "properties": { + "apiServerLB": { + "description": "LoadBalancerSpec defines an Azure load balancer.", + "type": "object", + "properties": { + "apiServerLBStaticIP": { + "type": "string" + }, + "ipAllocationMethod": { + "type": "string", + "default": "Dynamic", + "enum": [ + "Static", + "Dynamic" + ] + }, + "privateDNSName": { + "type": "string" + }, + "type": { + "description": "Load Balancer type", + "type": "string", + "default": "Public", + "enum": [ + "Internal", + "Public" + ] + } } } } }, - "environment": { + "location": { + "description": "Location is the Azure datacenter location", "type": "string" }, - "organizationId": { + "resourceGroup": { "type": "string" }, - "sshAuthorizedKeys": { - "description": "CoxEdge ssh authorized keys", - "type": "array", - "items": { - "type": "string" + "sshKey": { + "type": "string" + }, + "storageAccountName": { + "type": "string" + }, + "subscriptionId": { + "description": "Subscription ID is unique identifier for the subscription used to access Azure services", + "type": "string" + }, + "vnetCidrBlock": { + "type": "string" + }, + "vnetName": { + "description": "VNETName is the virtual network in which the cluster is to be provisioned.", + "type": "string" + }, + "vnetResourceGroup": { + "type": "string" + }, + "workerSubnet": { + "type": "object", + "properties": { + "cidrBlock": { + "description": "CidrBlock is the CIDR block to be used when the provider creates a managed Vnet.", + "type": "string" + }, + "name": { + "type": "string" + }, + "securityGroupName": { + "description": "Network Security Group(NSG) to be attached to subnet. NSG for a control plane subnet, should allow inbound to port 6443, as port 6443 is used by kubeadm to bootstrap the control planes", + "type": "string" + } } } } }, - "cloudType": { - "type": "string" - }, "clusterConfig": { "type": "object", "properties": { @@ -127771,11 +112969,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -127789,11 +112987,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -128114,101 +113312,62 @@ "cloudConfig": { "type": "object", "properties": { - "deployments": { + "azs": { "type": "array", "items": { - "properties": { - "cpuUtilization": { - "type": "integer", - "format": "int32" - }, - "enableAutoScaling": { - "type": "boolean" - }, - "instancesPerPop": { - "type": "integer", - "format": "int32" - }, - "maxInstancesPerPop": { - "type": "integer", - "format": "int32" - }, - "minInstancesPerPop": { - "type": "integer", - "format": "int32" - }, - "name": { - "type": "string" - }, - "pops": { - "type": "array", - "items": { - "type": "string" - } - } - } + "type": "string" } }, - "persistentStorages": { - "description": "Array of coxedge load persistent storages", - "type": "array", - "uniqueItems": true, - "items": { - "description": "CoxEdge load persistent storage", - "type": "object", - "properties": { - "path": { - "description": "Coxedge load persistent storage path", - "type": "string" - }, - "size": { - "description": "Coxedge load persistent storage size", - "type": "integer", - "format": "int64" - } - } - } + "instanceType": { + "description": "Instance type stands for VMSize in Azure", + "type": "string" }, - "securityGroupRules": { - "type": "array", - "items": { - "properties": { - "action": { - "type": "string", - "enum": [ - "block", - "allow" - ] - }, - "description": { - "type": "string" - }, - "portRange": { - "type": "string" - }, - "protocol": { - "type": "string", - "enum": [ - "TCP", - "UDP", - "TCP_UDP", - "ESP", - "AH", - "ICMP", - "GRE" - ] - }, - "source": { - "type": "string" - }, - "type": { - "type": "string" + "isSystemNodePool": { + "description": "whether this pool is for system node Pool", + "type": "boolean" + }, + "osDisk": { + "type": "object", + "properties": { + "diskSizeGB": { + "type": "integer", + "format": "int32" + }, + "managedDisk": { + "type": "object", + "properties": { + "storageAccountType": { + "type": "string" + } } + }, + "osType": { + "type": "string", + "default": "Linux", + "enum": [ + "Linux", + "Windows" + ] } } + } + } + }, + "managedPoolConfig": { + "type": "object", + "properties": { + "isSystemNodePool": { + "description": "whether this pool is for system node Pool", + "type": "boolean", + "x-omitempty": false }, - "spec": { - "type": "string" + "osType": { + "type": "string", + "default": "Linux", + "enum": [ + "Linux", + "Windows" + ] } } }, @@ -128241,7 +113400,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -128285,7 +113444,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -128331,7 +113490,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -128508,360 +113667,26 @@ "uid": { "description": "Cluster profile uid", "type": "string" - } - } - } - } - } - } - } - } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "201": { - "description": "Created successfully", - "schema": { - "type": "object", - "required": [ - "uid" - ], - "properties": { - "uid": { - "type": "string" - } - } - }, - "headers": { - "AuditUid": { - "type": "string", - "description": "Audit uid for the request" - } - } - } - } - } - }, - "/v1/spectroclusters/coxedge/rate": { - "post": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Get Cox Edge cluster estimated rate information", - "operationId": "v1SpectroClustersCoxEdgeRate", - "parameters": [ - { - "enum": [ - "hourly", - "monthly", - "yearly" - ], - "type": "string", - "default": "hourly", - "name": "periodType", - "in": "query" - }, - { - "name": "body", - "in": "body", - "schema": { - "description": "Cox Edge cluster request payload for estimating rate", - "type": "object", - "properties": { - "cloudConfig": { - "description": "Cluster level configuration for coxedge cloud and applicable for all the machine pools", - "type": "object", - "required": [ - "sshAuthorizedKeys", - "coxEdgeLoadBalancerConfig" - ], - "properties": { - "coxEdgeLoadBalancerConfig": { - "description": "CoxEdge loadbalancer config", - "type": "object", - "properties": { - "pops": { - "description": "CoxEdge PoPs - geographical location for the loadbalancer", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "coxEdgeWorkerLoadBalancerConfig": { - "description": "CoxEdge loadbalancer config", - "type": "object", - "properties": { - "pops": { - "description": "CoxEdge PoPs - geographical location for the loadbalancer", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "environment": { - "type": "string" - }, - "organizationId": { - "type": "string" - }, - "sshAuthorizedKeys": { - "description": "CoxEdge ssh authorized keys", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "machinepoolconfig": { - "type": "array", - "items": { - "type": "object", - "required": [ - "cloudConfig" - ], - "properties": { - "cloudConfig": { - "type": "object", - "properties": { - "deployments": { - "type": "array", - "items": { - "properties": { - "cpuUtilization": { - "type": "integer", - "format": "int32" - }, - "enableAutoScaling": { - "type": "boolean" - }, - "instancesPerPop": { - "type": "integer", - "format": "int32" - }, - "maxInstancesPerPop": { - "type": "integer", - "format": "int32" - }, - "minInstancesPerPop": { - "type": "integer", - "format": "int32" - }, - "name": { - "type": "string" - }, - "pops": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - }, - "persistentStorages": { - "description": "Array of coxedge load persistent storages", - "type": "array", - "uniqueItems": true, - "items": { - "description": "CoxEdge load persistent storage", - "type": "object", - "properties": { - "path": { - "description": "Coxedge load persistent storage path", - "type": "string" - }, - "size": { - "description": "Coxedge load persistent storage size", - "type": "integer", - "format": "int64" - } - } - } - }, - "securityGroupRules": { - "type": "array", - "items": { - "properties": { - "action": { - "type": "string", - "enum": [ - "block", - "allow" - ] - }, - "description": { - "type": "string" - }, - "portRange": { - "type": "string" - }, - "protocol": { - "type": "string", - "enum": [ - "TCP", - "UDP", - "TCP_UDP", - "ESP", - "AH", - "ICMP", - "GRE" - ] - }, - "source": { - "type": "string" - }, - "type": { - "type": "string" - } - } - } - }, - "spec": { - "type": "string" - } - } - }, - "poolConfig": { - "description": "Machine pool configuration for the cluster", - "type": "object", - "required": [ - "name", - "size", - "labels" - ], - "properties": { - "additionalLabels": { - "description": "Additional labels to be part of the machine pool", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "additionalTags": { - "description": "AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "isControlPlane": { - "description": "Whether this pool is for control plane", - "type": "boolean", - "x-omitempty": false - }, - "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", - "type": "array", - "items": { - "type": "string" - } - }, - "machinePoolProperties": { - "description": "Machine pool specific properties", - "type": "object", - "properties": { - "archType": { - "type": "string", - "default": "amd64", - "enum": [ - "amd64", - "arm64" - ] - } - } - }, - "maxSize": { - "description": "Max size of the pool, for scaling", - "type": "integer", - "format": "int32" - }, - "minSize": { - "description": "Min size of the pool, for scaling", - "type": "integer", - "format": "int32" - }, - "name": { - "type": "string" - }, - "nodeRepaveInterval": { - "description": "Minimum number of seconds a node should be Ready, before the next node is selected for repave. Applicable only for workerpools in infrastructure cluster", - "type": "integer", - "format": "int32" - }, - "size": { - "description": "Size of the pool, number of nodes/machines", - "type": "integer", - "format": "int32" }, - "taints": { - "description": "Master or worker taints", + "variables": { "type": "array", - "uniqueItems": true, "items": { - "description": "Taint", + "description": "Variable with value which will be used within the packs of cluster profile", "type": "object", + "required": [ + "name" + ], "properties": { - "effect": { - "type": "string", - "enum": [ - "NoSchedule", - "PreferNoSchedule", - "NoExecute" - ] - }, - "key": { - "description": "The taint key to be applied to a node", + "name": { + "description": "Variable name", "type": "string" }, - "timeAdded": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, "value": { - "description": "The taint value corresponding to the taint key.", + "description": "Actual value of the variable to be used within the cluster", "type": "string" } } } - }, - "updateStrategy": { - "description": "UpdatesStrategy will be used to translate to RollingUpdateStrategy of a MachineDeployment We'll start with default values for the translation, can expose more details later Following is details of parameters translated from the type ScaleOut =\u003e maxSurge=1, maxUnavailable=0 ScaleIn =\u003e maxSurge=0, maxUnavailable=1", - "type": "object", - "properties": { - "type": { - "description": "update strategy, either ScaleOut or ScaleIn if empty, will default to RollingUpdateScaleOut", - "type": "string", - "enum": [ - "RollingUpdateScaleOut", - "RollingUpdateScaleIn" - ] - } - } - }, - "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", - "type": "boolean", - "x-omitempty": false } } } @@ -128880,299 +113705,95 @@ ], "responses": { "200": { - "description": "Azure Cluster estimated rate response", + "description": "Aks Cluster validation response", "schema": { - "description": "Cluster estimated rate information", + "description": "Cluster validator response", "type": "object", "properties": { "machinePools": { - "type": "array", - "items": { - "description": "Machine pool estimated rate information", - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "nodesCount": { - "type": "integer", - "format": "int32" - }, - "rate": { - "description": "Cloud estimated rate information", - "type": "object", - "properties": { - "compute": { - "description": "Compute estimated rate information", - "type": "object", - "properties": { - "rate": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "type": { - "type": "string" - } - } - }, - "storage": { - "type": "array", - "items": { - "description": "Storage estimated rate information", - "type": "object", - "properties": { - "iops": { - "type": "number", - "format": "float64" - }, - "rate": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "sizeGB": { - "type": "number", - "format": "float64" - }, - "throughput": { - "type": "number", - "format": "float64" - }, - "type": { - "type": "string" - } - } - } - }, - "total": { - "type": "number", - "format": "float64", - "x-omitempty": false - } - } - } - } - } - }, - "name": { - "type": "string" - }, - "rate": { - "description": "Cluster total estimated rate information", - "type": "object", - "properties": { - "compute": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "storage": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "total": { - "type": "number", - "format": "float64", - "x-omitempty": false - } - } - }, - "resourceMetadata": { - "description": "Cloud resource metadata", + "description": "Constraint validator response", "type": "object", "properties": { - "instanceTypes": { - "type": "object", - "additionalProperties": { - "description": "Cloud Instance type details", - "type": "object", - "properties": { - "category": { - "description": "Category of instance type", - "type": "string", - "x-go-name": "Category" - }, - "cost": { - "description": "Instance cost entity", - "type": "object", - "properties": { - "price": { - "description": "Array of cloud instance price", - "type": "array", - "items": { - "description": "Cloud instance price", - "type": "object", - "properties": { - "onDemand": { - "description": "OnDemand price of instance", - "type": "number", - "format": "double" - }, - "os": { - "description": "Os associated with instance price. Allowed values - [linux, windows]", - "type": "string", - "enum": [ - "linux", - "windows" - ] - }, - "spot": { - "description": "Spot price of instance", - "type": "number", - "format": "double" - } - } - } - } - } - }, - "cpu": { - "description": "Cpu of instance type", - "type": "number", - "format": "double", - "x-go-name": "Cpu" - }, - "gpu": { - "description": "Gpu of instance type", - "type": "number", - "format": "double", - "x-go-name": "Gpu" - }, - "memory": { - "description": "Memory of instance type", - "type": "number", - "format": "double", - "x-go-name": "Memory" - }, - "nonSupportedZones": { - "description": "Non supported zones of the instance in a particular region", - "type": "array", - "items": { - "type": "string" - } - }, - "price": { - "description": "Price of instance type", - "type": "number", - "format": "double", - "x-go-name": "Price" - }, - "supportedArchitectures": { - "description": "Supported architecture of the instance", - "type": "array", - "items": { - "type": "string" - } - }, - "type": { - "description": "Type of instance type", - "type": "string", - "x-go-name": "Type" - } - } - } - }, - "storageTypes": { - "type": "object", - "additionalProperties": { - "description": "Cloud cloud Storage type details", + "results": { + "type": "array", + "uniqueItems": true, + "items": { + "description": "Constraint validator result", "type": "object", "properties": { - "cost": { - "description": "Cloud storage cost", - "type": "object", - "properties": { - "discountedUsage": { - "description": "Cloud storage upper limit which is free.", - "type": "string" - }, - "price": { - "description": "Array of cloud storage range prices", - "type": "array", - "items": { - "description": "Cloud storage price within an upper limit.", - "type": "object", - "properties": { - "limit": { - "description": "Upper limit of cloud storage usage", - "type": "string" - }, - "price": { - "description": "Price of cloud storage type", - "type": "string" - } - } - } - } - } - }, - "iopsCost": { - "description": "Cloud storage cost", - "type": "object", - "properties": { - "discountedUsage": { - "description": "Cloud storage upper limit which is free.", - "type": "string" - }, - "price": { - "description": "Array of cloud storage range prices", - "type": "array", - "items": { - "description": "Cloud storage price within an upper limit.", - "type": "object", - "properties": { - "limit": { - "description": "Upper limit of cloud storage usage", - "type": "string" - }, - "price": { - "description": "Price of cloud storage type", - "type": "string" - } - } - } - } - } - }, - "kind": { - "description": "kind of storage type", - "type": "string" - }, - "name": { - "description": "Name of the storage type", + "displayName": { "type": "string" }, - "throughputCost": { - "description": "Cloud storage cost", - "type": "object", - "properties": { - "discountedUsage": { - "description": "Cloud storage upper limit which is free.", - "type": "string" - }, - "price": { - "description": "Array of cloud storage range prices", - "type": "array", - "items": { - "description": "Cloud storage price within an upper limit.", - "type": "object", - "properties": { - "limit": { - "description": "Upper limit of cloud storage usage", - "type": "string" - }, - "price": { - "description": "Price of cloud storage type", - "type": "string" + "errors": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + } + } + } + }, + "name": { + "type": "string" + } + } + } + } + } + }, + "profiles": { + "type": "array", + "uniqueItems": true, + "items": { + "description": "Cluster profile validator response", + "type": "object", + "properties": { + "packs": { + "description": "Constraint validator response", + "type": "object", + "properties": { + "results": { + "type": "array", + "uniqueItems": true, + "items": { + "description": "Constraint validator result", + "type": "object", + "properties": { + "displayName": { + "type": "string" + }, + "errors": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + } } } + }, + "name": { + "type": "string" } } } } } + }, + "uid": { + "description": "Cluster profile uid", + "type": "string" } } } @@ -129183,7 +113804,7 @@ } } }, - "/v1/spectroclusters/coxedge/validate": { + "/v1/spectroclusters/aws": { "post": { "security": [ { @@ -129196,14 +113817,14 @@ "tags": [ "v1" ], - "summary": "Validates Cox Edge cluster create operation", - "operationId": "v1SpectroClustersCoxEdgeValidate", + "summary": "Creates an AWS cluster", + "operationId": "v1SpectroClustersAwsCreate", "parameters": [ { "name": "body", "in": "body", "schema": { - "description": "CoxEdge cluster request payload for create and update", + "description": "AWS cluster request payload for create and update", "type": "object", "properties": { "metadata": { @@ -129211,7 +113832,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -129228,7 +113849,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -129240,11 +113861,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -129262,57 +113883,32 @@ "type": "string" }, "cloudConfig": { - "description": "Cluster level configuration for coxedge cloud and applicable for all the machine pools", + "description": "Cluster level configuration for aws cloud and applicable for all the machine pools", "type": "object", "required": [ - "sshAuthorizedKeys", - "coxEdgeLoadBalancerConfig" + "region" ], "properties": { - "coxEdgeLoadBalancerConfig": { - "description": "CoxEdge loadbalancer config", - "type": "object", - "properties": { - "pops": { - "description": "CoxEdge PoPs - geographical location for the loadbalancer", - "type": "array", - "items": { - "type": "string" - } - } - } + "bastionDisabled": { + "description": "Create bastion node option we have earlier supported creation of bastion by default capa seems to favour session manager against bastion node https://github.com/kubernetes-sigs/cluster-api-provider-aws/issues/947", + "type": "boolean" }, - "coxEdgeWorkerLoadBalancerConfig": { - "description": "CoxEdge loadbalancer config", - "type": "object", - "properties": { - "pops": { - "description": "CoxEdge PoPs - geographical location for the loadbalancer", - "type": "array", - "items": { - "type": "string" - } - } - } + "controlPlaneLoadBalancer": { + "description": "ControlPlaneLoadBalancer specifies how API server elb will be configured, this field is optional, not provided, \"\", default =\u003e \"Internet-facing\" \"Internet-facing\" =\u003e \"Internet-facing\" \"internal\" =\u003e \"internal\" For spectro saas setup we require to talk to the apiserver from our cluster so ControlPlaneLoadBalancer should be \"\", not provided or \"Internet-facing\"", + "type": "string" }, - "environment": { + "region": { "type": "string" }, - "organizationId": { + "sshKeyName": { "type": "string" }, - "sshAuthorizedKeys": { - "description": "CoxEdge ssh authorized keys", - "type": "array", - "items": { - "type": "string" - } + "vpcId": { + "description": "VPC Id to deploy cluster into should have one public and one private subnet for the the cluster creation, this field is optional, If VPC Id is not provided a fully managed VPC will be created", + "type": "string" } } }, - "cloudType": { - "type": "string" - }, "clusterConfig": { "type": "object", "properties": { @@ -129382,11 +113978,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -129400,11 +113996,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -129724,102 +114320,99 @@ "properties": { "cloudConfig": { "type": "object", + "required": [ + "instanceType" + ], "properties": { - "deployments": { + "additionalSecurityGroups": { + "description": "Additional Security groups", "type": "array", "items": { + "description": "AWSResourceReference is a reference to a specific AWS resource by ID or filters", + "type": "object", "properties": { - "cpuUtilization": { - "type": "integer", - "format": "int32" - }, - "enableAutoScaling": { - "type": "boolean" - }, - "instancesPerPop": { - "type": "integer", - "format": "int32" - }, - "maxInstancesPerPop": { - "type": "integer", - "format": "int32" - }, - "minInstancesPerPop": { - "type": "integer", - "format": "int32" - }, - "name": { + "arn": { + "description": "ARN of resource", "type": "string" }, - "pops": { + "filters": { + "description": "Filters is a set of key/value pairs used to identify a resource", "type": "array", + "uniqueItems": true, "items": { - "type": "string" + "description": "Filter is a filter used to identify an AWS resource", + "type": "object", + "properties": { + "name": { + "description": "Name of the filter. Filter names are case-sensitive", + "type": "string" + }, + "values": { + "description": "Values includes one or more filter values. Filter values are case-sensitive", + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + } + } } + }, + "id": { + "description": "ID of resource", + "type": "string" } } } }, - "persistentStorages": { - "description": "Array of coxedge load persistent storages", + "azs": { "type": "array", - "uniqueItems": true, "items": { - "description": "CoxEdge load persistent storage", - "type": "object", - "properties": { - "path": { - "description": "Coxedge load persistent storage path", - "type": "string" - }, - "size": { - "description": "Coxedge load persistent storage size", - "type": "integer", - "format": "int64" - } + "type": "string" + } + }, + "capacityType": { + "description": "EC2 instance capacity type", + "type": "string", + "default": "on-demand", + "enum": [ + "on-demand", + "spot" + ] + }, + "instanceType": { + "description": "instance type", + "type": "string" + }, + "rootDeviceSize": { + "description": "rootDeviceSize in GBs", + "type": "integer", + "format": "int64", + "maximum": 2000, + "minimum": 1 + }, + "spotMarketOptions": { + "description": "SpotMarketOptions defines the options available to a user when configuring Machines to run on Spot instances. Most users should provide an empty struct.", + "type": "object", + "properties": { + "maxPrice": { + "description": "MaxPrice defines the maximum price the user is willing to pay for Spot VM instances", + "type": "string" } } }, - "securityGroupRules": { + "subnets": { "type": "array", "items": { "properties": { - "action": { - "type": "string", - "enum": [ - "block", - "allow" - ] - }, - "description": { - "type": "string" - }, - "portRange": { - "type": "string" - }, - "protocol": { - "type": "string", - "enum": [ - "TCP", - "UDP", - "TCP_UDP", - "ESP", - "AH", - "ICMP", - "GRE" - ] - }, - "source": { + "az": { "type": "string" }, - "type": { + "id": { "type": "string" } } } - }, - "spec": { - "type": "string" } } }, @@ -129852,7 +114445,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -129896,7 +114489,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -129942,7 +114535,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -130119,6 +114712,26 @@ "uid": { "description": "Cluster profile uid", "type": "string" + }, + "variables": { + "type": "array", + "items": { + "description": "Variable with value which will be used within the packs of cluster profile", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Variable name", + "type": "string" + }, + "value": { + "description": "Actual value of the variable to be used within the cluster", + "type": "string" + } + } + } } } } @@ -130136,96 +114749,753 @@ } ], "responses": { - "200": { - "description": "Azure Cluster validation response", + "201": { + "description": "Created successfully", "schema": { - "description": "Cluster validator response", "type": "object", + "required": [ + "uid" + ], "properties": { - "machinePools": { - "description": "Constraint validator response", + "uid": { + "type": "string" + } + } + }, + "headers": { + "AuditUid": { + "type": "string", + "description": "Audit uid for the request" + } + } + } + } + } + }, + "/v1/spectroclusters/aws/import": { + "post": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Imports an AWS cluster", + "operationId": "v1SpectroClustersAwsImport", + "parameters": [ + { + "name": "body", + "in": "body", + "schema": { + "description": "Spectro AWS cluster import request payload", + "type": "object", + "properties": { + "metadata": { + "description": "ObjectMeta input entity for object creation", "type": "object", "properties": { - "results": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Constraint validator result", + "annotations": { + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "labels": { + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "name": { + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + } + } + }, + "spec": { + "type": "object", + "properties": { + "clusterConfig": { + "type": "object", + "properties": { + "importMode": { + "description": "If the importMode is empty then cluster is imported with full permission mode. By default importMode is empty and cluster is imported in full permission mode.", + "type": "string", + "enum": [ + "read-only" + ] + }, + "proxy": { + "description": "cluster proxy config spec", + "type": "object", + "properties": { + "caContainerMountPath": { + "description": "Location to mount Proxy CA cert inside container", + "type": "string" + }, + "caHostPath": { + "description": "Location for Proxy CA cert on host nodes", + "type": "string" + }, + "httpProxy": { + "description": "URL for HTTP requests unless overridden by NoProxy", + "type": "string" + }, + "httpsProxy": { + "description": "HTTPS requests unless overridden by NoProxy", + "type": "string" + }, + "noProxy": { + "description": "NoProxy represents the NO_PROXY or no_proxy environment", + "type": "string" + } + } + } + } + } + } + } + } + } + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "schema": { + "type": "object", + "required": [ + "uid" + ], + "properties": { + "uid": { + "type": "string" + } + } + }, + "headers": { + "AuditUid": { + "type": "string", + "description": "Audit uid for the request" + } + } + } + } + } + }, + "/v1/spectroclusters/aws/rate": { + "post": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Get AWS cluster estimated rate information", + "operationId": "v1SpectroClustersAwsRate", + "parameters": [ + { + "enum": [ + "hourly", + "monthly", + "yearly" + ], + "type": "string", + "default": "hourly", + "name": "periodType", + "in": "query" + }, + { + "name": "body", + "in": "body", + "schema": { + "description": "Spectro AWS cluster request payload for estimating rate", + "type": "object", + "properties": { + "cloudConfig": { + "description": "Cluster level configuration for aws cloud and applicable for all the machine pools", + "type": "object", + "required": [ + "region" + ], + "properties": { + "bastionDisabled": { + "description": "Create bastion node option we have earlier supported creation of bastion by default capa seems to favour session manager against bastion node https://github.com/kubernetes-sigs/cluster-api-provider-aws/issues/947", + "type": "boolean" + }, + "controlPlaneLoadBalancer": { + "description": "ControlPlaneLoadBalancer specifies how API server elb will be configured, this field is optional, not provided, \"\", default =\u003e \"Internet-facing\" \"Internet-facing\" =\u003e \"Internet-facing\" \"internal\" =\u003e \"internal\" For spectro saas setup we require to talk to the apiserver from our cluster so ControlPlaneLoadBalancer should be \"\", not provided or \"Internet-facing\"", + "type": "string" + }, + "region": { + "type": "string" + }, + "sshKeyName": { + "type": "string" + }, + "vpcId": { + "description": "VPC Id to deploy cluster into should have one public and one private subnet for the the cluster creation, this field is optional, If VPC Id is not provided a fully managed VPC will be created", + "type": "string" + } + } + }, + "machinepoolconfig": { + "type": "array", + "items": { + "type": "object", + "required": [ + "cloudConfig" + ], + "properties": { + "cloudConfig": { "type": "object", + "required": [ + "instanceType" + ], "properties": { - "displayName": { + "additionalSecurityGroups": { + "description": "Additional Security groups", + "type": "array", + "items": { + "description": "AWSResourceReference is a reference to a specific AWS resource by ID or filters", + "type": "object", + "properties": { + "arn": { + "description": "ARN of resource", + "type": "string" + }, + "filters": { + "description": "Filters is a set of key/value pairs used to identify a resource", + "type": "array", + "uniqueItems": true, + "items": { + "description": "Filter is a filter used to identify an AWS resource", + "type": "object", + "properties": { + "name": { + "description": "Name of the filter. Filter names are case-sensitive", + "type": "string" + }, + "values": { + "description": "Values includes one or more filter values. Filter values are case-sensitive", + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + } + } + } + }, + "id": { + "description": "ID of resource", + "type": "string" + } + } + } + }, + "azs": { + "type": "array", + "items": { + "type": "string" + } + }, + "capacityType": { + "description": "EC2 instance capacity type", + "type": "string", + "default": "on-demand", + "enum": [ + "on-demand", + "spot" + ] + }, + "instanceType": { + "description": "instance type", "type": "string" }, - "errors": { + "rootDeviceSize": { + "description": "rootDeviceSize in GBs", + "type": "integer", + "format": "int64", + "maximum": 2000, + "minimum": 1 + }, + "spotMarketOptions": { + "description": "SpotMarketOptions defines the options available to a user when configuring Machines to run on Spot instances. Most users should provide an empty struct.", + "type": "object", + "properties": { + "maxPrice": { + "description": "MaxPrice defines the maximum price the user is willing to pay for Spot VM instances", + "type": "string" + } + } + }, + "subnets": { "type": "array", - "uniqueItems": true, "items": { - "type": "object", "properties": { - "code": { + "az": { "type": "string" }, - "message": { + "id": { "type": "string" } } } + } + } + }, + "poolConfig": { + "description": "Machine pool configuration for the cluster", + "type": "object", + "required": [ + "name", + "size", + "labels" + ], + "properties": { + "additionalLabels": { + "description": "Additional labels to be part of the machine pool", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "additionalTags": { + "description": "AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "isControlPlane": { + "description": "Whether this pool is for control plane", + "type": "boolean", + "x-omitempty": false + }, + "labels": { + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", + "type": "array", + "items": { + "type": "string" + } + }, + "machinePoolProperties": { + "description": "Machine pool specific properties", + "type": "object", + "properties": { + "archType": { + "type": "string", + "default": "amd64", + "enum": [ + "amd64", + "arm64" + ] + } + } + }, + "maxSize": { + "description": "Max size of the pool, for scaling", + "type": "integer", + "format": "int32" + }, + "minSize": { + "description": "Min size of the pool, for scaling", + "type": "integer", + "format": "int32" }, "name": { "type": "string" + }, + "nodeRepaveInterval": { + "description": "Minimum number of seconds a node should be Ready, before the next node is selected for repave. Applicable only for workerpools in infrastructure cluster", + "type": "integer", + "format": "int32" + }, + "size": { + "description": "Size of the pool, number of nodes/machines", + "type": "integer", + "format": "int32" + }, + "taints": { + "description": "control plane or worker taints", + "type": "array", + "uniqueItems": true, + "items": { + "description": "Taint", + "type": "object", + "properties": { + "effect": { + "type": "string", + "enum": [ + "NoSchedule", + "PreferNoSchedule", + "NoExecute" + ] + }, + "key": { + "description": "The taint key to be applied to a node", + "type": "string" + }, + "timeAdded": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "value": { + "description": "The taint value corresponding to the taint key.", + "type": "string" + } + } + } + }, + "updateStrategy": { + "description": "UpdatesStrategy will be used to translate to RollingUpdateStrategy of a MachineDeployment We'll start with default values for the translation, can expose more details later Following is details of parameters translated from the type ScaleOut =\u003e maxSurge=1, maxUnavailable=0 ScaleIn =\u003e maxSurge=0, maxUnavailable=1", + "type": "object", + "properties": { + "type": { + "description": "update strategy, either ScaleOut or ScaleIn if empty, will default to RollingUpdateScaleOut", + "type": "string", + "enum": [ + "RollingUpdateScaleOut", + "RollingUpdateScaleIn" + ] + } + } + }, + "useControlPlaneAsWorker": { + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", + "type": "boolean", + "x-omitempty": false } } } } } - }, - "profiles": { + } + } + } + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "200": { + "description": "Aws Cluster estimated rate response", + "schema": { + "description": "Cluster estimated rate information", + "type": "object", + "properties": { + "machinePools": { "type": "array", - "uniqueItems": true, "items": { - "description": "Cluster profile validator response", + "description": "Machine pool estimated rate information", "type": "object", "properties": { - "packs": { - "description": "Constraint validator response", + "name": { + "type": "string" + }, + "nodesCount": { + "type": "integer", + "format": "int32" + }, + "rate": { + "description": "Cloud estimated rate information", "type": "object", "properties": { - "results": { + "compute": { + "description": "Compute estimated rate information", + "type": "object", + "properties": { + "rate": { + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "type": { + "type": "string" + } + } + }, + "storage": { "type": "array", - "uniqueItems": true, "items": { - "description": "Constraint validator result", + "description": "Storage estimated rate information", "type": "object", "properties": { - "displayName": { - "type": "string" + "iops": { + "type": "number", + "format": "float64" }, - "errors": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "object", - "properties": { - "code": { - "type": "string" - }, - "message": { - "type": "string" - } - } - } + "rate": { + "type": "number", + "format": "float64", + "x-omitempty": false }, - "name": { + "sizeGB": { + "type": "number", + "format": "float64" + }, + "throughput": { + "type": "number", + "format": "float64" + }, + "type": { "type": "string" } } } + }, + "total": { + "type": "number", + "format": "float64", + "x-omitempty": false + } + } + } + } + } + }, + "name": { + "type": "string" + }, + "rate": { + "description": "Cluster total estimated rate information", + "type": "object", + "properties": { + "compute": { + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "storage": { + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "total": { + "type": "number", + "format": "float64", + "x-omitempty": false + } + } + }, + "resourceMetadata": { + "description": "Cloud resource metadata", + "type": "object", + "properties": { + "instanceTypes": { + "type": "object", + "additionalProperties": { + "description": "Cloud Instance type details", + "type": "object", + "properties": { + "category": { + "description": "Category of instance type", + "type": "string", + "x-go-name": "Category" + }, + "cost": { + "description": "Instance cost entity", + "type": "object", + "properties": { + "price": { + "description": "Array of cloud instance price", + "type": "array", + "items": { + "description": "Cloud instance price", + "type": "object", + "properties": { + "onDemand": { + "description": "OnDemand price of instance", + "type": "number", + "format": "double" + }, + "os": { + "description": "Os associated with instance price. Allowed values - [linux, windows]", + "type": "string", + "enum": [ + "linux", + "windows" + ] + }, + "spot": { + "description": "Spot price of instance", + "type": "number", + "format": "double" + } + } + } + } + } + }, + "cpu": { + "description": "Cpu of instance type", + "type": "number", + "format": "double", + "x-go-name": "Cpu" + }, + "gpu": { + "description": "Gpu of instance type", + "type": "number", + "format": "double", + "x-go-name": "Gpu" + }, + "memory": { + "description": "Memory of instance type", + "type": "number", + "format": "double", + "x-go-name": "Memory" + }, + "nonSupportedZones": { + "description": "Non supported zones of the instance in a particular region", + "type": "array", + "items": { + "type": "string" + } + }, + "price": { + "description": "Price of instance type", + "type": "number", + "format": "double", + "x-go-name": "Price" + }, + "supportedArchitectures": { + "description": "Supported architecture of the instance", + "type": "array", + "items": { + "type": "string" + } + }, + "type": { + "description": "Type of instance type", + "type": "string", + "x-go-name": "Type" + } + } + } + }, + "storageTypes": { + "type": "object", + "additionalProperties": { + "description": "Cloud cloud Storage type details", + "type": "object", + "properties": { + "cost": { + "description": "Cloud storage cost", + "type": "object", + "properties": { + "discountedUsage": { + "description": "Cloud storage upper limit which is free.", + "type": "string" + }, + "price": { + "description": "Array of cloud storage range prices", + "type": "array", + "items": { + "description": "Cloud storage price within an upper limit.", + "type": "object", + "properties": { + "limit": { + "description": "Upper limit of cloud storage usage", + "type": "string" + }, + "price": { + "description": "Price of cloud storage type", + "type": "string" + } + } + } + } + } + }, + "iopsCost": { + "description": "Cloud storage cost", + "type": "object", + "properties": { + "discountedUsage": { + "description": "Cloud storage upper limit which is free.", + "type": "string" + }, + "price": { + "description": "Array of cloud storage range prices", + "type": "array", + "items": { + "description": "Cloud storage price within an upper limit.", + "type": "object", + "properties": { + "limit": { + "description": "Upper limit of cloud storage usage", + "type": "string" + }, + "price": { + "description": "Price of cloud storage type", + "type": "string" + } + } + } + } + } + }, + "kind": { + "description": "kind of storage type", + "type": "string" + }, + "name": { + "description": "Name of the storage type", + "type": "string" + }, + "throughputCost": { + "description": "Cloud storage cost", + "type": "object", + "properties": { + "discountedUsage": { + "description": "Cloud storage upper limit which is free.", + "type": "string" + }, + "price": { + "description": "Array of cloud storage range prices", + "type": "array", + "items": { + "description": "Cloud storage price within an upper limit.", + "type": "object", + "properties": { + "limit": { + "description": "Upper limit of cloud storage usage", + "type": "string" + }, + "price": { + "description": "Price of cloud storage type", + "type": "string" + } + } + } + } + } } } - }, - "uid": { - "description": "Cluster profile uid", - "type": "string" } } } @@ -130236,7 +115506,7 @@ } } }, - "/v1/spectroclusters/edge": { + "/v1/spectroclusters/aws/validate": { "post": { "security": [ { @@ -130249,14 +115519,14 @@ "tags": [ "v1" ], - "summary": "Creates a Edge cluster", - "operationId": "v1SpectroClustersEdgeCreate", + "summary": "Validates AWS cluster create operation", + "operationId": "v1SpectroClustersAwsValidate", "parameters": [ { "name": "body", "in": "body", "schema": { - "description": "Edge cluster request payload for create and update", + "description": "AWS cluster request payload for create and update", "type": "object", "properties": { "metadata": { @@ -130264,7 +115534,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -130281,7 +115551,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -130293,28 +115563,51 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, "spec": { "type": "object", + "required": [ + "cloudType", + "cloudAccountUid", + "cloudConfig" + ], "properties": { + "cloudAccountUid": { + "description": "Cloud account uid to be used for cluster provisioning", + "type": "string" + }, "cloudConfig": { - "description": "EdgeClusterConfig defines Edge Cluster specific Spec", + "description": "Cluster level configuration for aws cloud and applicable for all the machine pools", "type": "object", + "required": [ + "region" + ], "properties": { - "sshKeys": { - "description": "SSHKeys specifies a list of ssh authorized keys to access the vms as a 'spectro' user", - "type": "array", - "items": { - "type": "string" - } + "bastionDisabled": { + "description": "Create bastion node option we have earlier supported creation of bastion by default capa seems to favour session manager against bastion node https://github.com/kubernetes-sigs/cluster-api-provider-aws/issues/947", + "type": "boolean" + }, + "controlPlaneLoadBalancer": { + "description": "ControlPlaneLoadBalancer specifies how API server elb will be configured, this field is optional, not provided, \"\", default =\u003e \"Internet-facing\" \"Internet-facing\" =\u003e \"Internet-facing\" \"internal\" =\u003e \"internal\" For spectro saas setup we require to talk to the apiserver from our cluster so ControlPlaneLoadBalancer should be \"\", not provided or \"Internet-facing\"", + "type": "string" + }, + "region": { + "type": "string" + }, + "sshKeyName": { + "type": "string" + }, + "vpcId": { + "description": "VPC Id to deploy cluster into should have one public and one private subnet for the the cluster creation, this field is optional, If VPC Id is not provided a fully managed VPC will be created", + "type": "string" } } }, @@ -130387,11 +115680,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -130405,11 +115698,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -130723,21 +116016,101 @@ "type": "array", "items": { "type": "object", + "required": [ + "cloudConfig" + ], "properties": { "cloudConfig": { + "type": "object", "required": [ - "edgeHosts" + "instanceType" ], "properties": { - "edgeHosts": { + "additionalSecurityGroups": { + "description": "Additional Security groups", "type": "array", - "uniqueItems": true, "items": { - "required": [ - "hostUid" - ], + "description": "AWSResourceReference is a reference to a specific AWS resource by ID or filters", + "type": "object", "properties": { - "hostUid": { + "arn": { + "description": "ARN of resource", + "type": "string" + }, + "filters": { + "description": "Filters is a set of key/value pairs used to identify a resource", + "type": "array", + "uniqueItems": true, + "items": { + "description": "Filter is a filter used to identify an AWS resource", + "type": "object", + "properties": { + "name": { + "description": "Name of the filter. Filter names are case-sensitive", + "type": "string" + }, + "values": { + "description": "Values includes one or more filter values. Filter values are case-sensitive", + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + } + } + } + }, + "id": { + "description": "ID of resource", + "type": "string" + } + } + } + }, + "azs": { + "type": "array", + "items": { + "type": "string" + } + }, + "capacityType": { + "description": "EC2 instance capacity type", + "type": "string", + "default": "on-demand", + "enum": [ + "on-demand", + "spot" + ] + }, + "instanceType": { + "description": "instance type", + "type": "string" + }, + "rootDeviceSize": { + "description": "rootDeviceSize in GBs", + "type": "integer", + "format": "int64", + "maximum": 2000, + "minimum": 1 + }, + "spotMarketOptions": { + "description": "SpotMarketOptions defines the options available to a user when configuring Machines to run on Spot instances. Most users should provide an empty struct.", + "type": "object", + "properties": { + "maxPrice": { + "description": "MaxPrice defines the maximum price the user is willing to pay for Spot VM instances", + "type": "string" + } + } + }, + "subnets": { + "type": "array", + "items": { + "properties": { + "az": { + "type": "string" + }, + "id": { "type": "string" } } @@ -130774,7 +116147,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -130818,7 +116191,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -130864,7 +116237,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -131041,6 +116414,26 @@ "uid": { "description": "Cluster profile uid", "type": "string" + }, + "variables": { + "type": "array", + "items": { + "description": "Variable with value which will be used within the packs of cluster profile", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Variable name", + "type": "string" + }, + "value": { + "description": "Actual value of the variable to be used within the cluster", + "type": "string" + } + } + } } } } @@ -131058,30 +116451,107 @@ } ], "responses": { - "201": { - "description": "Created successfully", + "200": { + "description": "Aws Cluster validation response", "schema": { + "description": "Cluster validator response", "type": "object", - "required": [ - "uid" - ], "properties": { - "uid": { - "type": "string" + "machinePools": { + "description": "Constraint validator response", + "type": "object", + "properties": { + "results": { + "type": "array", + "uniqueItems": true, + "items": { + "description": "Constraint validator result", + "type": "object", + "properties": { + "displayName": { + "type": "string" + }, + "errors": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + } + } + } + }, + "name": { + "type": "string" + } + } + } + } + } + }, + "profiles": { + "type": "array", + "uniqueItems": true, + "items": { + "description": "Cluster profile validator response", + "type": "object", + "properties": { + "packs": { + "description": "Constraint validator response", + "type": "object", + "properties": { + "results": { + "type": "array", + "uniqueItems": true, + "items": { + "description": "Constraint validator result", + "type": "object", + "properties": { + "displayName": { + "type": "string" + }, + "errors": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + } + } + } + }, + "name": { + "type": "string" + } + } + } + } + } + }, + "uid": { + "description": "Cluster profile uid", + "type": "string" + } + } + } } } - }, - "headers": { - "AuditUid": { - "type": "string", - "description": "Audit uid for the request" - } } } } } }, - "/v1/spectroclusters/edge-native": { + "/v1/spectroclusters/azure": { "post": { "security": [ { @@ -131094,14 +116564,14 @@ "tags": [ "v1" ], - "summary": "Creates an EdgeNative cluster", - "operationId": "v1SpectroClustersEdgeNativeCreate", + "summary": "Creates an Azure cluster", + "operationId": "v1SpectroClustersAzureCreate", "parameters": [ { "name": "body", "in": "body", "schema": { - "description": "EdgeNative cluster create or update request payload", + "description": "Azure cluster request payload for create and update", "type": "object", "properties": { "metadata": { @@ -131109,7 +116579,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -131126,7 +116596,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -131138,72 +116608,183 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, "spec": { "type": "object", + "required": [ + "cloudType", + "cloudAccountUid", + "cloudConfig" + ], "properties": { + "cloudAccountUid": { + "description": "Cloud account uid to be used for cluster provisioning", + "type": "string" + }, "cloudConfig": { - "description": "EdgeNativeClusterConfig definnes Edge Native Cluster specific Spec", + "description": "Cluster level configuration for Azure cloud and applicable for all the machine pools", "type": "object", + "required": [ + "subscriptionId", + "location", + "sshKey" + ], "properties": { - "controlPlaneEndpoint": { + "aadProfile": { + "description": "AADProfile - AAD integration is managed by AKS.", "type": "object", + "required": [ + "managed", + "adminGroupObjectIDs" + ], "properties": { - "ddnsSearchDomain": { - "description": "DDNSSearchDomain is the search domain used for resolving IP addresses when the EndpointType is DDNS. This search domain is appended to the generated Hostname to obtain the complete DNS name for the endpoint. If Host is already a DDNS FQDN, DDNSSearchDomain is not required", - "type": "string" + "adminGroupObjectIDs": { + "description": "AdminGroupObjectIDs - AAD group object IDs that will have admin role of the cluster.", + "type": "array", + "items": { + "type": "string" + } }, - "host": { - "description": "Host is FQDN(DDNS) or IP", - "type": "string" + "managed": { + "description": "Managed - Whether to enable managed AAD.", + "type": "boolean", + "x-omitempty": false + } + } + }, + "apiServerAccessProfile": { + "description": "APIServerAccessProfile - access profile for AKS API server.", + "type": "object", + "properties": { + "authorizedIPRanges": { + "description": "AuthorizedIPRanges - Authorized IP Ranges to kubernetes API server.", + "type": "array", + "items": { + "type": "string", + "default": "" + } }, - "type": { - "description": "Type indicates DDNS or VIP", + "enablePrivateCluster": { + "description": "EnablePrivateCluster - Whether to create the cluster as a private cluster or not.", + "type": "boolean" + }, + "enablePrivateClusterPublicFQDN": { + "description": "EnablePrivateClusterPublicFQDN - Whether to create additional public FQDN for private cluster or not.", + "type": "boolean" + }, + "privateDNSZone": { + "description": "PrivateDNSZone - Private dns zone mode for private cluster.", "type": "string" } } }, - "ntpServers": { - "description": "NTPServers is a list of NTP servers to use instead of the machine image's default NTP server list", - "type": "array", - "items": { - "type": "string", - "default": "" - } + "containerName": { + "type": "string" }, - "overlayNetworkConfiguration": { + "controlPlaneSubnet": { "type": "object", "properties": { - "cidr": { - "description": "CIDR is the CIDR of the overlay network", + "cidrBlock": { + "description": "CidrBlock is the CIDR block to be used when the provider creates a managed Vnet.", "type": "string" }, - "enable": { - "description": "Enable is a flag to enable overlay network", - "type": "boolean", - "x-omitempty": false + "name": { + "type": "string" + }, + "securityGroupName": { + "description": "Network Security Group(NSG) to be attached to subnet. NSG for a control plane subnet, should allow inbound to port 6443, as port 6443 is used by kubeadm to bootstrap the control planes", + "type": "string" } } }, - "sshKeys": { - "description": "SSHKeys specifies a list of ssh authorized keys to access the vms as a 'spectro' user", - "type": "array", - "items": { - "type": "string", - "default": "" + "enablePrivateCluster": { + "description": "Deprecated. use apiServerAccessProfile.enablePrivateCluster", + "type": "boolean" + }, + "infraLBConfig": { + "type": "object", + "properties": { + "apiServerLB": { + "description": "LoadBalancerSpec defines an Azure load balancer.", + "type": "object", + "properties": { + "apiServerLBStaticIP": { + "type": "string" + }, + "ipAllocationMethod": { + "type": "string", + "default": "Dynamic", + "enum": [ + "Static", + "Dynamic" + ] + }, + "privateDNSName": { + "type": "string" + }, + "type": { + "description": "Load Balancer type", + "type": "string", + "default": "Public", + "enum": [ + "Internal", + "Public" + ] + } + } + } } }, - "staticIp": { - "description": "StaticIP indicates if IP allocation type is static IP. DHCP is the default allocation type", - "type": "boolean" + "location": { + "description": "Location is the Azure datacenter location", + "type": "string" + }, + "resourceGroup": { + "type": "string" + }, + "sshKey": { + "type": "string" + }, + "storageAccountName": { + "type": "string" + }, + "subscriptionId": { + "description": "Subscription ID is unique identifier for the subscription used to access Azure services", + "type": "string" + }, + "vnetCidrBlock": { + "type": "string" + }, + "vnetName": { + "description": "VNETName is the virtual network in which the cluster is to be provisioned.", + "type": "string" + }, + "vnetResourceGroup": { + "type": "string" + }, + "workerSubnet": { + "type": "object", + "properties": { + "cidrBlock": { + "description": "CidrBlock is the CIDR block to be used when the provider creates a managed Vnet.", + "type": "string" + }, + "name": { + "type": "string" + }, + "securityGroupName": { + "description": "Network Security Group(NSG) to be attached to subnet. NSG for a control plane subnet, should allow inbound to port 6443, as port 6443 is used by kubeadm to bootstrap the control planes", + "type": "string" + } + } } } }, @@ -131276,11 +116857,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -131294,11 +116875,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -131311,6 +116892,16 @@ } } }, + "lifecycleConfig": { + "properties": { + "pause": { + "description": "enable pause life cycle config", + "type": "boolean", + "default": false, + "x-omitempty": false + } + } + }, "location": { "description": "Cluster location information", "type": "object", @@ -131351,6 +116942,35 @@ } } }, + "machineManagementConfig": { + "type": "object", + "properties": { + "osPatchConfig": { + "type": "object", + "properties": { + "onDemandPatchAfter": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "patchOnBoot": { + "description": "PatchOnBoot indicates need to do patch when node first boot up, only once", + "type": "boolean", + "x-omitempty": false + }, + "rebootIfRequired": { + "description": "Reboot once the OS patch is applied", + "type": "boolean", + "x-omitempty": false + }, + "schedule": { + "description": "The schedule at which security patches will be applied to OS. Schedule should be in Cron format, see https://en.wikipedia.org/wiki/Cron for more help.", + "type": "string" + } + } + } + } + }, "resources": { "type": "object", "properties": { @@ -131573,78 +117193,72 @@ "type": "array", "items": { "type": "object", + "required": [ + "cloudConfig" + ], "properties": { "cloudConfig": { - "required": [ - "edgeHosts" - ], + "type": "object", "properties": { - "edgeHosts": { + "azs": { "type": "array", - "uniqueItems": true, "items": { - "required": [ - "hostUid" - ], - "properties": { - "hostName": { - "description": "Edge host name", - "type": "string" - }, - "hostUid": { - "description": "Edge host id", - "type": "string" - }, - "nic": { - "type": "object", - "properties": { - "dns": { - "type": "array", - "items": { - "type": "string" - } - }, - "gateway": { - "type": "string" - }, - "ip": { - "type": "string" - }, - "isDefault": { - "type": "boolean" - }, - "macAddr": { - "type": "string" - }, - "nicName": { - "type": "string" - }, - "subnet": { - "type": "string" - } + "type": "string" + } + }, + "instanceType": { + "description": "Instance type stands for VMSize in Azure", + "type": "string" + }, + "isSystemNodePool": { + "description": "whether this pool is for system node Pool", + "type": "boolean" + }, + "osDisk": { + "type": "object", + "properties": { + "diskSizeGB": { + "type": "integer", + "format": "int32" + }, + "managedDisk": { + "type": "object", + "properties": { + "storageAccountType": { + "type": "string" } - }, - "nicName": { - "description": "Deprecated - Edge host nic name", - "type": "string" - }, - "staticIP": { - "description": "Deprecated - Edge host static IP", - "type": "string" - }, - "twoNodeCandidatePriority": { - "description": "Set the edgehost candidate priority as primary or secondary, if the edgehost is nominated as two node candidate", - "type": "string", - "enum": [ - "primary", - "secondary" - ] } + }, + "osType": { + "type": "string", + "default": "Linux", + "enum": [ + "Linux", + "Windows" + ] } } } } }, + "managedPoolConfig": { + "type": "object", + "properties": { + "isSystemNodePool": { + "description": "whether this pool is for system node Pool", + "type": "boolean", + "x-omitempty": false + }, + "osType": { + "type": "string", + "default": "Linux", + "enum": [ + "Linux", + "Windows" + ] + } + } + }, "poolConfig": { "description": "Machine pool configuration for the cluster", "type": "object", @@ -131674,7 +117288,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -131718,7 +117332,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -131764,7 +117378,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -131941,6 +117555,26 @@ "uid": { "description": "Cluster profile uid", "type": "string" + }, + "variables": { + "type": "array", + "items": { + "description": "Variable with value which will be used within the packs of cluster profile", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Variable name", + "type": "string" + }, + "value": { + "description": "Actual value of the variable to be used within the cluster", + "type": "string" + } + } + } } } } @@ -131981,7 +117615,7 @@ } } }, - "/v1/spectroclusters/edge-native/import": { + "/v1/spectroclusters/azure/import": { "post": { "security": [ { @@ -131994,14 +117628,14 @@ "tags": [ "v1" ], - "summary": "Imports an EdgeNative cluster", - "operationId": "v1SpectroClustersEdgeNativeImport", + "summary": "Imports an Azure cluster", + "operationId": "v1SpectroClustersAzureImport", "parameters": [ { "name": "body", "in": "body", "schema": { - "description": "Spectro EdgeNative cluster import request payload", + "description": "Spectro Azure cluster import request payload", "type": "object", "properties": { "metadata": { @@ -132009,21 +117643,21 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } @@ -132105,7 +117739,7 @@ } } }, - "/v1/spectroclusters/edge-native/rate": { + "/v1/spectroclusters/azure/rate": { "post": { "security": [ { @@ -132118,8 +117752,8 @@ "tags": [ "v1" ], - "summary": "Get edge-native cluster estimated rate information", - "operationId": "v1SpectroClustersEdgeNativeRate", + "summary": "Get Azure cluster estimated rate information", + "operationId": "v1SpectroClustersAzureRate", "parameters": [ { "enum": [ @@ -132136,63 +117770,165 @@ "name": "body", "in": "body", "schema": { - "description": "Edge-native cluster request payload for estimating rate", + "description": "Spectro Azure cluster request payload for estimating rate", "type": "object", "properties": { "cloudConfig": { - "description": "EdgeNativeClusterConfig definnes Edge Native Cluster specific Spec", + "description": "Cluster level configuration for Azure cloud and applicable for all the machine pools", "type": "object", + "required": [ + "subscriptionId", + "location", + "sshKey" + ], "properties": { - "controlPlaneEndpoint": { + "aadProfile": { + "description": "AADProfile - AAD integration is managed by AKS.", "type": "object", + "required": [ + "managed", + "adminGroupObjectIDs" + ], "properties": { - "ddnsSearchDomain": { - "description": "DDNSSearchDomain is the search domain used for resolving IP addresses when the EndpointType is DDNS. This search domain is appended to the generated Hostname to obtain the complete DNS name for the endpoint. If Host is already a DDNS FQDN, DDNSSearchDomain is not required", - "type": "string" + "adminGroupObjectIDs": { + "description": "AdminGroupObjectIDs - AAD group object IDs that will have admin role of the cluster.", + "type": "array", + "items": { + "type": "string" + } }, - "host": { - "description": "Host is FQDN(DDNS) or IP", - "type": "string" + "managed": { + "description": "Managed - Whether to enable managed AAD.", + "type": "boolean", + "x-omitempty": false + } + } + }, + "apiServerAccessProfile": { + "description": "APIServerAccessProfile - access profile for AKS API server.", + "type": "object", + "properties": { + "authorizedIPRanges": { + "description": "AuthorizedIPRanges - Authorized IP Ranges to kubernetes API server.", + "type": "array", + "items": { + "type": "string", + "default": "" + } }, - "type": { - "description": "Type indicates DDNS or VIP", + "enablePrivateCluster": { + "description": "EnablePrivateCluster - Whether to create the cluster as a private cluster or not.", + "type": "boolean" + }, + "enablePrivateClusterPublicFQDN": { + "description": "EnablePrivateClusterPublicFQDN - Whether to create additional public FQDN for private cluster or not.", + "type": "boolean" + }, + "privateDNSZone": { + "description": "PrivateDNSZone - Private dns zone mode for private cluster.", "type": "string" } } }, - "ntpServers": { - "description": "NTPServers is a list of NTP servers to use instead of the machine image's default NTP server list", - "type": "array", - "items": { - "type": "string", - "default": "" - } + "containerName": { + "type": "string" }, - "overlayNetworkConfiguration": { + "controlPlaneSubnet": { "type": "object", "properties": { - "cidr": { - "description": "CIDR is the CIDR of the overlay network", + "cidrBlock": { + "description": "CidrBlock is the CIDR block to be used when the provider creates a managed Vnet.", "type": "string" }, - "enable": { - "description": "Enable is a flag to enable overlay network", - "type": "boolean", - "x-omitempty": false + "name": { + "type": "string" + }, + "securityGroupName": { + "description": "Network Security Group(NSG) to be attached to subnet. NSG for a control plane subnet, should allow inbound to port 6443, as port 6443 is used by kubeadm to bootstrap the control planes", + "type": "string" } } }, - "sshKeys": { - "description": "SSHKeys specifies a list of ssh authorized keys to access the vms as a 'spectro' user", - "type": "array", - "items": { - "type": "string", - "default": "" + "enablePrivateCluster": { + "description": "Deprecated. use apiServerAccessProfile.enablePrivateCluster", + "type": "boolean" + }, + "infraLBConfig": { + "type": "object", + "properties": { + "apiServerLB": { + "description": "LoadBalancerSpec defines an Azure load balancer.", + "type": "object", + "properties": { + "apiServerLBStaticIP": { + "type": "string" + }, + "ipAllocationMethod": { + "type": "string", + "default": "Dynamic", + "enum": [ + "Static", + "Dynamic" + ] + }, + "privateDNSName": { + "type": "string" + }, + "type": { + "description": "Load Balancer type", + "type": "string", + "default": "Public", + "enum": [ + "Internal", + "Public" + ] + } + } + } } }, - "staticIp": { - "description": "StaticIP indicates if IP allocation type is static IP. DHCP is the default allocation type", - "type": "boolean" + "location": { + "description": "Location is the Azure datacenter location", + "type": "string" + }, + "resourceGroup": { + "type": "string" + }, + "sshKey": { + "type": "string" + }, + "storageAccountName": { + "type": "string" + }, + "subscriptionId": { + "description": "Subscription ID is unique identifier for the subscription used to access Azure services", + "type": "string" + }, + "vnetCidrBlock": { + "type": "string" + }, + "vnetName": { + "description": "VNETName is the virtual network in which the cluster is to be provisioned.", + "type": "string" + }, + "vnetResourceGroup": { + "type": "string" + }, + "workerSubnet": { + "type": "object", + "properties": { + "cidrBlock": { + "description": "CidrBlock is the CIDR block to be used when the provider creates a managed Vnet.", + "type": "string" + }, + "name": { + "type": "string" + }, + "securityGroupName": { + "description": "Network Security Group(NSG) to be attached to subnet. NSG for a control plane subnet, should allow inbound to port 6443, as port 6443 is used by kubeadm to bootstrap the control planes", + "type": "string" + } + } } } }, @@ -132200,78 +117936,72 @@ "type": "array", "items": { "type": "object", + "required": [ + "cloudConfig" + ], "properties": { "cloudConfig": { - "required": [ - "edgeHosts" - ], + "type": "object", "properties": { - "edgeHosts": { + "azs": { "type": "array", - "uniqueItems": true, "items": { - "required": [ - "hostUid" - ], - "properties": { - "hostName": { - "description": "Edge host name", - "type": "string" - }, - "hostUid": { - "description": "Edge host id", - "type": "string" - }, - "nic": { - "type": "object", - "properties": { - "dns": { - "type": "array", - "items": { - "type": "string" - } - }, - "gateway": { - "type": "string" - }, - "ip": { - "type": "string" - }, - "isDefault": { - "type": "boolean" - }, - "macAddr": { - "type": "string" - }, - "nicName": { - "type": "string" - }, - "subnet": { - "type": "string" - } - } - }, - "nicName": { - "description": "Deprecated - Edge host nic name", - "type": "string" - }, - "staticIP": { - "description": "Deprecated - Edge host static IP", - "type": "string" - }, - "twoNodeCandidatePriority": { - "description": "Set the edgehost candidate priority as primary or secondary, if the edgehost is nominated as two node candidate", - "type": "string", - "enum": [ - "primary", - "secondary" - ] + "type": "string" + } + }, + "instanceType": { + "description": "Instance type stands for VMSize in Azure", + "type": "string" + }, + "isSystemNodePool": { + "description": "whether this pool is for system node Pool", + "type": "boolean" + }, + "osDisk": { + "type": "object", + "properties": { + "diskSizeGB": { + "type": "integer", + "format": "int32" + }, + "managedDisk": { + "type": "object", + "properties": { + "storageAccountType": { + "type": "string" + } } + }, + "osType": { + "type": "string", + "default": "Linux", + "enum": [ + "Linux", + "Windows" + ] } } } } }, + "managedPoolConfig": { + "type": "object", + "properties": { + "isSystemNodePool": { + "description": "whether this pool is for system node Pool", + "type": "boolean", + "x-omitempty": false + }, + "osType": { + "type": "string", + "default": "Linux", + "enum": [ + "Linux", + "Windows" + ] + } + } + }, "poolConfig": { "description": "Machine pool configuration for the cluster", "type": "object", @@ -132301,7 +118031,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -132345,7 +118075,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -132391,7 +118121,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -132412,7 +118142,7 @@ ], "responses": { "200": { - "description": "EdgeNative Cluster estimated rate response", + "description": "Azure Cluster estimated rate response", "schema": { "description": "Cluster estimated rate information", "type": "object", @@ -132715,7 +118445,7 @@ } } }, - "/v1/spectroclusters/edge-native/validate": { + "/v1/spectroclusters/azure/validate": { "post": { "security": [ { @@ -132728,14 +118458,14 @@ "tags": [ "v1" ], - "summary": "Validates edge-native cluster create operation", - "operationId": "v1SpectroClustersEdgeNativeValidate", + "summary": "Validates Azure cluster create operation", + "operationId": "v1SpectroClustersAzureValidate", "parameters": [ { "name": "body", "in": "body", "schema": { - "description": "EdgeNative cluster create or update request payload", + "description": "Azure cluster request payload for create and update", "type": "object", "properties": { "metadata": { @@ -132743,7 +118473,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -132760,7 +118490,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -132772,72 +118502,183 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, "spec": { "type": "object", + "required": [ + "cloudType", + "cloudAccountUid", + "cloudConfig" + ], "properties": { + "cloudAccountUid": { + "description": "Cloud account uid to be used for cluster provisioning", + "type": "string" + }, "cloudConfig": { - "description": "EdgeNativeClusterConfig definnes Edge Native Cluster specific Spec", + "description": "Cluster level configuration for Azure cloud and applicable for all the machine pools", "type": "object", + "required": [ + "subscriptionId", + "location", + "sshKey" + ], "properties": { - "controlPlaneEndpoint": { + "aadProfile": { + "description": "AADProfile - AAD integration is managed by AKS.", "type": "object", + "required": [ + "managed", + "adminGroupObjectIDs" + ], "properties": { - "ddnsSearchDomain": { - "description": "DDNSSearchDomain is the search domain used for resolving IP addresses when the EndpointType is DDNS. This search domain is appended to the generated Hostname to obtain the complete DNS name for the endpoint. If Host is already a DDNS FQDN, DDNSSearchDomain is not required", - "type": "string" + "adminGroupObjectIDs": { + "description": "AdminGroupObjectIDs - AAD group object IDs that will have admin role of the cluster.", + "type": "array", + "items": { + "type": "string" + } }, - "host": { - "description": "Host is FQDN(DDNS) or IP", - "type": "string" + "managed": { + "description": "Managed - Whether to enable managed AAD.", + "type": "boolean", + "x-omitempty": false + } + } + }, + "apiServerAccessProfile": { + "description": "APIServerAccessProfile - access profile for AKS API server.", + "type": "object", + "properties": { + "authorizedIPRanges": { + "description": "AuthorizedIPRanges - Authorized IP Ranges to kubernetes API server.", + "type": "array", + "items": { + "type": "string", + "default": "" + } }, - "type": { - "description": "Type indicates DDNS or VIP", + "enablePrivateCluster": { + "description": "EnablePrivateCluster - Whether to create the cluster as a private cluster or not.", + "type": "boolean" + }, + "enablePrivateClusterPublicFQDN": { + "description": "EnablePrivateClusterPublicFQDN - Whether to create additional public FQDN for private cluster or not.", + "type": "boolean" + }, + "privateDNSZone": { + "description": "PrivateDNSZone - Private dns zone mode for private cluster.", "type": "string" } } }, - "ntpServers": { - "description": "NTPServers is a list of NTP servers to use instead of the machine image's default NTP server list", - "type": "array", - "items": { - "type": "string", - "default": "" - } + "containerName": { + "type": "string" }, - "overlayNetworkConfiguration": { + "controlPlaneSubnet": { "type": "object", "properties": { - "cidr": { - "description": "CIDR is the CIDR of the overlay network", + "cidrBlock": { + "description": "CidrBlock is the CIDR block to be used when the provider creates a managed Vnet.", "type": "string" }, - "enable": { - "description": "Enable is a flag to enable overlay network", - "type": "boolean", - "x-omitempty": false + "name": { + "type": "string" + }, + "securityGroupName": { + "description": "Network Security Group(NSG) to be attached to subnet. NSG for a control plane subnet, should allow inbound to port 6443, as port 6443 is used by kubeadm to bootstrap the control planes", + "type": "string" } } }, - "sshKeys": { - "description": "SSHKeys specifies a list of ssh authorized keys to access the vms as a 'spectro' user", - "type": "array", - "items": { - "type": "string", - "default": "" + "enablePrivateCluster": { + "description": "Deprecated. use apiServerAccessProfile.enablePrivateCluster", + "type": "boolean" + }, + "infraLBConfig": { + "type": "object", + "properties": { + "apiServerLB": { + "description": "LoadBalancerSpec defines an Azure load balancer.", + "type": "object", + "properties": { + "apiServerLBStaticIP": { + "type": "string" + }, + "ipAllocationMethod": { + "type": "string", + "default": "Dynamic", + "enum": [ + "Static", + "Dynamic" + ] + }, + "privateDNSName": { + "type": "string" + }, + "type": { + "description": "Load Balancer type", + "type": "string", + "default": "Public", + "enum": [ + "Internal", + "Public" + ] + } + } + } } }, - "staticIp": { - "description": "StaticIP indicates if IP allocation type is static IP. DHCP is the default allocation type", - "type": "boolean" + "location": { + "description": "Location is the Azure datacenter location", + "type": "string" + }, + "resourceGroup": { + "type": "string" + }, + "sshKey": { + "type": "string" + }, + "storageAccountName": { + "type": "string" + }, + "subscriptionId": { + "description": "Subscription ID is unique identifier for the subscription used to access Azure services", + "type": "string" + }, + "vnetCidrBlock": { + "type": "string" + }, + "vnetName": { + "description": "VNETName is the virtual network in which the cluster is to be provisioned.", + "type": "string" + }, + "vnetResourceGroup": { + "type": "string" + }, + "workerSubnet": { + "type": "object", + "properties": { + "cidrBlock": { + "description": "CidrBlock is the CIDR block to be used when the provider creates a managed Vnet.", + "type": "string" + }, + "name": { + "type": "string" + }, + "securityGroupName": { + "description": "Network Security Group(NSG) to be attached to subnet. NSG for a control plane subnet, should allow inbound to port 6443, as port 6443 is used by kubeadm to bootstrap the control planes", + "type": "string" + } + } } } }, @@ -132910,11 +118751,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -132928,11 +118769,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -132945,6 +118786,16 @@ } } }, + "lifecycleConfig": { + "properties": { + "pause": { + "description": "enable pause life cycle config", + "type": "boolean", + "default": false, + "x-omitempty": false + } + } + }, "location": { "description": "Cluster location information", "type": "object", @@ -132985,6 +118836,35 @@ } } }, + "machineManagementConfig": { + "type": "object", + "properties": { + "osPatchConfig": { + "type": "object", + "properties": { + "onDemandPatchAfter": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "patchOnBoot": { + "description": "PatchOnBoot indicates need to do patch when node first boot up, only once", + "type": "boolean", + "x-omitempty": false + }, + "rebootIfRequired": { + "description": "Reboot once the OS patch is applied", + "type": "boolean", + "x-omitempty": false + }, + "schedule": { + "description": "The schedule at which security patches will be applied to OS. Schedule should be in Cron format, see https://en.wikipedia.org/wiki/Cron for more help.", + "type": "string" + } + } + } + } + }, "resources": { "type": "object", "properties": { @@ -133207,78 +119087,72 @@ "type": "array", "items": { "type": "object", + "required": [ + "cloudConfig" + ], "properties": { "cloudConfig": { - "required": [ - "edgeHosts" - ], + "type": "object", "properties": { - "edgeHosts": { + "azs": { "type": "array", - "uniqueItems": true, "items": { - "required": [ - "hostUid" - ], - "properties": { - "hostName": { - "description": "Edge host name", - "type": "string" - }, - "hostUid": { - "description": "Edge host id", - "type": "string" - }, - "nic": { - "type": "object", - "properties": { - "dns": { - "type": "array", - "items": { - "type": "string" - } - }, - "gateway": { - "type": "string" - }, - "ip": { - "type": "string" - }, - "isDefault": { - "type": "boolean" - }, - "macAddr": { - "type": "string" - }, - "nicName": { - "type": "string" - }, - "subnet": { - "type": "string" - } + "type": "string" + } + }, + "instanceType": { + "description": "Instance type stands for VMSize in Azure", + "type": "string" + }, + "isSystemNodePool": { + "description": "whether this pool is for system node Pool", + "type": "boolean" + }, + "osDisk": { + "type": "object", + "properties": { + "diskSizeGB": { + "type": "integer", + "format": "int32" + }, + "managedDisk": { + "type": "object", + "properties": { + "storageAccountType": { + "type": "string" } - }, - "nicName": { - "description": "Deprecated - Edge host nic name", - "type": "string" - }, - "staticIP": { - "description": "Deprecated - Edge host static IP", - "type": "string" - }, - "twoNodeCandidatePriority": { - "description": "Set the edgehost candidate priority as primary or secondary, if the edgehost is nominated as two node candidate", - "type": "string", - "enum": [ - "primary", - "secondary" - ] } + }, + "osType": { + "type": "string", + "default": "Linux", + "enum": [ + "Linux", + "Windows" + ] } } } } }, + "managedPoolConfig": { + "type": "object", + "properties": { + "isSystemNodePool": { + "description": "whether this pool is for system node Pool", + "type": "boolean", + "x-omitempty": false + }, + "osType": { + "type": "string", + "default": "Linux", + "enum": [ + "Linux", + "Windows" + ] + } + } + }, "poolConfig": { "description": "Machine pool configuration for the cluster", "type": "object", @@ -133308,7 +119182,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -133352,7 +119226,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -133398,7 +119272,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -133452,50 +119326,694 @@ "scheduledRunTime": { "type": "string" } - } - } - } - }, - "scanPolicy": { - "description": "Cluster compliance scan schedule configuration", - "properties": { - "kubeBench": { - "description": "Cluster compliance scan schedule config for kube bench driver", - "properties": { - "schedule": { - "description": "Cluster feature schedule", - "properties": { - "scheduledRunTime": { - "type": "string" - } - } - } - } - }, - "kubeHunter": { - "description": "Cluster compliance scan schedule config for kube hunter driver", - "properties": { - "schedule": { - "description": "Cluster feature schedule", + } + } + } + }, + "scanPolicy": { + "description": "Cluster compliance scan schedule configuration", + "properties": { + "kubeBench": { + "description": "Cluster compliance scan schedule config for kube bench driver", + "properties": { + "schedule": { + "description": "Cluster feature schedule", + "properties": { + "scheduledRunTime": { + "type": "string" + } + } + } + } + }, + "kubeHunter": { + "description": "Cluster compliance scan schedule config for kube hunter driver", + "properties": { + "schedule": { + "description": "Cluster feature schedule", + "properties": { + "scheduledRunTime": { + "type": "string" + } + } + } + } + }, + "sonobuoy": { + "description": "Cluster compliance scan schedule config for sonobuoy driver", + "properties": { + "schedule": { + "description": "Cluster feature schedule", + "properties": { + "scheduledRunTime": { + "type": "string" + } + } + } + } + } + } + } + } + }, + "profiles": { + "type": "array", + "items": { + "description": "Cluster profile request payload", + "type": "object", + "properties": { + "packValues": { + "description": "Cluster profile packs array", + "type": "array", + "uniqueItems": true, + "items": { + "description": "Pack values entity to refer the existing pack for the values override", + "type": "object", + "required": [ + "name" + ], + "properties": { + "manifests": { + "description": "Pack manifests are additional content as part of the profile", + "type": "array", + "items": { + "description": "Manifest update request payload", + "required": [ + "name" + ], + "properties": { + "content": { + "description": "Manifest content in yaml", + "type": "string" + }, + "name": { + "description": "Manifest name", + "type": "string" + }, + "uid": { + "description": "Manifest uid", + "type": "string" + } + } + } + }, + "name": { + "description": "Pack name", + "type": "string" + }, + "tag": { + "description": "Pack version tag", + "type": "string" + }, + "type": { + "type": "string", + "default": "spectro", + "enum": [ + "spectro", + "helm", + "manifest", + "oci" + ] + }, + "values": { + "description": "Pack values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", + "type": "string" + } + } + } + }, + "replaceWithProfile": { + "description": "Cluster profile uid to be replaced with new profile", + "type": "string" + }, + "uid": { + "description": "Cluster profile uid", + "type": "string" + }, + "variables": { + "type": "array", + "items": { + "description": "Variable with value which will be used within the packs of cluster profile", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Variable name", + "type": "string" + }, + "value": { + "description": "Actual value of the variable to be used within the cluster", + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "200": { + "description": "Azure Cluster validation response", + "schema": { + "description": "Cluster validator response", + "type": "object", + "properties": { + "machinePools": { + "description": "Constraint validator response", + "type": "object", + "properties": { + "results": { + "type": "array", + "uniqueItems": true, + "items": { + "description": "Constraint validator result", + "type": "object", + "properties": { + "displayName": { + "type": "string" + }, + "errors": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + } + } + } + }, + "name": { + "type": "string" + } + } + } + } + } + }, + "profiles": { + "type": "array", + "uniqueItems": true, + "items": { + "description": "Cluster profile validator response", + "type": "object", + "properties": { + "packs": { + "description": "Constraint validator response", + "type": "object", + "properties": { + "results": { + "type": "array", + "uniqueItems": true, + "items": { + "description": "Constraint validator result", + "type": "object", + "properties": { + "displayName": { + "type": "string" + }, + "errors": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + } + } + } + }, + "name": { + "type": "string" + } + } + } + } + } + }, + "uid": { + "description": "Cluster profile uid", + "type": "string" + } + } + } + } + } + } + } + } + } + }, + "/v1/spectroclusters/cloudTypes/{cloudType}": { + "post": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Creates a Custom cluster", + "operationId": "v1SpectroClustersCustomCreate", + "parameters": [ + { + "name": "body", + "in": "body", + "schema": { + "description": "Custom cluster request payload for create and update", + "type": "object", + "properties": { + "metadata": { + "description": "ObjectMeta input entity for object creation", + "type": "object", + "properties": { + "annotations": { + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "labels": { + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "name": { + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + } + } + }, + "spec": { + "type": "object", + "required": [ + "cloudType", + "cloudAccountUid", + "cloudConfig" + ], + "properties": { + "cloudAccountUid": { + "description": "Cloud account uid to be used for cluster provisioning", + "type": "string" + }, + "cloudConfig": { + "description": "Cluster level configuration for Custom cloud and applicable for all the machine pools", + "type": "object", + "required": [ + "values" + ], + "properties": { + "values": { + "description": "YAML string for Cluster and CloudCluster", + "type": "string" + } + } + }, + "clusterConfig": { + "type": "object", + "properties": { + "location": { + "description": "Cluster location information", + "type": "object", + "properties": { + "countryCode": { + "description": "country code for cluster location", + "type": "string" + }, + "countryName": { + "description": "country name for cluster location", + "type": "string" + }, + "geoLoc": { + "description": "Geolocation Latlong entity", + "type": "object", + "properties": { + "latitude": { + "description": "Latitude of a resource", + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "longitude": { + "description": "Longitude of a resource", + "type": "number", + "format": "float64", + "x-omitempty": false + } + } + }, + "regionCode": { + "description": "region code for cluster location", + "type": "string" + }, + "regionName": { + "description": "region name for cluster location", + "type": "string" + } + } + }, + "machineManagementConfig": { + "type": "object", + "properties": { + "osPatchConfig": { + "type": "object", + "properties": { + "onDemandPatchAfter": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "patchOnBoot": { + "description": "PatchOnBoot indicates need to do patch when node first boot up, only once", + "type": "boolean", + "x-omitempty": false + }, + "rebootIfRequired": { + "description": "Reboot once the OS patch is applied", + "type": "boolean", + "x-omitempty": false + }, + "schedule": { + "description": "The schedule at which security patches will be applied to OS. Schedule should be in Cron format, see https://en.wikipedia.org/wiki/Cron for more help.", + "type": "string" + } + } + } + } + }, + "resources": { + "type": "object", + "properties": { + "namespaces": { + "type": "array", + "uniqueItems": true, + "items": { + "description": "Cluster Namespace resource defintion", + "type": "object", + "properties": { + "metadata": { + "description": "ObjectMeta update entity with uid as input", + "type": "object", + "properties": { + "annotations": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + } + }, + "spec": { + "description": "Cluster namespace spec", + "properties": { + "isRegex": { + "type": "boolean", + "x-omitempty": false + }, + "relatedObject": { + "description": "Object for which the resource is related", + "type": "object", + "properties": { + "kind": { + "type": "string", + "enum": [ + "spectrocluster", + "machine", + "cloudconfig", + "clusterprofile", + "pack", + "appprofile", + "appdeployment", + "edgehost" + ] + }, + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + } + }, + "resourceAllocation": { + "description": "Cluster namespace resource allocation", + "properties": { + "cpuCores": { + "type": "number", + "minimum": 0, + "exclusiveMinimum": true + }, + "memoryMiB": { + "type": "number", + "minimum": 0, + "exclusiveMinimum": true + } + } + } + } + } + } + } + }, + "rbacs": { + "type": "array", + "uniqueItems": true, + "items": { + "description": "Cluster RBAC role binding defintion", + "type": "object", + "properties": { + "metadata": { + "description": "ObjectMeta update entity with uid as input", + "type": "object", + "properties": { + "annotations": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + } + }, + "spec": { + "description": "Cluster RBAC spec", + "type": "object", + "properties": { + "bindings": { + "type": "array", + "uniqueItems": true, + "items": { + "description": "Cluster RBAC binding", + "type": "object", + "properties": { + "namespace": { + "type": "string" + }, + "role": { + "description": "Cluster role ref", + "type": "object", + "properties": { + "kind": { + "type": "string", + "enum": [ + "Role", + "ClusterRole" + ] + }, + "name": { + "type": "string" + } + } + }, + "subjects": { + "type": "array", + "uniqueItems": true, + "items": { + "description": "Cluster role ref", + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "namespace": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "User", + "Group", + "ServiceAccount" + ] + } + } + } + }, + "type": { + "type": "string", + "enum": [ + "RoleBinding", + "ClusterRoleBinding" + ] + } + } + } + }, + "relatedObject": { + "description": "Object for which the resource is related", + "type": "object", + "properties": { + "kind": { + "type": "string", + "enum": [ + "spectrocluster", + "machine", + "cloudconfig", + "clusterprofile", + "pack", + "appprofile", + "appdeployment", + "edgehost" + ] + }, + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + }, + "machinepoolconfig": { + "type": "array", + "items": { + "type": "object", + "required": [ + "cloudConfig" + ], + "properties": { + "cloudConfig": { + "type": "object", + "properties": { + "values": { + "description": "Machine pool configuration as yaml content", + "type": "string" + } + } + }, + "poolConfig": { + "description": "Machine pool configuration for the custom cluster", + "type": "object", + "properties": { + "additionalLabels": { + "description": "Additional labels to be part of the machine pool", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "isControlPlane": { + "description": "Whether this pool is for control plane", + "type": "boolean", + "x-omitempty": false + }, + "taints": { + "description": "control plane or worker taints", + "type": "array", + "uniqueItems": true, + "items": { + "description": "Taint", + "type": "object", "properties": { - "scheduledRunTime": { + "effect": { + "type": "string", + "enum": [ + "NoSchedule", + "PreferNoSchedule", + "NoExecute" + ] + }, + "key": { + "description": "The taint key to be applied to a node", "type": "string" - } - } - } - } - }, - "sonobuoy": { - "description": "Cluster compliance scan schedule config for sonobuoy driver", - "properties": { - "schedule": { - "description": "Cluster feature schedule", - "properties": { - "scheduledRunTime": { + }, + "timeAdded": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "value": { + "description": "The taint value corresponding to the taint key.", "type": "string" } } } + }, + "useControlPlaneAsWorker": { + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", + "type": "boolean", + "x-omitempty": false } } } @@ -133575,209 +120093,28 @@ "uid": { "description": "Cluster profile uid", "type": "string" - } - } - } - } - } - } - } - } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "EdgeNative Cluster validation response", - "schema": { - "description": "Cluster validator response", - "type": "object", - "properties": { - "machinePools": { - "description": "Constraint validator response", - "type": "object", - "properties": { - "results": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Constraint validator result", - "type": "object", - "properties": { - "displayName": { - "type": "string" - }, - "errors": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "object", - "properties": { - "code": { - "type": "string" - }, - "message": { - "type": "string" - } - } - } }, - "name": { - "type": "string" - } - } - } - } - } - }, - "profiles": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Cluster profile validator response", - "type": "object", - "properties": { - "packs": { - "description": "Constraint validator response", - "type": "object", - "properties": { - "results": { + "variables": { "type": "array", - "uniqueItems": true, "items": { - "description": "Constraint validator result", + "description": "Variable with value which will be used within the packs of cluster profile", "type": "object", + "required": [ + "name" + ], "properties": { - "displayName": { + "name": { + "description": "Variable name", "type": "string" }, - "errors": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "object", - "properties": { - "code": { - "type": "string" - }, - "message": { - "type": "string" - } - } - } - }, - "name": { + "value": { + "description": "Actual value of the variable to be used within the cluster", "type": "string" } } } } } - }, - "uid": { - "description": "Cluster profile uid", - "type": "string" - } - } - } - } - } - } - } - } - } - }, - "/v1/spectroclusters/edge/import": { - "post": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Imports an Edge cluster", - "operationId": "v1SpectroClustersEdgeImport", - "parameters": [ - { - "name": "body", - "in": "body", - "schema": { - "description": "Spectro Edge cluster import request payload", - "type": "object", - "properties": { - "metadata": { - "description": "ObjectMeta input entity for object creation", - "type": "object", - "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "name": { - "description": "Name of the resource.", - "type": "string" - } - } - }, - "spec": { - "type": "object", - "properties": { - "clusterConfig": { - "type": "object", - "properties": { - "importMode": { - "description": "If the importMode is empty then cluster is imported with full permission mode. By default importMode is empty and cluster is imported in full permission mode.", - "type": "string", - "enum": [ - "read-only" - ] - }, - "proxy": { - "description": "cluster proxy config spec", - "type": "object", - "properties": { - "caContainerMountPath": { - "description": "Location to mount Proxy CA cert inside container", - "type": "string" - }, - "caHostPath": { - "description": "Location for Proxy CA cert on host nodes", - "type": "string" - }, - "httpProxy": { - "description": "URL for HTTP requests unless overridden by NoProxy", - "type": "string" - }, - "httpsProxy": { - "description": "HTTPS requests unless overridden by NoProxy", - "type": "string" - }, - "noProxy": { - "description": "NoProxy represents the NO_PROXY or no_proxy environment", - "type": "string" - } - } - } } } } @@ -133814,525 +120151,18 @@ } } } - } - }, - "/v1/spectroclusters/edge/rate": { - "post": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Get edge cluster estimated rate information", - "operationId": "v1SpectroClustersEdgeRate", - "parameters": [ - { - "enum": [ - "hourly", - "monthly", - "yearly" - ], - "type": "string", - "default": "hourly", - "name": "periodType", - "in": "query" - }, - { - "name": "body", - "in": "body", - "schema": { - "description": "Edge cluster request payload for estimating rate", - "type": "object", - "properties": { - "cloudConfig": { - "description": "EdgeClusterConfig defines Edge Cluster specific Spec", - "type": "object", - "properties": { - "sshKeys": { - "description": "SSHKeys specifies a list of ssh authorized keys to access the vms as a 'spectro' user", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "machinepoolconfig": { - "type": "array", - "items": { - "type": "object", - "properties": { - "cloudConfig": { - "required": [ - "edgeHosts" - ], - "properties": { - "edgeHosts": { - "type": "array", - "uniqueItems": true, - "items": { - "required": [ - "hostUid" - ], - "properties": { - "hostUid": { - "type": "string" - } - } - } - } - } - }, - "poolConfig": { - "description": "Machine pool configuration for the cluster", - "type": "object", - "required": [ - "name", - "size", - "labels" - ], - "properties": { - "additionalLabels": { - "description": "Additional labels to be part of the machine pool", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "additionalTags": { - "description": "AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "isControlPlane": { - "description": "Whether this pool is for control plane", - "type": "boolean", - "x-omitempty": false - }, - "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", - "type": "array", - "items": { - "type": "string" - } - }, - "machinePoolProperties": { - "description": "Machine pool specific properties", - "type": "object", - "properties": { - "archType": { - "type": "string", - "default": "amd64", - "enum": [ - "amd64", - "arm64" - ] - } - } - }, - "maxSize": { - "description": "Max size of the pool, for scaling", - "type": "integer", - "format": "int32" - }, - "minSize": { - "description": "Min size of the pool, for scaling", - "type": "integer", - "format": "int32" - }, - "name": { - "type": "string" - }, - "nodeRepaveInterval": { - "description": "Minimum number of seconds a node should be Ready, before the next node is selected for repave. Applicable only for workerpools in infrastructure cluster", - "type": "integer", - "format": "int32" - }, - "size": { - "description": "Size of the pool, number of nodes/machines", - "type": "integer", - "format": "int32" - }, - "taints": { - "description": "Master or worker taints", - "type": "array", - "uniqueItems": true, - "items": { - "description": "Taint", - "type": "object", - "properties": { - "effect": { - "type": "string", - "enum": [ - "NoSchedule", - "PreferNoSchedule", - "NoExecute" - ] - }, - "key": { - "description": "The taint key to be applied to a node", - "type": "string" - }, - "timeAdded": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "value": { - "description": "The taint value corresponding to the taint key.", - "type": "string" - } - } - } - }, - "updateStrategy": { - "description": "UpdatesStrategy will be used to translate to RollingUpdateStrategy of a MachineDeployment We'll start with default values for the translation, can expose more details later Following is details of parameters translated from the type ScaleOut =\u003e maxSurge=1, maxUnavailable=0 ScaleIn =\u003e maxSurge=0, maxUnavailable=1", - "type": "object", - "properties": { - "type": { - "description": "update strategy, either ScaleOut or ScaleIn if empty, will default to RollingUpdateScaleOut", - "type": "string", - "enum": [ - "RollingUpdateScaleOut", - "RollingUpdateScaleIn" - ] - } - } - }, - "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", - "type": "boolean", - "x-omitempty": false - } - } - } - } - } - } - } - } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "Edge Cluster estimated rate response", - "schema": { - "description": "Cluster estimated rate information", - "type": "object", - "properties": { - "machinePools": { - "type": "array", - "items": { - "description": "Machine pool estimated rate information", - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "nodesCount": { - "type": "integer", - "format": "int32" - }, - "rate": { - "description": "Cloud estimated rate information", - "type": "object", - "properties": { - "compute": { - "description": "Compute estimated rate information", - "type": "object", - "properties": { - "rate": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "type": { - "type": "string" - } - } - }, - "storage": { - "type": "array", - "items": { - "description": "Storage estimated rate information", - "type": "object", - "properties": { - "iops": { - "type": "number", - "format": "float64" - }, - "rate": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "sizeGB": { - "type": "number", - "format": "float64" - }, - "throughput": { - "type": "number", - "format": "float64" - }, - "type": { - "type": "string" - } - } - } - }, - "total": { - "type": "number", - "format": "float64", - "x-omitempty": false - } - } - } - } - } - }, - "name": { - "type": "string" - }, - "rate": { - "description": "Cluster total estimated rate information", - "type": "object", - "properties": { - "compute": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "storage": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "total": { - "type": "number", - "format": "float64", - "x-omitempty": false - } - } - }, - "resourceMetadata": { - "description": "Cloud resource metadata", - "type": "object", - "properties": { - "instanceTypes": { - "type": "object", - "additionalProperties": { - "description": "Cloud Instance type details", - "type": "object", - "properties": { - "category": { - "description": "Category of instance type", - "type": "string", - "x-go-name": "Category" - }, - "cost": { - "description": "Instance cost entity", - "type": "object", - "properties": { - "price": { - "description": "Array of cloud instance price", - "type": "array", - "items": { - "description": "Cloud instance price", - "type": "object", - "properties": { - "onDemand": { - "description": "OnDemand price of instance", - "type": "number", - "format": "double" - }, - "os": { - "description": "Os associated with instance price. Allowed values - [linux, windows]", - "type": "string", - "enum": [ - "linux", - "windows" - ] - }, - "spot": { - "description": "Spot price of instance", - "type": "number", - "format": "double" - } - } - } - } - } - }, - "cpu": { - "description": "Cpu of instance type", - "type": "number", - "format": "double", - "x-go-name": "Cpu" - }, - "gpu": { - "description": "Gpu of instance type", - "type": "number", - "format": "double", - "x-go-name": "Gpu" - }, - "memory": { - "description": "Memory of instance type", - "type": "number", - "format": "double", - "x-go-name": "Memory" - }, - "nonSupportedZones": { - "description": "Non supported zones of the instance in a particular region", - "type": "array", - "items": { - "type": "string" - } - }, - "price": { - "description": "Price of instance type", - "type": "number", - "format": "double", - "x-go-name": "Price" - }, - "supportedArchitectures": { - "description": "Supported architecture of the instance", - "type": "array", - "items": { - "type": "string" - } - }, - "type": { - "description": "Type of instance type", - "type": "string", - "x-go-name": "Type" - } - } - } - }, - "storageTypes": { - "type": "object", - "additionalProperties": { - "description": "Cloud cloud Storage type details", - "type": "object", - "properties": { - "cost": { - "description": "Cloud storage cost", - "type": "object", - "properties": { - "discountedUsage": { - "description": "Cloud storage upper limit which is free.", - "type": "string" - }, - "price": { - "description": "Array of cloud storage range prices", - "type": "array", - "items": { - "description": "Cloud storage price within an upper limit.", - "type": "object", - "properties": { - "limit": { - "description": "Upper limit of cloud storage usage", - "type": "string" - }, - "price": { - "description": "Price of cloud storage type", - "type": "string" - } - } - } - } - } - }, - "iopsCost": { - "description": "Cloud storage cost", - "type": "object", - "properties": { - "discountedUsage": { - "description": "Cloud storage upper limit which is free.", - "type": "string" - }, - "price": { - "description": "Array of cloud storage range prices", - "type": "array", - "items": { - "description": "Cloud storage price within an upper limit.", - "type": "object", - "properties": { - "limit": { - "description": "Upper limit of cloud storage usage", - "type": "string" - }, - "price": { - "description": "Price of cloud storage type", - "type": "string" - } - } - } - } - } - }, - "kind": { - "description": "kind of storage type", - "type": "string" - }, - "name": { - "description": "Name of the storage type", - "type": "string" - }, - "throughputCost": { - "description": "Cloud storage cost", - "type": "object", - "properties": { - "discountedUsage": { - "description": "Cloud storage upper limit which is free.", - "type": "string" - }, - "price": { - "description": "Array of cloud storage range prices", - "type": "array", - "items": { - "description": "Cloud storage price within an upper limit.", - "type": "object", - "properties": { - "limit": { - "description": "Upper limit of cloud storage usage", - "type": "string" - }, - "price": { - "description": "Price of cloud storage type", - "type": "string" - } - } - } - } - } - } - } - } - } - } - } - } - } - } + }, + "parameters": [ + { + "type": "string", + "description": "Cluster's cloud type", + "name": "cloudType", + "in": "path", + "required": true } - } + ] }, - "/v1/spectroclusters/edge/validate": { + "/v1/spectroclusters/cloudTypes/{cloudType}/validate": { "post": { "security": [ { @@ -134345,189 +120175,68 @@ "tags": [ "v1" ], - "summary": "Validates edge cluster create operation", - "operationId": "v1SpectroClustersEdgeValidate", + "summary": "Validates Custom cluster create operation", + "operationId": "v1SpectroClustersCustomValidate", "parameters": [ { "name": "body", "in": "body", "schema": { - "description": "Edge cluster request payload for create and update", + "description": "Custom cluster request payload for create and update", "type": "object", "properties": { "metadata": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", + "description": "ObjectMeta input entity for object creation", "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, "name": { - "description": "Name of the resource.", - "type": "string" - }, - "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } }, "spec": { "type": "object", + "required": [ + "cloudType", + "cloudAccountUid", + "cloudConfig" + ], "properties": { + "cloudAccountUid": { + "description": "Cloud account uid to be used for cluster provisioning", + "type": "string" + }, "cloudConfig": { - "description": "EdgeClusterConfig defines Edge Cluster specific Spec", + "description": "Cluster level configuration for Custom cloud and applicable for all the machine pools", "type": "object", + "required": [ + "values" + ], "properties": { - "sshKeys": { - "description": "SSHKeys specifies a list of ssh authorized keys to access the vms as a 'spectro' user", - "type": "array", - "items": { - "type": "string" - } + "values": { + "description": "YAML string for Cluster and CloudCluster", + "type": "string" } } }, "clusterConfig": { "type": "object", "properties": { - "clusterMetaAttribute": { - "description": "ClusterMetaAttribute can be used to set additional cluster metadata information.", - "type": "string" - }, - "controlPlaneHealthCheckTimeout": { - "type": "string" - }, - "hostClusterConfig": { - "properties": { - "clusterEndpoint": { - "properties": { - "config": { - "properties": { - "ingressConfig": { - "description": "Ingress configuration for exposing the virtual cluster's kube-apiserver", - "properties": { - "host": { - "type": "string" - }, - "port": { - "type": "integer", - "format": "int64" - } - } - }, - "loadBalancerConfig": { - "description": "Load balancer configuration for exposing the virtual cluster's kube-apiserver", - "properties": { - "externalIPs": { - "type": "array", - "items": { - "type": "string" - } - }, - "externalTrafficPolicy": { - "type": "string" - }, - "loadBalancerSourceRanges": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - } - }, - "type": { - "description": "is enabled as host cluster", - "type": "string", - "enum": [ - "Ingress", - "LoadBalancer" - ] - } - } - }, - "clusterGroup": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", - "type": "string" - } - } - }, - "hostCluster": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", - "type": "string" - } - } - }, - "isHostCluster": { - "description": "is enabled as host cluster", - "type": "boolean", - "default": false, - "x-omitempty": false - } - } - }, - "lifecycleConfig": { - "properties": { - "pause": { - "description": "enable pause life cycle config", - "type": "boolean", - "default": false, - "x-omitempty": false - } - } - }, "location": { "description": "Cluster location information", "type": "object", @@ -134809,9 +120518,6 @@ } } } - }, - "updateWorkerPoolsInParallel": { - "type": "boolean" } } }, @@ -134819,102 +120525,37 @@ "type": "array", "items": { "type": "object", + "required": [ + "cloudConfig" + ], "properties": { "cloudConfig": { - "required": [ - "edgeHosts" - ], - "properties": { - "edgeHosts": { - "type": "array", - "uniqueItems": true, - "items": { - "required": [ - "hostUid" - ], - "properties": { - "hostUid": { - "type": "string" - } - } - } - } - } - }, - "poolConfig": { - "description": "Machine pool configuration for the cluster", "type": "object", - "required": [ - "name", - "size", - "labels" - ], "properties": { - "additionalLabels": { - "description": "Additional labels to be part of the machine pool", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "additionalTags": { - "description": "AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "isControlPlane": { - "description": "Whether this pool is for control plane", - "type": "boolean", - "x-omitempty": false - }, - "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", - "type": "array", - "items": { - "type": "string" - } - }, - "machinePoolProperties": { - "description": "Machine pool specific properties", - "type": "object", - "properties": { - "archType": { - "type": "string", - "default": "amd64", - "enum": [ - "amd64", - "arm64" - ] - } - } - }, - "maxSize": { - "description": "Max size of the pool, for scaling", - "type": "integer", - "format": "int32" - }, - "minSize": { - "description": "Min size of the pool, for scaling", - "type": "integer", - "format": "int32" - }, - "name": { + "values": { + "description": "Machine pool configuration as yaml content", "type": "string" + } + } + }, + "poolConfig": { + "description": "Machine pool configuration for the custom cluster", + "type": "object", + "properties": { + "additionalLabels": { + "description": "Additional labels to be part of the machine pool", + "type": "object", + "additionalProperties": { + "type": "string" + } }, - "nodeRepaveInterval": { - "description": "Minimum number of seconds a node should be Ready, before the next node is selected for repave. Applicable only for workerpools in infrastructure cluster", - "type": "integer", - "format": "int32" - }, - "size": { - "description": "Size of the pool, number of nodes/machines", - "type": "integer", - "format": "int32" + "isControlPlane": { + "description": "Whether this pool is for control plane", + "type": "boolean", + "x-omitempty": false }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -134945,22 +120586,8 @@ } } }, - "updateStrategy": { - "description": "UpdatesStrategy will be used to translate to RollingUpdateStrategy of a MachineDeployment We'll start with default values for the translation, can expose more details later Following is details of parameters translated from the type ScaleOut =\u003e maxSurge=1, maxUnavailable=0 ScaleIn =\u003e maxSurge=0, maxUnavailable=1", - "type": "object", - "properties": { - "type": { - "description": "update strategy, either ScaleOut or ScaleIn if empty, will default to RollingUpdateScaleOut", - "type": "string", - "enum": [ - "RollingUpdateScaleOut", - "RollingUpdateScaleIn" - ] - } - } - }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -134969,101 +120596,6 @@ } } }, - "policies": { - "description": "Cluster policies", - "type": "object", - "properties": { - "backupPolicy": { - "description": "Cluster backup config", - "properties": { - "backupLocationName": { - "type": "string" - }, - "backupLocationUid": { - "type": "string" - }, - "backupName": { - "type": "string" - }, - "backupPrefix": { - "type": "string" - }, - "durationInHours": { - "type": "number", - "format": "int64" - }, - "includeAllDisks": { - "type": "boolean" - }, - "includeClusterResources": { - "type": "boolean" - }, - "locationType": { - "type": "string" - }, - "namespaces": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - }, - "schedule": { - "description": "Cluster feature schedule", - "properties": { - "scheduledRunTime": { - "type": "string" - } - } - } - } - }, - "scanPolicy": { - "description": "Cluster compliance scan schedule configuration", - "properties": { - "kubeBench": { - "description": "Cluster compliance scan schedule config for kube bench driver", - "properties": { - "schedule": { - "description": "Cluster feature schedule", - "properties": { - "scheduledRunTime": { - "type": "string" - } - } - } - } - }, - "kubeHunter": { - "description": "Cluster compliance scan schedule config for kube hunter driver", - "properties": { - "schedule": { - "description": "Cluster feature schedule", - "properties": { - "scheduledRunTime": { - "type": "string" - } - } - } - } - }, - "sonobuoy": { - "description": "Cluster compliance scan schedule config for sonobuoy driver", - "properties": { - "schedule": { - "description": "Cluster feature schedule", - "properties": { - "scheduledRunTime": { - "type": "string" - } - } - } - } - } - } - } - } - }, "profiles": { "type": "array", "items": { @@ -135137,6 +120669,26 @@ "uid": { "description": "Cluster profile uid", "type": "string" + }, + "variables": { + "type": "array", + "items": { + "description": "Variable with value which will be used within the packs of cluster profile", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Variable name", + "type": "string" + }, + "value": { + "description": "Actual value of the variable to be used within the cluster", + "type": "string" + } + } + } } } } @@ -135155,7 +120707,7 @@ ], "responses": { "200": { - "description": "edge Cluster validation response", + "description": "Custom Cluster validation response", "schema": { "description": "Cluster validator response", "type": "object", @@ -135252,9 +120804,18 @@ } } } - } + }, + "parameters": [ + { + "type": "string", + "description": "Cluster's cloud type", + "name": "cloudType", + "in": "path", + "required": true + } + ] }, - "/v1/spectroclusters/eks": { + "/v1/spectroclusters/edge-native": { "post": { "security": [ { @@ -135267,14 +120828,14 @@ "tags": [ "v1" ], - "summary": "Creates an EKS cluster", - "operationId": "v1SpectroClustersEksCreate", + "summary": "Creates an EdgeNative cluster", + "operationId": "v1SpectroClustersEdgeNativeCreate", "parameters": [ { "name": "body", "in": "body", "schema": { - "description": "Spectro EKS cluster request payload for create and update", + "description": "EdgeNative cluster create or update request payload", "type": "object", "properties": { "metadata": { @@ -135282,7 +120843,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -135299,7 +120860,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -135311,131 +120872,72 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, "spec": { "type": "object", - "required": [ - "cloudAccountUid", - "cloudConfig" - ], "properties": { - "cloudAccountUid": { - "description": "Cloud account uid to be used for cluster provisioning", - "type": "string" - }, "cloudConfig": { - "description": "EksClusterConfig defines EKS specific config", + "description": "EdgeNativeClusterConfig definnes Edge Native Cluster specific Spec", "type": "object", - "required": [ - "region" - ], "properties": { - "addons": { - "description": "Addons defines the EKS addons to enable with the EKS cluster. This may be required for brownfield clusters", - "type": "array", - "items": { - "description": "EksAddon represents a EKS addon", - "type": "object", - "required": [ - "name", - "version" - ], - "properties": { - "conflictResolution": { - "description": "ConflictResolution is used to declare what should happen if there are parameter conflicts.", - "type": "string" - }, - "name": { - "description": "Name is the name of the addon", - "type": "string" - }, - "serviceAccountRoleARN": { - "description": "ServiceAccountRoleArn is the ARN of an IAM role to bind to the addons service account", - "type": "string" - }, - "version": { - "description": "Version is the version of the addon to use", - "type": "string" - } - } - } - }, - "bastionDisabled": { - "description": "BastionDisabled is the option to disable bastion node", - "type": "boolean" - }, - "controlPlaneLoadBalancer": { - "description": "ControlPlaneLoadBalancer specifies how API server elb will be configured, this field is optional, not provided, \"\", default =\u003e \"Internet-facing\" \"Internet-facing\" =\u003e \"Internet-facing\" \"internal\" =\u003e \"internal\" For spectro saas setup we require to talk to the apiserver from our cluster so ControlPlaneLoadBalancer should be \"\", not provided or \"Internet-facing\"", - "type": "string" - }, - "encryptionConfig": { - "description": "EncryptionConfig specifies the encryption configuration for the EKS clsuter.", + "controlPlaneEndpoint": { "type": "object", "properties": { - "isEnabled": { - "description": "Is encryption configuration enabled for the cluster", - "type": "boolean" + "ddnsSearchDomain": { + "description": "DDNSSearchDomain is the search domain used for resolving IP addresses when the EndpointType is DDNS. This search domain is appended to the generated Hostname to obtain the complete DNS name for the endpoint. If Host is already a DDNS FQDN, DDNSSearchDomain is not required", + "type": "string" }, - "provider": { - "description": "Provider specifies the ARN or alias of the CMK (in AWS KMS)", + "host": { + "description": "Host is FQDN(DDNS) or IP", "type": "string" }, - "resources": { - "description": "Resources specifies the resources to be encrypted", - "type": "array", - "items": { - "type": "string" - } + "type": { + "description": "Type indicates DDNS or VIP", + "type": "string" } } }, - "endpointAccess": { - "description": "EndpointAccess specifies how control plane endpoints are accessible", + "ntpServers": { + "description": "NTPServers is a list of NTP servers to use instead of the machine image's default NTP server list", + "type": "array", + "items": { + "type": "string", + "default": "" + } + }, + "overlayNetworkConfiguration": { "type": "object", "properties": { - "private": { - "description": "Private points VPC-internal control plane access to the private endpoint", - "type": "boolean" - }, - "privateCIDRs": { - "description": "PrivateCIDRs specifies which blocks can access the private endpoint", - "type": "array", - "items": { - "type": "string" - } - }, - "public": { - "description": "Public controls whether control plane endpoints are publicly accessible", - "type": "boolean" + "cidr": { + "description": "CIDR is the CIDR of the overlay network", + "type": "string" }, - "publicCIDRs": { - "description": "PublicCIDRs specifies which blocks can access the public endpoint", - "type": "array", - "items": { - "type": "string" - } + "enable": { + "description": "Enable is a flag to enable overlay network", + "type": "boolean", + "x-omitempty": false } } }, - "region": { - "description": "The AWS Region the cluster lives in.", - "type": "string" - }, - "sshKeyName": { - "description": "SSHKeyName specifies which EC2 SSH key can be used to access machines.", - "type": "string" + "sshKeys": { + "description": "SSHKeys specifies a list of ssh authorized keys to access the vms as a 'spectro' user", + "type": "array", + "items": { + "type": "string", + "default": "" + } }, - "vpcId": { - "description": "VPC Id to deploy cluster into should have one public and one private subnet for the the cluster creation, this field is optional, If VPC Id is not provided a fully managed VPC will be created", - "type": "string" + "staticIp": { + "description": "StaticIP indicates if IP allocation type is static IP. DHCP is the default allocation type", + "type": "boolean" } } }, @@ -135508,11 +121010,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -135526,11 +121028,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -135840,225 +121342,76 @@ } } }, - "fargateProfiles": { - "type": "array", - "items": { - "description": "FargateProfile defines the desired state of FargateProfile", - "type": "object", - "required": [ - "name" - ], - "properties": { - "additionalTags": { - "description": "AdditionalTags is an optional set of tags to add to AWS resources managed by the AWS provider, in addition to the ones added by default.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "name": { - "description": "name specifies the profile name.", - "type": "string" - }, - "selectors": { - "description": "Selectors specify fargate pod selectors.", - "type": "array", - "items": { - "description": "FargateSelector specifies a selector for pods that should run on this fargate pool", - "type": "object", - "required": [ - "namespace" - ], - "properties": { - "labels": { - "description": "Labels specifies which pod labels this selector should match.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "namespace": { - "description": "Namespace specifies which namespace this selector should match.", - "type": "string" - } - } - } - }, - "subnetIds": { - "description": "SubnetIDs specifies which subnets are used for the auto scaling group of this nodegroup.", - "type": "array", - "items": { - "type": "string" - } - } - } - } - }, "machinepoolconfig": { "type": "array", "items": { + "type": "object", "properties": { "cloudConfig": { + "required": [ + "edgeHosts" + ], "properties": { - "awsLaunchTemplate": { - "description": "AWSLaunchTemplate specifies the launch template to use to create the managed node group", - "type": "object", - "properties": { - "additionalSecurityGroups": { - "description": "AdditionalSecurityGroups is an array of references to security groups that should be applied to the instances", - "type": "array", - "uniqueItems": true, - "items": { - "description": "AWSResourceReference is a reference to a specific AWS resource by ID or filters", + "edgeHosts": { + "type": "array", + "uniqueItems": true, + "items": { + "required": [ + "hostUid" + ], + "properties": { + "hostName": { + "description": "Edge host name", + "type": "string" + }, + "hostUid": { + "description": "Edge host id", + "type": "string" + }, + "nic": { "type": "object", "properties": { - "arn": { - "description": "ARN of resource", - "type": "string" - }, - "filters": { - "description": "Filters is a set of key/value pairs used to identify a resource", + "dns": { "type": "array", - "uniqueItems": true, "items": { - "description": "Filter is a filter used to identify an AWS resource", - "type": "object", - "properties": { - "name": { - "description": "Name of the filter. Filter names are case-sensitive", - "type": "string" - }, - "values": { - "description": "Values includes one or more filter values. Filter values are case-sensitive", - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - } - } + "type": "string" } }, - "id": { - "description": "ID of resource", + "gateway": { + "type": "string" + }, + "ip": { + "type": "string" + }, + "isDefault": { + "type": "boolean" + }, + "macAddr": { + "type": "string" + }, + "nicName": { + "type": "string" + }, + "subnet": { "type": "string" } } - } - }, - "ami": { - "description": "AMI is the reference to the AMI from which to create the machine instance", - "type": "object", - "properties": { - "eksOptimizedLookupType": { - "description": "EKSOptimizedLookupType If specified, will look up an EKS Optimized image in SSM Parameter store", - "type": "string", - "enum": [ - "AmazonLinux", - "AmazonLinuxGPU" - ] - }, - "id": { - "description": "ID of resource", - "type": "string" - } - } - }, - "imageLookupBaseOS": { - "description": "ImageLookupBaseOS is the name of the base operating system to use for image lookup the AMI is not set", - "type": "string" - }, - "imageLookupFormat": { - "description": "ImageLookupFormat is the AMI naming format to look up the image", - "type": "string" - }, - "imageLookupOrg": { - "description": "ImageLookupOrg is the AWS Organization ID to use for image lookup if AMI is not set", - "type": "string" - }, - "rootVolume": { - "description": "Volume encapsulates the configuration options for the storage device.", - "type": "object", - "properties": { - "deviceName": { - "description": "Device name", - "type": "string" - }, - "encrypted": { - "description": "EncryptionKey is the KMS key to use to encrypt the volume. Can be either a KMS key ID or ARN", - "type": "boolean" - }, - "encryptionKey": { - "description": "EncryptionKey is the KMS key to use to encrypt the volume. Can be either a KMS key ID or ARN", - "type": "string" - }, - "iops": { - "description": "IOPS is the number of IOPS requested for the disk. Not applicable to all types", - "type": "integer", - "format": "int64" - }, - "throughput": { - "description": "Throughput to provision in MiB/s supported for the volume type. Not applicable to all types.", - "type": "integer", - "format": "int64" - }, - "type": { - "description": "Type is the type of the volume (e.g. gp2, io1, etc...)", - "type": "string" - } - } - } - } - }, - "azs": { - "type": "array", - "items": { - "type": "string" - } - }, - "capacityType": { - "description": "EC2 instance capacity type", - "type": "string", - "default": "on-demand", - "enum": [ - "on-demand", - "spot" - ] - }, - "enableAwsLaunchTemplate": { - "description": "flag to know if aws launch template is enabled", - "type": "boolean" - }, - "instanceType": { - "description": "instance type", - "type": "string" - }, - "rootDeviceSize": { - "description": "rootDeviceSize in GBs", - "type": "integer", - "format": "int64", - "maximum": 2000, - "minimum": 1 - }, - "spotMarketOptions": { - "description": "SpotMarketOptions defines the options available to a user when configuring Machines to run on Spot instances. Most users should provide an empty struct.", - "type": "object", - "properties": { - "maxPrice": { - "description": "MaxPrice defines the maximum price the user is willing to pay for Spot VM instances", - "type": "string" - } - } - }, - "subnets": { - "type": "array", - "items": { - "properties": { - "az": { + }, + "nicName": { + "description": "Deprecated - Edge host nic name", "type": "string" }, - "id": { + "staticIP": { + "description": "Deprecated - Edge host static IP", "type": "string" + }, + "twoNodeCandidatePriority": { + "description": "Set the edgehost candidate priority as primary or secondary, if the edgehost is nominated as two node candidate", + "type": "string", + "enum": [ + "primary", + "secondary" + ] } } } @@ -136094,7 +121447,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -136138,7 +121491,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -136184,7 +121537,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -136361,6 +121714,26 @@ "uid": { "description": "Cluster profile uid", "type": "string" + }, + "variables": { + "type": "array", + "items": { + "description": "Variable with value which will be used within the packs of cluster profile", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Variable name", + "type": "string" + }, + "value": { + "description": "Actual value of the variable to be used within the cluster", + "type": "string" + } + } + } } } } @@ -136401,7 +121774,7 @@ } } }, - "/v1/spectroclusters/eks/rate": { + "/v1/spectroclusters/edge-native/import": { "post": { "security": [ { @@ -136414,8 +121787,132 @@ "tags": [ "v1" ], - "summary": "Get EKS cluster estimated rate information", - "operationId": "v1SpectroClustersEksRate", + "summary": "Imports an EdgeNative cluster", + "operationId": "v1SpectroClustersEdgeNativeImport", + "parameters": [ + { + "name": "body", + "in": "body", + "schema": { + "description": "Spectro EdgeNative cluster import request payload", + "type": "object", + "properties": { + "metadata": { + "description": "ObjectMeta input entity for object creation", + "type": "object", + "properties": { + "annotations": { + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "labels": { + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "name": { + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + } + } + }, + "spec": { + "type": "object", + "properties": { + "clusterConfig": { + "type": "object", + "properties": { + "importMode": { + "description": "If the importMode is empty then cluster is imported with full permission mode. By default importMode is empty and cluster is imported in full permission mode.", + "type": "string", + "enum": [ + "read-only" + ] + }, + "proxy": { + "description": "cluster proxy config spec", + "type": "object", + "properties": { + "caContainerMountPath": { + "description": "Location to mount Proxy CA cert inside container", + "type": "string" + }, + "caHostPath": { + "description": "Location for Proxy CA cert on host nodes", + "type": "string" + }, + "httpProxy": { + "description": "URL for HTTP requests unless overridden by NoProxy", + "type": "string" + }, + "httpsProxy": { + "description": "HTTPS requests unless overridden by NoProxy", + "type": "string" + }, + "noProxy": { + "description": "NoProxy represents the NO_PROXY or no_proxy environment", + "type": "string" + } + } + } + } + } + } + } + } + } + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "schema": { + "type": "object", + "required": [ + "uid" + ], + "properties": { + "uid": { + "type": "string" + } + } + }, + "headers": { + "AuditUid": { + "type": "string", + "description": "Audit uid for the request" + } + } + } + } + } + }, + "/v1/spectroclusters/edge-native/rate": { + "post": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Get edge-native cluster estimated rate information", + "operationId": "v1SpectroClustersEdgeNativeRate", "parameters": [ { "enum": [ @@ -136432,282 +121929,136 @@ "name": "body", "in": "body", "schema": { - "description": "Spectro EKS cluster request payload for estimating rate", + "description": "Edge-native cluster request payload for estimating rate", "type": "object", "properties": { "cloudConfig": { - "description": "EksClusterConfig defines EKS specific config", + "description": "EdgeNativeClusterConfig definnes Edge Native Cluster specific Spec", "type": "object", - "required": [ - "region" - ], "properties": { - "addons": { - "description": "Addons defines the EKS addons to enable with the EKS cluster. This may be required for brownfield clusters", - "type": "array", - "items": { - "description": "EksAddon represents a EKS addon", - "type": "object", - "required": [ - "name", - "version" - ], - "properties": { - "conflictResolution": { - "description": "ConflictResolution is used to declare what should happen if there are parameter conflicts.", - "type": "string" - }, - "name": { - "description": "Name is the name of the addon", - "type": "string" - }, - "serviceAccountRoleARN": { - "description": "ServiceAccountRoleArn is the ARN of an IAM role to bind to the addons service account", - "type": "string" - }, - "version": { - "description": "Version is the version of the addon to use", - "type": "string" - } - } - } - }, - "bastionDisabled": { - "description": "BastionDisabled is the option to disable bastion node", - "type": "boolean" - }, - "controlPlaneLoadBalancer": { - "description": "ControlPlaneLoadBalancer specifies how API server elb will be configured, this field is optional, not provided, \"\", default =\u003e \"Internet-facing\" \"Internet-facing\" =\u003e \"Internet-facing\" \"internal\" =\u003e \"internal\" For spectro saas setup we require to talk to the apiserver from our cluster so ControlPlaneLoadBalancer should be \"\", not provided or \"Internet-facing\"", - "type": "string" - }, - "encryptionConfig": { - "description": "EncryptionConfig specifies the encryption configuration for the EKS clsuter.", + "controlPlaneEndpoint": { "type": "object", "properties": { - "isEnabled": { - "description": "Is encryption configuration enabled for the cluster", - "type": "boolean" + "ddnsSearchDomain": { + "description": "DDNSSearchDomain is the search domain used for resolving IP addresses when the EndpointType is DDNS. This search domain is appended to the generated Hostname to obtain the complete DNS name for the endpoint. If Host is already a DDNS FQDN, DDNSSearchDomain is not required", + "type": "string" }, - "provider": { - "description": "Provider specifies the ARN or alias of the CMK (in AWS KMS)", + "host": { + "description": "Host is FQDN(DDNS) or IP", "type": "string" }, - "resources": { - "description": "Resources specifies the resources to be encrypted", - "type": "array", - "items": { - "type": "string" - } + "type": { + "description": "Type indicates DDNS or VIP", + "type": "string" } } }, - "endpointAccess": { - "description": "EndpointAccess specifies how control plane endpoints are accessible", + "ntpServers": { + "description": "NTPServers is a list of NTP servers to use instead of the machine image's default NTP server list", + "type": "array", + "items": { + "type": "string", + "default": "" + } + }, + "overlayNetworkConfiguration": { "type": "object", "properties": { - "private": { - "description": "Private points VPC-internal control plane access to the private endpoint", - "type": "boolean" - }, - "privateCIDRs": { - "description": "PrivateCIDRs specifies which blocks can access the private endpoint", - "type": "array", - "items": { - "type": "string" - } - }, - "public": { - "description": "Public controls whether control plane endpoints are publicly accessible", - "type": "boolean" + "cidr": { + "description": "CIDR is the CIDR of the overlay network", + "type": "string" }, - "publicCIDRs": { - "description": "PublicCIDRs specifies which blocks can access the public endpoint", - "type": "array", - "items": { - "type": "string" - } + "enable": { + "description": "Enable is a flag to enable overlay network", + "type": "boolean", + "x-omitempty": false } } }, - "region": { - "description": "The AWS Region the cluster lives in.", - "type": "string" - }, - "sshKeyName": { - "description": "SSHKeyName specifies which EC2 SSH key can be used to access machines.", - "type": "string" + "sshKeys": { + "description": "SSHKeys specifies a list of ssh authorized keys to access the vms as a 'spectro' user", + "type": "array", + "items": { + "type": "string", + "default": "" + } }, - "vpcId": { - "description": "VPC Id to deploy cluster into should have one public and one private subnet for the the cluster creation, this field is optional, If VPC Id is not provided a fully managed VPC will be created", - "type": "string" + "staticIp": { + "description": "StaticIP indicates if IP allocation type is static IP. DHCP is the default allocation type", + "type": "boolean" } } }, "machinepoolconfig": { "type": "array", "items": { + "type": "object", "properties": { "cloudConfig": { + "required": [ + "edgeHosts" + ], "properties": { - "awsLaunchTemplate": { - "description": "AWSLaunchTemplate specifies the launch template to use to create the managed node group", - "type": "object", - "properties": { - "additionalSecurityGroups": { - "description": "AdditionalSecurityGroups is an array of references to security groups that should be applied to the instances", - "type": "array", - "uniqueItems": true, - "items": { - "description": "AWSResourceReference is a reference to a specific AWS resource by ID or filters", + "edgeHosts": { + "type": "array", + "uniqueItems": true, + "items": { + "required": [ + "hostUid" + ], + "properties": { + "hostName": { + "description": "Edge host name", + "type": "string" + }, + "hostUid": { + "description": "Edge host id", + "type": "string" + }, + "nic": { "type": "object", "properties": { - "arn": { - "description": "ARN of resource", - "type": "string" - }, - "filters": { - "description": "Filters is a set of key/value pairs used to identify a resource", + "dns": { "type": "array", - "uniqueItems": true, "items": { - "description": "Filter is a filter used to identify an AWS resource", - "type": "object", - "properties": { - "name": { - "description": "Name of the filter. Filter names are case-sensitive", - "type": "string" - }, - "values": { - "description": "Values includes one or more filter values. Filter values are case-sensitive", - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - } - } + "type": "string" } }, - "id": { - "description": "ID of resource", + "gateway": { + "type": "string" + }, + "ip": { + "type": "string" + }, + "isDefault": { + "type": "boolean" + }, + "macAddr": { + "type": "string" + }, + "nicName": { + "type": "string" + }, + "subnet": { "type": "string" } } - } - }, - "ami": { - "description": "AMI is the reference to the AMI from which to create the machine instance", - "type": "object", - "properties": { - "eksOptimizedLookupType": { - "description": "EKSOptimizedLookupType If specified, will look up an EKS Optimized image in SSM Parameter store", - "type": "string", - "enum": [ - "AmazonLinux", - "AmazonLinuxGPU" - ] - }, - "id": { - "description": "ID of resource", - "type": "string" - } - } - }, - "imageLookupBaseOS": { - "description": "ImageLookupBaseOS is the name of the base operating system to use for image lookup the AMI is not set", - "type": "string" - }, - "imageLookupFormat": { - "description": "ImageLookupFormat is the AMI naming format to look up the image", - "type": "string" - }, - "imageLookupOrg": { - "description": "ImageLookupOrg is the AWS Organization ID to use for image lookup if AMI is not set", - "type": "string" - }, - "rootVolume": { - "description": "Volume encapsulates the configuration options for the storage device.", - "type": "object", - "properties": { - "deviceName": { - "description": "Device name", - "type": "string" - }, - "encrypted": { - "description": "EncryptionKey is the KMS key to use to encrypt the volume. Can be either a KMS key ID or ARN", - "type": "boolean" - }, - "encryptionKey": { - "description": "EncryptionKey is the KMS key to use to encrypt the volume. Can be either a KMS key ID or ARN", - "type": "string" - }, - "iops": { - "description": "IOPS is the number of IOPS requested for the disk. Not applicable to all types", - "type": "integer", - "format": "int64" - }, - "throughput": { - "description": "Throughput to provision in MiB/s supported for the volume type. Not applicable to all types.", - "type": "integer", - "format": "int64" - }, - "type": { - "description": "Type is the type of the volume (e.g. gp2, io1, etc...)", - "type": "string" - } - } - } - } - }, - "azs": { - "type": "array", - "items": { - "type": "string" - } - }, - "capacityType": { - "description": "EC2 instance capacity type", - "type": "string", - "default": "on-demand", - "enum": [ - "on-demand", - "spot" - ] - }, - "enableAwsLaunchTemplate": { - "description": "flag to know if aws launch template is enabled", - "type": "boolean" - }, - "instanceType": { - "description": "instance type", - "type": "string" - }, - "rootDeviceSize": { - "description": "rootDeviceSize in GBs", - "type": "integer", - "format": "int64", - "maximum": 2000, - "minimum": 1 - }, - "spotMarketOptions": { - "description": "SpotMarketOptions defines the options available to a user when configuring Machines to run on Spot instances. Most users should provide an empty struct.", - "type": "object", - "properties": { - "maxPrice": { - "description": "MaxPrice defines the maximum price the user is willing to pay for Spot VM instances", - "type": "string" - } - } - }, - "subnets": { - "type": "array", - "items": { - "properties": { - "az": { + }, + "nicName": { + "description": "Deprecated - Edge host nic name", "type": "string" }, - "id": { + "staticIP": { + "description": "Deprecated - Edge host static IP", "type": "string" + }, + "twoNodeCandidatePriority": { + "description": "Set the edgehost candidate priority as primary or secondary, if the edgehost is nominated as two node candidate", + "type": "string", + "enum": [ + "primary", + "secondary" + ] } } } @@ -136743,7 +122094,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -136787,7 +122138,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -136833,7 +122184,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -136854,7 +122205,7 @@ ], "responses": { "200": { - "description": "Eks Cluster estimated rate response", + "description": "EdgeNative Cluster estimated rate response", "schema": { "description": "Cluster estimated rate information", "type": "object", @@ -137157,7 +122508,7 @@ } } }, - "/v1/spectroclusters/eks/validate": { + "/v1/spectroclusters/edge-native/validate": { "post": { "security": [ { @@ -137170,14 +122521,14 @@ "tags": [ "v1" ], - "summary": "Validates EKS cluster create operation", - "operationId": "v1SpectroClustersEksValidate", + "summary": "Validates edge-native cluster create operation", + "operationId": "v1SpectroClustersEdgeNativeValidate", "parameters": [ { "name": "body", "in": "body", "schema": { - "description": "Spectro EKS cluster request payload for create and update", + "description": "EdgeNative cluster create or update request payload", "type": "object", "properties": { "metadata": { @@ -137185,7 +122536,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -137202,7 +122553,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -137214,131 +122565,72 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, "spec": { "type": "object", - "required": [ - "cloudAccountUid", - "cloudConfig" - ], "properties": { - "cloudAccountUid": { - "description": "Cloud account uid to be used for cluster provisioning", - "type": "string" - }, "cloudConfig": { - "description": "EksClusterConfig defines EKS specific config", + "description": "EdgeNativeClusterConfig definnes Edge Native Cluster specific Spec", "type": "object", - "required": [ - "region" - ], "properties": { - "addons": { - "description": "Addons defines the EKS addons to enable with the EKS cluster. This may be required for brownfield clusters", - "type": "array", - "items": { - "description": "EksAddon represents a EKS addon", - "type": "object", - "required": [ - "name", - "version" - ], - "properties": { - "conflictResolution": { - "description": "ConflictResolution is used to declare what should happen if there are parameter conflicts.", - "type": "string" - }, - "name": { - "description": "Name is the name of the addon", - "type": "string" - }, - "serviceAccountRoleARN": { - "description": "ServiceAccountRoleArn is the ARN of an IAM role to bind to the addons service account", - "type": "string" - }, - "version": { - "description": "Version is the version of the addon to use", - "type": "string" - } - } - } - }, - "bastionDisabled": { - "description": "BastionDisabled is the option to disable bastion node", - "type": "boolean" - }, - "controlPlaneLoadBalancer": { - "description": "ControlPlaneLoadBalancer specifies how API server elb will be configured, this field is optional, not provided, \"\", default =\u003e \"Internet-facing\" \"Internet-facing\" =\u003e \"Internet-facing\" \"internal\" =\u003e \"internal\" For spectro saas setup we require to talk to the apiserver from our cluster so ControlPlaneLoadBalancer should be \"\", not provided or \"Internet-facing\"", - "type": "string" - }, - "encryptionConfig": { - "description": "EncryptionConfig specifies the encryption configuration for the EKS clsuter.", + "controlPlaneEndpoint": { "type": "object", "properties": { - "isEnabled": { - "description": "Is encryption configuration enabled for the cluster", - "type": "boolean" + "ddnsSearchDomain": { + "description": "DDNSSearchDomain is the search domain used for resolving IP addresses when the EndpointType is DDNS. This search domain is appended to the generated Hostname to obtain the complete DNS name for the endpoint. If Host is already a DDNS FQDN, DDNSSearchDomain is not required", + "type": "string" }, - "provider": { - "description": "Provider specifies the ARN or alias of the CMK (in AWS KMS)", + "host": { + "description": "Host is FQDN(DDNS) or IP", "type": "string" }, - "resources": { - "description": "Resources specifies the resources to be encrypted", - "type": "array", - "items": { - "type": "string" - } + "type": { + "description": "Type indicates DDNS or VIP", + "type": "string" } } }, - "endpointAccess": { - "description": "EndpointAccess specifies how control plane endpoints are accessible", + "ntpServers": { + "description": "NTPServers is a list of NTP servers to use instead of the machine image's default NTP server list", + "type": "array", + "items": { + "type": "string", + "default": "" + } + }, + "overlayNetworkConfiguration": { "type": "object", "properties": { - "private": { - "description": "Private points VPC-internal control plane access to the private endpoint", - "type": "boolean" - }, - "privateCIDRs": { - "description": "PrivateCIDRs specifies which blocks can access the private endpoint", - "type": "array", - "items": { - "type": "string" - } - }, - "public": { - "description": "Public controls whether control plane endpoints are publicly accessible", - "type": "boolean" + "cidr": { + "description": "CIDR is the CIDR of the overlay network", + "type": "string" }, - "publicCIDRs": { - "description": "PublicCIDRs specifies which blocks can access the public endpoint", - "type": "array", - "items": { - "type": "string" - } + "enable": { + "description": "Enable is a flag to enable overlay network", + "type": "boolean", + "x-omitempty": false } } }, - "region": { - "description": "The AWS Region the cluster lives in.", - "type": "string" - }, - "sshKeyName": { - "description": "SSHKeyName specifies which EC2 SSH key can be used to access machines.", - "type": "string" + "sshKeys": { + "description": "SSHKeys specifies a list of ssh authorized keys to access the vms as a 'spectro' user", + "type": "array", + "items": { + "type": "string", + "default": "" + } }, - "vpcId": { - "description": "VPC Id to deploy cluster into should have one public and one private subnet for the the cluster creation, this field is optional, If VPC Id is not provided a fully managed VPC will be created", - "type": "string" + "staticIp": { + "description": "StaticIP indicates if IP allocation type is static IP. DHCP is the default allocation type", + "type": "boolean" } } }, @@ -137411,11 +122703,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -137429,11 +122721,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -137743,225 +123035,76 @@ } } }, - "fargateProfiles": { - "type": "array", - "items": { - "description": "FargateProfile defines the desired state of FargateProfile", - "type": "object", - "required": [ - "name" - ], - "properties": { - "additionalTags": { - "description": "AdditionalTags is an optional set of tags to add to AWS resources managed by the AWS provider, in addition to the ones added by default.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "name": { - "description": "name specifies the profile name.", - "type": "string" - }, - "selectors": { - "description": "Selectors specify fargate pod selectors.", - "type": "array", - "items": { - "description": "FargateSelector specifies a selector for pods that should run on this fargate pool", - "type": "object", - "required": [ - "namespace" - ], - "properties": { - "labels": { - "description": "Labels specifies which pod labels this selector should match.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "namespace": { - "description": "Namespace specifies which namespace this selector should match.", - "type": "string" - } - } - } - }, - "subnetIds": { - "description": "SubnetIDs specifies which subnets are used for the auto scaling group of this nodegroup.", - "type": "array", - "items": { - "type": "string" - } - } - } - } - }, "machinepoolconfig": { "type": "array", "items": { + "type": "object", "properties": { "cloudConfig": { + "required": [ + "edgeHosts" + ], "properties": { - "awsLaunchTemplate": { - "description": "AWSLaunchTemplate specifies the launch template to use to create the managed node group", - "type": "object", - "properties": { - "additionalSecurityGroups": { - "description": "AdditionalSecurityGroups is an array of references to security groups that should be applied to the instances", - "type": "array", - "uniqueItems": true, - "items": { - "description": "AWSResourceReference is a reference to a specific AWS resource by ID or filters", + "edgeHosts": { + "type": "array", + "uniqueItems": true, + "items": { + "required": [ + "hostUid" + ], + "properties": { + "hostName": { + "description": "Edge host name", + "type": "string" + }, + "hostUid": { + "description": "Edge host id", + "type": "string" + }, + "nic": { "type": "object", "properties": { - "arn": { - "description": "ARN of resource", - "type": "string" - }, - "filters": { - "description": "Filters is a set of key/value pairs used to identify a resource", + "dns": { "type": "array", - "uniqueItems": true, "items": { - "description": "Filter is a filter used to identify an AWS resource", - "type": "object", - "properties": { - "name": { - "description": "Name of the filter. Filter names are case-sensitive", - "type": "string" - }, - "values": { - "description": "Values includes one or more filter values. Filter values are case-sensitive", - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - } - } + "type": "string" } }, - "id": { - "description": "ID of resource", + "gateway": { + "type": "string" + }, + "ip": { + "type": "string" + }, + "isDefault": { + "type": "boolean" + }, + "macAddr": { + "type": "string" + }, + "nicName": { + "type": "string" + }, + "subnet": { "type": "string" } } - } - }, - "ami": { - "description": "AMI is the reference to the AMI from which to create the machine instance", - "type": "object", - "properties": { - "eksOptimizedLookupType": { - "description": "EKSOptimizedLookupType If specified, will look up an EKS Optimized image in SSM Parameter store", - "type": "string", - "enum": [ - "AmazonLinux", - "AmazonLinuxGPU" - ] - }, - "id": { - "description": "ID of resource", - "type": "string" - } - } - }, - "imageLookupBaseOS": { - "description": "ImageLookupBaseOS is the name of the base operating system to use for image lookup the AMI is not set", - "type": "string" - }, - "imageLookupFormat": { - "description": "ImageLookupFormat is the AMI naming format to look up the image", - "type": "string" - }, - "imageLookupOrg": { - "description": "ImageLookupOrg is the AWS Organization ID to use for image lookup if AMI is not set", - "type": "string" - }, - "rootVolume": { - "description": "Volume encapsulates the configuration options for the storage device.", - "type": "object", - "properties": { - "deviceName": { - "description": "Device name", - "type": "string" - }, - "encrypted": { - "description": "EncryptionKey is the KMS key to use to encrypt the volume. Can be either a KMS key ID or ARN", - "type": "boolean" - }, - "encryptionKey": { - "description": "EncryptionKey is the KMS key to use to encrypt the volume. Can be either a KMS key ID or ARN", - "type": "string" - }, - "iops": { - "description": "IOPS is the number of IOPS requested for the disk. Not applicable to all types", - "type": "integer", - "format": "int64" - }, - "throughput": { - "description": "Throughput to provision in MiB/s supported for the volume type. Not applicable to all types.", - "type": "integer", - "format": "int64" - }, - "type": { - "description": "Type is the type of the volume (e.g. gp2, io1, etc...)", - "type": "string" - } - } - } - } - }, - "azs": { - "type": "array", - "items": { - "type": "string" - } - }, - "capacityType": { - "description": "EC2 instance capacity type", - "type": "string", - "default": "on-demand", - "enum": [ - "on-demand", - "spot" - ] - }, - "enableAwsLaunchTemplate": { - "description": "flag to know if aws launch template is enabled", - "type": "boolean" - }, - "instanceType": { - "description": "instance type", - "type": "string" - }, - "rootDeviceSize": { - "description": "rootDeviceSize in GBs", - "type": "integer", - "format": "int64", - "maximum": 2000, - "minimum": 1 - }, - "spotMarketOptions": { - "description": "SpotMarketOptions defines the options available to a user when configuring Machines to run on Spot instances. Most users should provide an empty struct.", - "type": "object", - "properties": { - "maxPrice": { - "description": "MaxPrice defines the maximum price the user is willing to pay for Spot VM instances", - "type": "string" - } - } - }, - "subnets": { - "type": "array", - "items": { - "properties": { - "az": { + }, + "nicName": { + "description": "Deprecated - Edge host nic name", "type": "string" }, - "id": { + "staticIP": { + "description": "Deprecated - Edge host static IP", "type": "string" + }, + "twoNodeCandidatePriority": { + "description": "Set the edgehost candidate priority as primary or secondary, if the edgehost is nominated as two node candidate", + "type": "string", + "enum": [ + "primary", + "secondary" + ] } } } @@ -137997,7 +123140,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -138041,7 +123184,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -138087,7 +123230,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -138264,6 +123407,26 @@ "uid": { "description": "Cluster profile uid", "type": "string" + }, + "variables": { + "type": "array", + "items": { + "description": "Variable with value which will be used within the packs of cluster profile", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Variable name", + "type": "string" + }, + "value": { + "description": "Actual value of the variable to be used within the cluster", + "type": "string" + } + } + } } } } @@ -138282,7 +123445,7 @@ ], "responses": { "200": { - "description": "Eks Cluster validation response", + "description": "EdgeNative Cluster validation response", "schema": { "description": "Cluster validator response", "type": "object", @@ -138381,232 +123544,7 @@ } } }, - "/v1/spectroclusters/features/backup/locations/{uid}": { - "get": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Returns the cluster object references based on locationUid", - "operationId": "V1ClusterFeatureBackupLocationUidGet", - "parameters": [ - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "description": "Cluster Object References", - "properties": { - "clusters": { - "type": "array", - "items": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", - "type": "string" - } - } - } - } - } - } - } - } - }, - "put": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Change cluster backup location", - "operationId": "V1ClusterFeatureBackupLocationUidChange", - "parameters": [ - { - "name": "body", - "in": "body", - "schema": { - "description": "Cluster backup location type", - "required": [ - "locationType" - ], - "properties": { - "locationType": { - "type": "string" - } - } - } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "204": { - "description": "The resource was updated successfully" - } - } - }, - "parameters": [ - { - "type": "string", - "name": "uid", - "in": "path", - "required": true - } - ] - }, - "/v1/spectroclusters/features/logFetcher/{uid}/download": { - "get": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "produces": [ - "application/octet-stream" - ], - "tags": [ - "v1" - ], - "summary": "Download log fetcher logs for cluster by log fetcher uid", - "operationId": "v1ClusterFeatureLogFetcherLogDownload", - "parameters": [ - { - "type": "string", - "name": "fileName", - "in": "query" - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "file" - }, - "headers": { - "Content-Disposition": { - "type": "string" - }, - "Content-Type": { - "type": "string" - } - } - } - } - }, - "parameters": [ - { - "type": "string", - "description": "Cluster uid for which log is requested", - "name": "uid", - "in": "path", - "required": true - } - ] - }, - "/v1/spectroclusters/features/logFetcher/{uid}/log": { - "post": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "consumes": [ - "multipart/form-data" - ], - "tags": [ - "v1" - ], - "summary": "Update log fetcher logs by log fetcher uid", - "operationId": "v1ClusterFeatureLogFetcherLogUpdate", - "parameters": [ - { - "type": "file", - "description": "Log file by agent", - "name": "fileName", - "in": "formData" - }, - { - "type": "string", - "description": "Unique request Id", - "name": "requestId", - "in": "query" - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "204": { - "description": "Ok response without content", - "headers": { - "AuditUid": { - "type": "string", - "description": "Audit uid for the request" - } - } - } - } - }, - "parameters": [ - { - "type": "string", - "description": "Cluster uid for which log is requested", - "name": "uid", - "in": "path", - "required": true - } - ] - }, - "/v1/spectroclusters/gcp": { + "/v1/spectroclusters/eks": { "post": { "security": [ { @@ -138619,14 +123557,14 @@ "tags": [ "v1" ], - "summary": "Creates a GCP cluster", - "operationId": "v1SpectroClustersGcpCreate", + "summary": "Creates an EKS cluster", + "operationId": "v1SpectroClustersEksCreate", "parameters": [ { "name": "body", "in": "body", "schema": { - "description": "GCP cluster request payload for create and update", + "description": "Spectro EKS cluster request payload for create and update", "type": "object", "properties": { "metadata": { @@ -138634,7 +123572,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -138651,7 +123589,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -138663,11 +123601,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -138675,7 +123613,6 @@ "spec": { "type": "object", "required": [ - "cloudType", "cloudAccountUid", "cloudConfig" ], @@ -138685,37 +123622,109 @@ "type": "string" }, "cloudConfig": { - "description": "Cluster level configuration for gcp cloud and applicable for all the machine pools", + "description": "EksClusterConfig defines EKS specific config", "type": "object", "required": [ - "project", "region" ], "properties": { - "managedClusterConfig": { - "description": "GCP managed cluster config", + "addons": { + "description": "Addons defines the EKS addons to enable with the EKS cluster. This may be required for brownfield clusters", + "type": "array", + "items": { + "description": "EksAddon represents a EKS addon", + "type": "object", + "required": [ + "name", + "version" + ], + "properties": { + "conflictResolution": { + "description": "ConflictResolution is used to declare what should happen if there are parameter conflicts.", + "type": "string" + }, + "name": { + "description": "Name is the name of the addon", + "type": "string" + }, + "serviceAccountRoleARN": { + "description": "ServiceAccountRoleArn is the ARN of an IAM role to bind to the addons service account", + "type": "string" + }, + "version": { + "description": "Version is the version of the addon to use", + "type": "string" + } + } + } + }, + "bastionDisabled": { + "description": "BastionDisabled is the option to disable bastion node", + "type": "boolean" + }, + "controlPlaneLoadBalancer": { + "description": "ControlPlaneLoadBalancer specifies how API server elb will be configured, this field is optional, not provided, \"\", default =\u003e \"Internet-facing\" \"Internet-facing\" =\u003e \"Internet-facing\" \"internal\" =\u003e \"internal\" For spectro saas setup we require to talk to the apiserver from our cluster so ControlPlaneLoadBalancer should be \"\", not provided or \"Internet-facing\"", + "type": "string" + }, + "encryptionConfig": { + "description": "EncryptionConfig specifies the encryption configuration for the EKS clsuter.", "type": "object", "properties": { - "enableAutoPilot": { - "description": "EnableAutopilot indicates whether to enable autopilot for this GKE cluster", + "isEnabled": { + "description": "Is encryption configuration enabled for the cluster", "type": "boolean" }, - "location": { - "description": "Can be Region or Zone", + "provider": { + "description": "Provider specifies the ARN or alias of the CMK (in AWS KMS)", "type": "string" + }, + "resources": { + "description": "Resources specifies the resources to be encrypted", + "type": "array", + "items": { + "type": "string" + } } } }, - "network": { - "description": "NetworkName if empty would create VPC Network in auto mode. If provided, custom VPC network will be used", + "endpointAccess": { + "description": "EndpointAccess specifies how control plane endpoints are accessible", + "type": "object", + "properties": { + "private": { + "description": "Private points VPC-internal control plane access to the private endpoint", + "type": "boolean" + }, + "privateCIDRs": { + "description": "PrivateCIDRs specifies which blocks can access the private endpoint", + "type": "array", + "items": { + "type": "string" + } + }, + "public": { + "description": "Public controls whether control plane endpoints are publicly accessible", + "type": "boolean" + }, + "publicCIDRs": { + "description": "PublicCIDRs specifies which blocks can access the public endpoint", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "region": { + "description": "The AWS Region the cluster lives in.", "type": "string" }, - "project": { - "description": "Name of the project in which cluster is to be deployed", + "sshKeyName": { + "description": "SSHKeyName specifies which EC2 SSH key can be used to access machines.", "type": "string" }, - "region": { - "description": "GCP region for the cluster", + "vpcId": { + "description": "VPC Id to deploy cluster into should have one public and one private subnet for the the cluster creation, this field is optional, If VPC Id is not provided a fully managed VPC will be created", "type": "string" } } @@ -138789,11 +123798,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -138807,11 +123816,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -139121,37 +124130,215 @@ } } }, - "machinepoolconfig": { + "fargateProfiles": { "type": "array", "items": { + "description": "FargateProfile defines the desired state of FargateProfile", "type": "object", "required": [ - "cloudConfig" + "name" ], "properties": { - "cloudConfig": { + "additionalTags": { + "description": "AdditionalTags is an optional set of tags to add to AWS resources managed by the AWS provider, in addition to the ones added by default.", "type": "object", - "required": [ - "instanceType" - ], + "additionalProperties": { + "type": "string" + } + }, + "name": { + "description": "name specifies the profile name.", + "type": "string" + }, + "selectors": { + "description": "Selectors specify fargate pod selectors.", + "type": "array", + "items": { + "description": "FargateSelector specifies a selector for pods that should run on this fargate pool", + "type": "object", + "required": [ + "namespace" + ], + "properties": { + "labels": { + "description": "Labels specifies which pod labels this selector should match.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "namespace": { + "description": "Namespace specifies which namespace this selector should match.", + "type": "string" + } + } + } + }, + "subnetIds": { + "description": "SubnetIDs specifies which subnets are used for the auto scaling group of this nodegroup.", + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "machinepoolconfig": { + "type": "array", + "items": { + "properties": { + "cloudConfig": { "properties": { + "awsLaunchTemplate": { + "description": "AWSLaunchTemplate specifies the launch template to use to create the managed node group", + "type": "object", + "properties": { + "additionalSecurityGroups": { + "description": "AdditionalSecurityGroups is an array of references to security groups that should be applied to the instances", + "type": "array", + "uniqueItems": true, + "items": { + "description": "AWSResourceReference is a reference to a specific AWS resource by ID or filters", + "type": "object", + "properties": { + "arn": { + "description": "ARN of resource", + "type": "string" + }, + "filters": { + "description": "Filters is a set of key/value pairs used to identify a resource", + "type": "array", + "uniqueItems": true, + "items": { + "description": "Filter is a filter used to identify an AWS resource", + "type": "object", + "properties": { + "name": { + "description": "Name of the filter. Filter names are case-sensitive", + "type": "string" + }, + "values": { + "description": "Values includes one or more filter values. Filter values are case-sensitive", + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + } + } + } + }, + "id": { + "description": "ID of resource", + "type": "string" + } + } + } + }, + "ami": { + "description": "AMI is the reference to the AMI from which to create the machine instance", + "type": "object", + "properties": { + "eksOptimizedLookupType": { + "description": "EKSOptimizedLookupType If specified, will look up an EKS Optimized image in SSM Parameter store", + "type": "string", + "enum": [ + "AmazonLinux", + "AmazonLinuxGPU" + ] + }, + "id": { + "description": "ID of resource", + "type": "string" + } + } + }, + "imageLookupBaseOS": { + "description": "ImageLookupBaseOS is the name of the base operating system to use for image lookup the AMI is not set", + "type": "string" + }, + "imageLookupFormat": { + "description": "ImageLookupFormat is the AMI naming format to look up the image", + "type": "string" + }, + "imageLookupOrg": { + "description": "ImageLookupOrg is the AWS Organization ID to use for image lookup if AMI is not set", + "type": "string" + }, + "rootVolume": { + "description": "Volume encapsulates the configuration options for the storage device.", + "type": "object", + "properties": { + "deviceName": { + "description": "Device name", + "type": "string" + }, + "encrypted": { + "description": "EncryptionKey is the KMS key to use to encrypt the volume. Can be either a KMS key ID or ARN", + "type": "boolean" + }, + "encryptionKey": { + "description": "EncryptionKey is the KMS key to use to encrypt the volume. Can be either a KMS key ID or ARN", + "type": "string" + }, + "iops": { + "description": "IOPS is the number of IOPS requested for the disk. Not applicable to all types", + "type": "integer", + "format": "int64" + }, + "throughput": { + "description": "Throughput to provision in MiB/s supported for the volume type. Not applicable to all types.", + "type": "integer", + "format": "int64" + }, + "type": { + "description": "Type is the type of the volume (e.g. gp2, io1, etc...)", + "type": "string" + } + } + } + } + }, "azs": { "type": "array", "items": { "type": "string" } }, + "capacityType": { + "description": "EC2 instance capacity type", + "type": "string", + "default": "on-demand", + "enum": [ + "on-demand", + "spot" + ] + }, + "enableAwsLaunchTemplate": { + "description": "flag to know if aws launch template is enabled", + "type": "boolean" + }, "instanceType": { + "description": "instance type", "type": "string" }, "rootDeviceSize": { - "description": "Size of root volume in GB. Default is 30GB", + "description": "rootDeviceSize in GBs", "type": "integer", - "format": "int64" + "format": "int64", + "maximum": 2000, + "minimum": 1 }, - "subnet": { - "description": "Subnet specifies the subnetwork to use for given instance. If not specified, the first subnet from the cluster region and network is used", - "type": "string" + "spotMarketOptions": { + "description": "SpotMarketOptions defines the options available to a user when configuring Machines to run on Spot instances. Most users should provide an empty struct.", + "type": "object", + "properties": { + "maxPrice": { + "description": "MaxPrice defines the maximum price the user is willing to pay for Spot VM instances", + "type": "string" + } + } }, "subnets": { "type": "array", @@ -139197,7 +124384,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -139241,7 +124428,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -139287,7 +124474,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -139464,129 +124651,25 @@ "uid": { "description": "Cluster profile uid", "type": "string" - } - } - } - } - } - } - } - } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "201": { - "description": "Created successfully", - "schema": { - "type": "object", - "required": [ - "uid" - ], - "properties": { - "uid": { - "type": "string" - } - } - }, - "headers": { - "AuditUid": { - "type": "string", - "description": "Audit uid for the request" - } - } - } - } - } - }, - "/v1/spectroclusters/gcp/import": { - "post": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Imports a GCP cluster", - "operationId": "v1SpectroClustersGcpImport", - "parameters": [ - { - "name": "body", - "in": "body", - "schema": { - "description": "Spectro GCP cluster import request payload", - "type": "object", - "properties": { - "metadata": { - "description": "ObjectMeta input entity for object creation", - "type": "object", - "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "name": { - "description": "Name of the resource.", - "type": "string" - } - } - }, - "spec": { - "type": "object", - "properties": { - "clusterConfig": { - "type": "object", - "properties": { - "importMode": { - "description": "If the importMode is empty then cluster is imported with full permission mode. By default importMode is empty and cluster is imported in full permission mode.", - "type": "string", - "enum": [ - "read-only" - ] - }, - "proxy": { - "description": "cluster proxy config spec", - "type": "object", - "properties": { - "caContainerMountPath": { - "description": "Location to mount Proxy CA cert inside container", - "type": "string" - }, - "caHostPath": { - "description": "Location for Proxy CA cert on host nodes", - "type": "string" - }, - "httpProxy": { - "description": "URL for HTTP requests unless overridden by NoProxy", - "type": "string" - }, - "httpsProxy": { - "description": "HTTPS requests unless overridden by NoProxy", - "type": "string" - }, - "noProxy": { - "description": "NoProxy represents the NO_PROXY or no_proxy environment", - "type": "string" + }, + "variables": { + "type": "array", + "items": { + "description": "Variable with value which will be used within the packs of cluster profile", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Variable name", + "type": "string" + }, + "value": { + "description": "Actual value of the variable to be used within the cluster", + "type": "string" + } + } } } } @@ -139628,7 +124711,7 @@ } } }, - "/v1/spectroclusters/gcp/rate": { + "/v1/spectroclusters/eks/rate": { "post": { "security": [ { @@ -139641,8 +124724,8 @@ "tags": [ "v1" ], - "summary": "Get GCP cluster estimated rate information", - "operationId": "v1SpectroClustersGcpRate", + "summary": "Get EKS cluster estimated rate information", + "operationId": "v1SpectroClustersEksRate", "parameters": [ { "enum": [ @@ -139659,41 +124742,113 @@ "name": "body", "in": "body", "schema": { - "description": "Gcp cluster request payload for estimating rate", + "description": "Spectro EKS cluster request payload for estimating rate", "type": "object", "properties": { "cloudConfig": { - "description": "Cluster level configuration for gcp cloud and applicable for all the machine pools", + "description": "EksClusterConfig defines EKS specific config", "type": "object", "required": [ - "project", "region" ], "properties": { - "managedClusterConfig": { - "description": "GCP managed cluster config", + "addons": { + "description": "Addons defines the EKS addons to enable with the EKS cluster. This may be required for brownfield clusters", + "type": "array", + "items": { + "description": "EksAddon represents a EKS addon", + "type": "object", + "required": [ + "name", + "version" + ], + "properties": { + "conflictResolution": { + "description": "ConflictResolution is used to declare what should happen if there are parameter conflicts.", + "type": "string" + }, + "name": { + "description": "Name is the name of the addon", + "type": "string" + }, + "serviceAccountRoleARN": { + "description": "ServiceAccountRoleArn is the ARN of an IAM role to bind to the addons service account", + "type": "string" + }, + "version": { + "description": "Version is the version of the addon to use", + "type": "string" + } + } + } + }, + "bastionDisabled": { + "description": "BastionDisabled is the option to disable bastion node", + "type": "boolean" + }, + "controlPlaneLoadBalancer": { + "description": "ControlPlaneLoadBalancer specifies how API server elb will be configured, this field is optional, not provided, \"\", default =\u003e \"Internet-facing\" \"Internet-facing\" =\u003e \"Internet-facing\" \"internal\" =\u003e \"internal\" For spectro saas setup we require to talk to the apiserver from our cluster so ControlPlaneLoadBalancer should be \"\", not provided or \"Internet-facing\"", + "type": "string" + }, + "encryptionConfig": { + "description": "EncryptionConfig specifies the encryption configuration for the EKS clsuter.", "type": "object", "properties": { - "enableAutoPilot": { - "description": "EnableAutopilot indicates whether to enable autopilot for this GKE cluster", + "isEnabled": { + "description": "Is encryption configuration enabled for the cluster", "type": "boolean" }, - "location": { - "description": "Can be Region or Zone", + "provider": { + "description": "Provider specifies the ARN or alias of the CMK (in AWS KMS)", "type": "string" + }, + "resources": { + "description": "Resources specifies the resources to be encrypted", + "type": "array", + "items": { + "type": "string" + } } } }, - "network": { - "description": "NetworkName if empty would create VPC Network in auto mode. If provided, custom VPC network will be used", + "endpointAccess": { + "description": "EndpointAccess specifies how control plane endpoints are accessible", + "type": "object", + "properties": { + "private": { + "description": "Private points VPC-internal control plane access to the private endpoint", + "type": "boolean" + }, + "privateCIDRs": { + "description": "PrivateCIDRs specifies which blocks can access the private endpoint", + "type": "array", + "items": { + "type": "string" + } + }, + "public": { + "description": "Public controls whether control plane endpoints are publicly accessible", + "type": "boolean" + }, + "publicCIDRs": { + "description": "PublicCIDRs specifies which blocks can access the public endpoint", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "region": { + "description": "The AWS Region the cluster lives in.", "type": "string" }, - "project": { - "description": "Name of the project in which cluster is to be deployed", + "sshKeyName": { + "description": "SSHKeyName specifies which EC2 SSH key can be used to access machines.", "type": "string" }, - "region": { - "description": "GCP region for the cluster", + "vpcId": { + "description": "VPC Id to deploy cluster into should have one public and one private subnet for the the cluster creation, this field is optional, If VPC Id is not provided a fully managed VPC will be created", "type": "string" } } @@ -139701,34 +124856,158 @@ "machinepoolconfig": { "type": "array", "items": { - "type": "object", - "required": [ - "cloudConfig" - ], "properties": { "cloudConfig": { - "type": "object", - "required": [ - "instanceType" - ], "properties": { + "awsLaunchTemplate": { + "description": "AWSLaunchTemplate specifies the launch template to use to create the managed node group", + "type": "object", + "properties": { + "additionalSecurityGroups": { + "description": "AdditionalSecurityGroups is an array of references to security groups that should be applied to the instances", + "type": "array", + "uniqueItems": true, + "items": { + "description": "AWSResourceReference is a reference to a specific AWS resource by ID or filters", + "type": "object", + "properties": { + "arn": { + "description": "ARN of resource", + "type": "string" + }, + "filters": { + "description": "Filters is a set of key/value pairs used to identify a resource", + "type": "array", + "uniqueItems": true, + "items": { + "description": "Filter is a filter used to identify an AWS resource", + "type": "object", + "properties": { + "name": { + "description": "Name of the filter. Filter names are case-sensitive", + "type": "string" + }, + "values": { + "description": "Values includes one or more filter values. Filter values are case-sensitive", + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + } + } + } + }, + "id": { + "description": "ID of resource", + "type": "string" + } + } + } + }, + "ami": { + "description": "AMI is the reference to the AMI from which to create the machine instance", + "type": "object", + "properties": { + "eksOptimizedLookupType": { + "description": "EKSOptimizedLookupType If specified, will look up an EKS Optimized image in SSM Parameter store", + "type": "string", + "enum": [ + "AmazonLinux", + "AmazonLinuxGPU" + ] + }, + "id": { + "description": "ID of resource", + "type": "string" + } + } + }, + "imageLookupBaseOS": { + "description": "ImageLookupBaseOS is the name of the base operating system to use for image lookup the AMI is not set", + "type": "string" + }, + "imageLookupFormat": { + "description": "ImageLookupFormat is the AMI naming format to look up the image", + "type": "string" + }, + "imageLookupOrg": { + "description": "ImageLookupOrg is the AWS Organization ID to use for image lookup if AMI is not set", + "type": "string" + }, + "rootVolume": { + "description": "Volume encapsulates the configuration options for the storage device.", + "type": "object", + "properties": { + "deviceName": { + "description": "Device name", + "type": "string" + }, + "encrypted": { + "description": "EncryptionKey is the KMS key to use to encrypt the volume. Can be either a KMS key ID or ARN", + "type": "boolean" + }, + "encryptionKey": { + "description": "EncryptionKey is the KMS key to use to encrypt the volume. Can be either a KMS key ID or ARN", + "type": "string" + }, + "iops": { + "description": "IOPS is the number of IOPS requested for the disk. Not applicable to all types", + "type": "integer", + "format": "int64" + }, + "throughput": { + "description": "Throughput to provision in MiB/s supported for the volume type. Not applicable to all types.", + "type": "integer", + "format": "int64" + }, + "type": { + "description": "Type is the type of the volume (e.g. gp2, io1, etc...)", + "type": "string" + } + } + } + } + }, "azs": { "type": "array", "items": { "type": "string" } }, + "capacityType": { + "description": "EC2 instance capacity type", + "type": "string", + "default": "on-demand", + "enum": [ + "on-demand", + "spot" + ] + }, + "enableAwsLaunchTemplate": { + "description": "flag to know if aws launch template is enabled", + "type": "boolean" + }, "instanceType": { + "description": "instance type", "type": "string" }, "rootDeviceSize": { - "description": "Size of root volume in GB. Default is 30GB", + "description": "rootDeviceSize in GBs", "type": "integer", - "format": "int64" + "format": "int64", + "maximum": 2000, + "minimum": 1 }, - "subnet": { - "description": "Subnet specifies the subnetwork to use for given instance. If not specified, the first subnet from the cluster region and network is used", - "type": "string" + "spotMarketOptions": { + "description": "SpotMarketOptions defines the options available to a user when configuring Machines to run on Spot instances. Most users should provide an empty struct.", + "type": "object", + "properties": { + "maxPrice": { + "description": "MaxPrice defines the maximum price the user is willing to pay for Spot VM instances", + "type": "string" + } + } }, "subnets": { "type": "array", @@ -139774,7 +125053,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -139818,7 +125097,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -139864,7 +125143,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -139885,7 +125164,7 @@ ], "responses": { "200": { - "description": "Gcp Cluster estimated rate response", + "description": "Eks Cluster estimated rate response", "schema": { "description": "Cluster estimated rate information", "type": "object", @@ -140188,7 +125467,7 @@ } } }, - "/v1/spectroclusters/gcp/validate": { + "/v1/spectroclusters/eks/validate": { "post": { "security": [ { @@ -140201,14 +125480,14 @@ "tags": [ "v1" ], - "summary": "Validates GCP cluster create operation", - "operationId": "v1SpectroClustersGcpValidate", + "summary": "Validates EKS cluster create operation", + "operationId": "v1SpectroClustersEksValidate", "parameters": [ { "name": "body", "in": "body", "schema": { - "description": "GCP cluster request payload for create and update", + "description": "Spectro EKS cluster request payload for create and update", "type": "object", "properties": { "metadata": { @@ -140216,7 +125495,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -140233,7 +125512,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -140245,11 +125524,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -140257,7 +125536,6 @@ "spec": { "type": "object", "required": [ - "cloudType", "cloudAccountUid", "cloudConfig" ], @@ -140267,37 +125545,109 @@ "type": "string" }, "cloudConfig": { - "description": "Cluster level configuration for gcp cloud and applicable for all the machine pools", + "description": "EksClusterConfig defines EKS specific config", "type": "object", "required": [ - "project", "region" ], "properties": { - "managedClusterConfig": { - "description": "GCP managed cluster config", + "addons": { + "description": "Addons defines the EKS addons to enable with the EKS cluster. This may be required for brownfield clusters", + "type": "array", + "items": { + "description": "EksAddon represents a EKS addon", + "type": "object", + "required": [ + "name", + "version" + ], + "properties": { + "conflictResolution": { + "description": "ConflictResolution is used to declare what should happen if there are parameter conflicts.", + "type": "string" + }, + "name": { + "description": "Name is the name of the addon", + "type": "string" + }, + "serviceAccountRoleARN": { + "description": "ServiceAccountRoleArn is the ARN of an IAM role to bind to the addons service account", + "type": "string" + }, + "version": { + "description": "Version is the version of the addon to use", + "type": "string" + } + } + } + }, + "bastionDisabled": { + "description": "BastionDisabled is the option to disable bastion node", + "type": "boolean" + }, + "controlPlaneLoadBalancer": { + "description": "ControlPlaneLoadBalancer specifies how API server elb will be configured, this field is optional, not provided, \"\", default =\u003e \"Internet-facing\" \"Internet-facing\" =\u003e \"Internet-facing\" \"internal\" =\u003e \"internal\" For spectro saas setup we require to talk to the apiserver from our cluster so ControlPlaneLoadBalancer should be \"\", not provided or \"Internet-facing\"", + "type": "string" + }, + "encryptionConfig": { + "description": "EncryptionConfig specifies the encryption configuration for the EKS clsuter.", "type": "object", "properties": { - "enableAutoPilot": { - "description": "EnableAutopilot indicates whether to enable autopilot for this GKE cluster", + "isEnabled": { + "description": "Is encryption configuration enabled for the cluster", "type": "boolean" }, - "location": { - "description": "Can be Region or Zone", + "provider": { + "description": "Provider specifies the ARN or alias of the CMK (in AWS KMS)", "type": "string" + }, + "resources": { + "description": "Resources specifies the resources to be encrypted", + "type": "array", + "items": { + "type": "string" + } } } }, - "network": { - "description": "NetworkName if empty would create VPC Network in auto mode. If provided, custom VPC network will be used", + "endpointAccess": { + "description": "EndpointAccess specifies how control plane endpoints are accessible", + "type": "object", + "properties": { + "private": { + "description": "Private points VPC-internal control plane access to the private endpoint", + "type": "boolean" + }, + "privateCIDRs": { + "description": "PrivateCIDRs specifies which blocks can access the private endpoint", + "type": "array", + "items": { + "type": "string" + } + }, + "public": { + "description": "Public controls whether control plane endpoints are publicly accessible", + "type": "boolean" + }, + "publicCIDRs": { + "description": "PublicCIDRs specifies which blocks can access the public endpoint", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "region": { + "description": "The AWS Region the cluster lives in.", "type": "string" }, - "project": { - "description": "Name of the project in which cluster is to be deployed", + "sshKeyName": { + "description": "SSHKeyName specifies which EC2 SSH key can be used to access machines.", "type": "string" }, - "region": { - "description": "GCP region for the cluster", + "vpcId": { + "description": "VPC Id to deploy cluster into should have one public and one private subnet for the the cluster creation, this field is optional, If VPC Id is not provided a fully managed VPC will be created", "type": "string" } } @@ -140371,11 +125721,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -140389,11 +125739,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -140703,37 +126053,215 @@ } } }, - "machinepoolconfig": { + "fargateProfiles": { "type": "array", "items": { + "description": "FargateProfile defines the desired state of FargateProfile", "type": "object", "required": [ - "cloudConfig" + "name" ], "properties": { - "cloudConfig": { + "additionalTags": { + "description": "AdditionalTags is an optional set of tags to add to AWS resources managed by the AWS provider, in addition to the ones added by default.", "type": "object", - "required": [ - "instanceType" - ], + "additionalProperties": { + "type": "string" + } + }, + "name": { + "description": "name specifies the profile name.", + "type": "string" + }, + "selectors": { + "description": "Selectors specify fargate pod selectors.", + "type": "array", + "items": { + "description": "FargateSelector specifies a selector for pods that should run on this fargate pool", + "type": "object", + "required": [ + "namespace" + ], + "properties": { + "labels": { + "description": "Labels specifies which pod labels this selector should match.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "namespace": { + "description": "Namespace specifies which namespace this selector should match.", + "type": "string" + } + } + } + }, + "subnetIds": { + "description": "SubnetIDs specifies which subnets are used for the auto scaling group of this nodegroup.", + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "machinepoolconfig": { + "type": "array", + "items": { + "properties": { + "cloudConfig": { "properties": { + "awsLaunchTemplate": { + "description": "AWSLaunchTemplate specifies the launch template to use to create the managed node group", + "type": "object", + "properties": { + "additionalSecurityGroups": { + "description": "AdditionalSecurityGroups is an array of references to security groups that should be applied to the instances", + "type": "array", + "uniqueItems": true, + "items": { + "description": "AWSResourceReference is a reference to a specific AWS resource by ID or filters", + "type": "object", + "properties": { + "arn": { + "description": "ARN of resource", + "type": "string" + }, + "filters": { + "description": "Filters is a set of key/value pairs used to identify a resource", + "type": "array", + "uniqueItems": true, + "items": { + "description": "Filter is a filter used to identify an AWS resource", + "type": "object", + "properties": { + "name": { + "description": "Name of the filter. Filter names are case-sensitive", + "type": "string" + }, + "values": { + "description": "Values includes one or more filter values. Filter values are case-sensitive", + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + } + } + } + }, + "id": { + "description": "ID of resource", + "type": "string" + } + } + } + }, + "ami": { + "description": "AMI is the reference to the AMI from which to create the machine instance", + "type": "object", + "properties": { + "eksOptimizedLookupType": { + "description": "EKSOptimizedLookupType If specified, will look up an EKS Optimized image in SSM Parameter store", + "type": "string", + "enum": [ + "AmazonLinux", + "AmazonLinuxGPU" + ] + }, + "id": { + "description": "ID of resource", + "type": "string" + } + } + }, + "imageLookupBaseOS": { + "description": "ImageLookupBaseOS is the name of the base operating system to use for image lookup the AMI is not set", + "type": "string" + }, + "imageLookupFormat": { + "description": "ImageLookupFormat is the AMI naming format to look up the image", + "type": "string" + }, + "imageLookupOrg": { + "description": "ImageLookupOrg is the AWS Organization ID to use for image lookup if AMI is not set", + "type": "string" + }, + "rootVolume": { + "description": "Volume encapsulates the configuration options for the storage device.", + "type": "object", + "properties": { + "deviceName": { + "description": "Device name", + "type": "string" + }, + "encrypted": { + "description": "EncryptionKey is the KMS key to use to encrypt the volume. Can be either a KMS key ID or ARN", + "type": "boolean" + }, + "encryptionKey": { + "description": "EncryptionKey is the KMS key to use to encrypt the volume. Can be either a KMS key ID or ARN", + "type": "string" + }, + "iops": { + "description": "IOPS is the number of IOPS requested for the disk. Not applicable to all types", + "type": "integer", + "format": "int64" + }, + "throughput": { + "description": "Throughput to provision in MiB/s supported for the volume type. Not applicable to all types.", + "type": "integer", + "format": "int64" + }, + "type": { + "description": "Type is the type of the volume (e.g. gp2, io1, etc...)", + "type": "string" + } + } + } + } + }, "azs": { "type": "array", "items": { "type": "string" } }, + "capacityType": { + "description": "EC2 instance capacity type", + "type": "string", + "default": "on-demand", + "enum": [ + "on-demand", + "spot" + ] + }, + "enableAwsLaunchTemplate": { + "description": "flag to know if aws launch template is enabled", + "type": "boolean" + }, "instanceType": { + "description": "instance type", "type": "string" }, "rootDeviceSize": { - "description": "Size of root volume in GB. Default is 30GB", + "description": "rootDeviceSize in GBs", "type": "integer", - "format": "int64" + "format": "int64", + "maximum": 2000, + "minimum": 1 }, - "subnet": { - "description": "Subnet specifies the subnetwork to use for given instance. If not specified, the first subnet from the cluster region and network is used", - "type": "string" + "spotMarketOptions": { + "description": "SpotMarketOptions defines the options available to a user when configuring Machines to run on Spot instances. Most users should provide an empty struct.", + "type": "object", + "properties": { + "maxPrice": { + "description": "MaxPrice defines the maximum price the user is willing to pay for Spot VM instances", + "type": "string" + } + } }, "subnets": { "type": "array", @@ -140779,7 +126307,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -140823,7 +126351,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -140869,7 +126397,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -141046,6 +126574,26 @@ "uid": { "description": "Cluster profile uid", "type": "string" + }, + "variables": { + "type": "array", + "items": { + "description": "Variable with value which will be used within the packs of cluster profile", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Variable name", + "type": "string" + }, + "value": { + "description": "Actual value of the variable to be used within the cluster", + "type": "string" + } + } + } } } } @@ -141064,7 +126612,7 @@ ], "responses": { "200": { - "description": "Gcp Cluster validation response", + "description": "Eks Cluster validation response", "schema": { "description": "Cluster validator response", "type": "object", @@ -141163,8 +126711,8 @@ } } }, - "/v1/spectroclusters/generic/import": { - "post": { + "/v1/spectroclusters/features/backup/locations/{uid}": { + "get": { "security": [ { "ApiKey": [] @@ -141173,138 +126721,105 @@ "Authorization": [] } ], - "description": "The machines information will be captured, whereas the cloud specific configuration info will not be retrieved", "tags": [ "v1" ], - "summary": "Imports a cluster of any cloud type in generic way", - "operationId": "v1SpectroClustersGenericImport", + "summary": "Returns the cluster object references based on locationUid", + "operationId": "V1ClusterFeatureBackupLocationUidGet", "parameters": [ { - "name": "body", - "in": "body", + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "200": { + "description": "OK", "schema": { - "description": "Spectro generic cluster import request payload", - "type": "object", + "description": "Cluster Object References", "properties": { - "metadata": { - "description": "ObjectMeta input entity for object creation", - "type": "object", - "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { + "clusters": { + "type": "array", + "items": { + "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", + "type": "object", + "properties": { + "kind": { + "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", "type": "string" - } - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "uid": { + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" - } - }, - "name": { - "description": "Name of the resource.", - "type": "string" - } - } - }, - "spec": { - "type": "object", - "properties": { - "clusterConfig": { - "type": "object", - "properties": { - "importMode": { - "description": "If the importMode is empty then cluster is imported with full permission mode. By default importMode is empty and cluster is imported in full permission mode.", - "type": "string", - "enum": [ - "read-only" - ] - }, - "proxy": { - "description": "cluster proxy config spec", - "type": "object", - "properties": { - "caContainerMountPath": { - "description": "Location to mount Proxy CA cert inside container", - "type": "string" - }, - "caHostPath": { - "description": "Location for Proxy CA cert on host nodes", - "type": "string" - }, - "httpProxy": { - "description": "URL for HTTP requests unless overridden by NoProxy", - "type": "string" - }, - "httpsProxy": { - "description": "HTTPS requests unless overridden by NoProxy", - "type": "string" - }, - "noProxy": { - "description": "NoProxy represents the NO_PROXY or no_proxy environment", - "type": "string" - } - } - } - } - }, - "edgeConfig": { - "type": "object", - "properties": { - "edgeHostUid": { - "description": "Deprecated. Use 'edgeHostUids' field", - "type": "string" - }, - "edgeHostUids": { - "type": "array", - "items": { - "type": "string" - } - } } } } } } } + } + } + }, + "put": { + "security": [ + { + "ApiKey": [] }, { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" + "Authorization": [] } ], - "responses": { - "201": { - "description": "Created successfully", + "tags": [ + "v1" + ], + "summary": "Change cluster backup location", + "operationId": "V1ClusterFeatureBackupLocationUidChange", + "parameters": [ + { + "name": "body", + "in": "body", "schema": { - "type": "object", + "description": "Cluster backup location type", "required": [ - "uid" + "locationType" ], "properties": { - "uid": { + "locationType": { "type": "string" } } - }, - "headers": { - "AuditUid": { - "type": "string", - "description": "Audit uid for the request" - } } + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" } } - } + }, + "parameters": [ + { + "type": "string", + "name": "uid", + "in": "path", + "required": true + } + ] }, - "/v1/spectroclusters/generic/rate": { - "post": { + "/v1/spectroclusters/features/logFetcher/{uid}/download": { + "get": { "security": [ { "ApiKey": [] @@ -141313,230 +126828,84 @@ "Authorization": [] } ], + "produces": [ + "application/octet-stream" + ], "tags": [ "v1" ], - "summary": "Get generic cluster estimated rate information", - "operationId": "v1SpectroClustersGenericRate", + "summary": "Download log fetcher logs for cluster by log fetcher uid", + "operationId": "v1ClusterFeatureLogFetcherLogDownload", "parameters": [ { - "enum": [ - "hourly", - "monthly", - "yearly" - ], "type": "string", - "default": "hourly", - "name": "periodType", + "name": "fileName", "in": "query" }, { - "name": "body", - "in": "body", + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "200": { + "description": "OK", "schema": { - "description": "Generic cluster request payload for estimating rate", - "type": "object", - "properties": { - "cloudConfig": { - "description": "Generic cluster config", - "type": "object", - "properties": { - "instanceType": { - "type": "object", - "properties": { - "diskGiB": { - "description": "DiskGiB is the size of a virtual machine's disk, in GiB", - "type": "integer", - "format": "int32" - }, - "memoryMiB": { - "description": "MemoryMiB is the size of a virtual machine's memory, in MiB", - "type": "integer", - "format": "int64" - }, - "name": { - "type": "string" - }, - "numCPUs": { - "description": "NumCPUs is the number of virtual processors in a virtual machine", - "type": "integer", - "format": "int32" - } - } - }, - "region": { - "description": "cluster region information", - "type": "string" - } - } - }, - "machinepoolconfig": { - "type": "array", - "items": { - "properties": { - "cloudConfig": { - "description": "Generic cluster config", - "type": "object", - "properties": { - "instanceType": { - "type": "object", - "properties": { - "diskGiB": { - "description": "DiskGiB is the size of a virtual machine's disk, in GiB", - "type": "integer", - "format": "int32" - }, - "memoryMiB": { - "description": "MemoryMiB is the size of a virtual machine's memory, in MiB", - "type": "integer", - "format": "int64" - }, - "name": { - "type": "string" - }, - "numCPUs": { - "description": "NumCPUs is the number of virtual processors in a virtual machine", - "type": "integer", - "format": "int32" - } - } - }, - "region": { - "description": "cluster region information", - "type": "string" - } - } - }, - "poolConfig": { - "description": "Machine pool configuration for the cluster", - "type": "object", - "required": [ - "name", - "size", - "labels" - ], - "properties": { - "additionalLabels": { - "description": "Additional labels to be part of the machine pool", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "additionalTags": { - "description": "AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "isControlPlane": { - "description": "Whether this pool is for control plane", - "type": "boolean", - "x-omitempty": false - }, - "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", - "type": "array", - "items": { - "type": "string" - } - }, - "machinePoolProperties": { - "description": "Machine pool specific properties", - "type": "object", - "properties": { - "archType": { - "type": "string", - "default": "amd64", - "enum": [ - "amd64", - "arm64" - ] - } - } - }, - "maxSize": { - "description": "Max size of the pool, for scaling", - "type": "integer", - "format": "int32" - }, - "minSize": { - "description": "Min size of the pool, for scaling", - "type": "integer", - "format": "int32" - }, - "name": { - "type": "string" - }, - "nodeRepaveInterval": { - "description": "Minimum number of seconds a node should be Ready, before the next node is selected for repave. Applicable only for workerpools in infrastructure cluster", - "type": "integer", - "format": "int32" - }, - "size": { - "description": "Size of the pool, number of nodes/machines", - "type": "integer", - "format": "int32" - }, - "taints": { - "description": "Master or worker taints", - "type": "array", - "uniqueItems": true, - "items": { - "description": "Taint", - "type": "object", - "properties": { - "effect": { - "type": "string", - "enum": [ - "NoSchedule", - "PreferNoSchedule", - "NoExecute" - ] - }, - "key": { - "description": "The taint key to be applied to a node", - "type": "string" - }, - "timeAdded": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "value": { - "description": "The taint value corresponding to the taint key.", - "type": "string" - } - } - } - }, - "updateStrategy": { - "description": "UpdatesStrategy will be used to translate to RollingUpdateStrategy of a MachineDeployment We'll start with default values for the translation, can expose more details later Following is details of parameters translated from the type ScaleOut =\u003e maxSurge=1, maxUnavailable=0 ScaleIn =\u003e maxSurge=0, maxUnavailable=1", - "type": "object", - "properties": { - "type": { - "description": "update strategy, either ScaleOut or ScaleIn if empty, will default to RollingUpdateScaleOut", - "type": "string", - "enum": [ - "RollingUpdateScaleOut", - "RollingUpdateScaleIn" - ] - } - } - }, - "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", - "type": "boolean", - "x-omitempty": false - } - } - } - } - } - } + "type": "file" + }, + "headers": { + "Content-Disposition": { + "type": "string" + }, + "Content-Type": { + "type": "string" } } + } + } + }, + "parameters": [ + { + "type": "string", + "description": "Cluster uid for which log is requested", + "name": "uid", + "in": "path", + "required": true + } + ] + }, + "/v1/spectroclusters/features/logFetcher/{uid}/log": { + "post": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "consumes": [ + "multipart/form-data" + ], + "tags": [ + "v1" + ], + "summary": "Update log fetcher logs by log fetcher uid", + "operationId": "v1ClusterFeatureLogFetcherLogUpdate", + "parameters": [ + { + "type": "file", + "description": "Log file by agent", + "name": "fileName", + "in": "formData" + }, + { + "type": "string", + "description": "Unique request Id", + "name": "requestId", + "in": "query" }, { "type": "string", @@ -141546,311 +126915,28 @@ } ], "responses": { - "200": { - "description": "Genric Cluster estimated rate response", - "schema": { - "description": "Cluster estimated rate information", - "type": "object", - "properties": { - "machinePools": { - "type": "array", - "items": { - "description": "Machine pool estimated rate information", - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "nodesCount": { - "type": "integer", - "format": "int32" - }, - "rate": { - "description": "Cloud estimated rate information", - "type": "object", - "properties": { - "compute": { - "description": "Compute estimated rate information", - "type": "object", - "properties": { - "rate": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "type": { - "type": "string" - } - } - }, - "storage": { - "type": "array", - "items": { - "description": "Storage estimated rate information", - "type": "object", - "properties": { - "iops": { - "type": "number", - "format": "float64" - }, - "rate": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "sizeGB": { - "type": "number", - "format": "float64" - }, - "throughput": { - "type": "number", - "format": "float64" - }, - "type": { - "type": "string" - } - } - } - }, - "total": { - "type": "number", - "format": "float64", - "x-omitempty": false - } - } - } - } - } - }, - "name": { - "type": "string" - }, - "rate": { - "description": "Cluster total estimated rate information", - "type": "object", - "properties": { - "compute": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "storage": { - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "total": { - "type": "number", - "format": "float64", - "x-omitempty": false - } - } - }, - "resourceMetadata": { - "description": "Cloud resource metadata", - "type": "object", - "properties": { - "instanceTypes": { - "type": "object", - "additionalProperties": { - "description": "Cloud Instance type details", - "type": "object", - "properties": { - "category": { - "description": "Category of instance type", - "type": "string", - "x-go-name": "Category" - }, - "cost": { - "description": "Instance cost entity", - "type": "object", - "properties": { - "price": { - "description": "Array of cloud instance price", - "type": "array", - "items": { - "description": "Cloud instance price", - "type": "object", - "properties": { - "onDemand": { - "description": "OnDemand price of instance", - "type": "number", - "format": "double" - }, - "os": { - "description": "Os associated with instance price. Allowed values - [linux, windows]", - "type": "string", - "enum": [ - "linux", - "windows" - ] - }, - "spot": { - "description": "Spot price of instance", - "type": "number", - "format": "double" - } - } - } - } - } - }, - "cpu": { - "description": "Cpu of instance type", - "type": "number", - "format": "double", - "x-go-name": "Cpu" - }, - "gpu": { - "description": "Gpu of instance type", - "type": "number", - "format": "double", - "x-go-name": "Gpu" - }, - "memory": { - "description": "Memory of instance type", - "type": "number", - "format": "double", - "x-go-name": "Memory" - }, - "nonSupportedZones": { - "description": "Non supported zones of the instance in a particular region", - "type": "array", - "items": { - "type": "string" - } - }, - "price": { - "description": "Price of instance type", - "type": "number", - "format": "double", - "x-go-name": "Price" - }, - "supportedArchitectures": { - "description": "Supported architecture of the instance", - "type": "array", - "items": { - "type": "string" - } - }, - "type": { - "description": "Type of instance type", - "type": "string", - "x-go-name": "Type" - } - } - } - }, - "storageTypes": { - "type": "object", - "additionalProperties": { - "description": "Cloud cloud Storage type details", - "type": "object", - "properties": { - "cost": { - "description": "Cloud storage cost", - "type": "object", - "properties": { - "discountedUsage": { - "description": "Cloud storage upper limit which is free.", - "type": "string" - }, - "price": { - "description": "Array of cloud storage range prices", - "type": "array", - "items": { - "description": "Cloud storage price within an upper limit.", - "type": "object", - "properties": { - "limit": { - "description": "Upper limit of cloud storage usage", - "type": "string" - }, - "price": { - "description": "Price of cloud storage type", - "type": "string" - } - } - } - } - } - }, - "iopsCost": { - "description": "Cloud storage cost", - "type": "object", - "properties": { - "discountedUsage": { - "description": "Cloud storage upper limit which is free.", - "type": "string" - }, - "price": { - "description": "Array of cloud storage range prices", - "type": "array", - "items": { - "description": "Cloud storage price within an upper limit.", - "type": "object", - "properties": { - "limit": { - "description": "Upper limit of cloud storage usage", - "type": "string" - }, - "price": { - "description": "Price of cloud storage type", - "type": "string" - } - } - } - } - } - }, - "kind": { - "description": "kind of storage type", - "type": "string" - }, - "name": { - "description": "Name of the storage type", - "type": "string" - }, - "throughputCost": { - "description": "Cloud storage cost", - "type": "object", - "properties": { - "discountedUsage": { - "description": "Cloud storage upper limit which is free.", - "type": "string" - }, - "price": { - "description": "Array of cloud storage range prices", - "type": "array", - "items": { - "description": "Cloud storage price within an upper limit.", - "type": "object", - "properties": { - "limit": { - "description": "Upper limit of cloud storage usage", - "type": "string" - }, - "price": { - "description": "Price of cloud storage type", - "type": "string" - } - } - } - } - } - } - } - } - } - } - } + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "type": "string", + "description": "Audit uid for the request" } } } } - } + }, + "parameters": [ + { + "type": "string", + "description": "Cluster uid for which log is requested", + "name": "uid", + "in": "path", + "required": true + } + ] }, - "/v1/spectroclusters/gke": { + "/v1/spectroclusters/gcp": { "post": { "security": [ { @@ -141863,8 +126949,8 @@ "tags": [ "v1" ], - "summary": "Creates an GKE cluster", - "operationId": "v1SpectroClustersGkeCreate", + "summary": "Creates a GCP cluster", + "operationId": "v1SpectroClustersGcpCreate", "parameters": [ { "name": "body", @@ -141878,7 +126964,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -141895,7 +126981,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -141907,11 +126993,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -142033,11 +127119,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -142051,11 +127137,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -142441,7 +127527,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -142485,7 +127571,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -142531,7 +127617,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -142708,6 +127794,26 @@ "uid": { "description": "Cluster profile uid", "type": "string" + }, + "variables": { + "type": "array", + "items": { + "description": "Variable with value which will be used within the packs of cluster profile", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Variable name", + "type": "string" + }, + "value": { + "description": "Actual value of the variable to be used within the cluster", + "type": "string" + } + } + } } } } @@ -142748,7 +127854,7 @@ } } }, - "/v1/spectroclusters/gke/rate": { + "/v1/spectroclusters/gcp/import": { "post": { "security": [ { @@ -142761,8 +127867,132 @@ "tags": [ "v1" ], - "summary": "Get GKE cluster estimated rate information", - "operationId": "v1SpectroClustersGkeRate", + "summary": "Imports a GCP cluster", + "operationId": "v1SpectroClustersGcpImport", + "parameters": [ + { + "name": "body", + "in": "body", + "schema": { + "description": "Spectro GCP cluster import request payload", + "type": "object", + "properties": { + "metadata": { + "description": "ObjectMeta input entity for object creation", + "type": "object", + "properties": { + "annotations": { + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "labels": { + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "name": { + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + } + } + }, + "spec": { + "type": "object", + "properties": { + "clusterConfig": { + "type": "object", + "properties": { + "importMode": { + "description": "If the importMode is empty then cluster is imported with full permission mode. By default importMode is empty and cluster is imported in full permission mode.", + "type": "string", + "enum": [ + "read-only" + ] + }, + "proxy": { + "description": "cluster proxy config spec", + "type": "object", + "properties": { + "caContainerMountPath": { + "description": "Location to mount Proxy CA cert inside container", + "type": "string" + }, + "caHostPath": { + "description": "Location for Proxy CA cert on host nodes", + "type": "string" + }, + "httpProxy": { + "description": "URL for HTTP requests unless overridden by NoProxy", + "type": "string" + }, + "httpsProxy": { + "description": "HTTPS requests unless overridden by NoProxy", + "type": "string" + }, + "noProxy": { + "description": "NoProxy represents the NO_PROXY or no_proxy environment", + "type": "string" + } + } + } + } + } + } + } + } + } + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "schema": { + "type": "object", + "required": [ + "uid" + ], + "properties": { + "uid": { + "type": "string" + } + } + }, + "headers": { + "AuditUid": { + "type": "string", + "description": "Audit uid for the request" + } + } + } + } + } + }, + "/v1/spectroclusters/gcp/rate": { + "post": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Get GCP cluster estimated rate information", + "operationId": "v1SpectroClustersGcpRate", "parameters": [ { "enum": [ @@ -142894,7 +128124,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -142938,7 +128168,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -142984,7 +128214,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -143005,7 +128235,7 @@ ], "responses": { "200": { - "description": "Gke Cluster estimated rate response", + "description": "Gcp Cluster estimated rate response", "schema": { "description": "Cluster estimated rate information", "type": "object", @@ -143308,7 +128538,7 @@ } } }, - "/v1/spectroclusters/gke/validate": { + "/v1/spectroclusters/gcp/validate": { "post": { "security": [ { @@ -143321,8 +128551,8 @@ "tags": [ "v1" ], - "summary": "Validates GKE cluster create operation", - "operationId": "v1SpectroClustersGkeValidate", + "summary": "Validates GCP cluster create operation", + "operationId": "v1SpectroClustersGcpValidate", "parameters": [ { "name": "body", @@ -143336,7 +128566,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -143353,7 +128583,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -143365,11 +128595,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -143491,11 +128721,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -143509,11 +128739,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -143899,7 +129129,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -143943,7 +129173,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -143989,7 +129219,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -144166,6 +129396,26 @@ "uid": { "description": "Cluster profile uid", "type": "string" + }, + "variables": { + "type": "array", + "items": { + "description": "Variable with value which will be used within the packs of cluster profile", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Variable name", + "type": "string" + }, + "value": { + "description": "Actual value of the variable to be used within the cluster", + "type": "string" + } + } + } } } } @@ -144184,7 +129434,7 @@ ], "responses": { "200": { - "description": "Gke Cluster validation response", + "description": "Gcp Cluster validation response", "schema": { "description": "Cluster validator response", "type": "object", @@ -144283,7 +129533,694 @@ } } }, - "/v1/spectroclusters/libvirt": { + "/v1/spectroclusters/generic/import": { + "post": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "description": "The machines information will be captured, whereas the cloud specific configuration info will not be retrieved", + "tags": [ + "v1" + ], + "summary": "Imports a cluster of any cloud type in generic way", + "operationId": "v1SpectroClustersGenericImport", + "parameters": [ + { + "name": "body", + "in": "body", + "schema": { + "description": "Spectro generic cluster import request payload", + "type": "object", + "properties": { + "metadata": { + "description": "ObjectMeta input entity for object creation", + "type": "object", + "properties": { + "annotations": { + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "labels": { + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "name": { + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + } + } + }, + "spec": { + "type": "object", + "properties": { + "clusterConfig": { + "type": "object", + "properties": { + "importMode": { + "description": "If the importMode is empty then cluster is imported with full permission mode. By default importMode is empty and cluster is imported in full permission mode.", + "type": "string", + "enum": [ + "read-only" + ] + }, + "proxy": { + "description": "cluster proxy config spec", + "type": "object", + "properties": { + "caContainerMountPath": { + "description": "Location to mount Proxy CA cert inside container", + "type": "string" + }, + "caHostPath": { + "description": "Location for Proxy CA cert on host nodes", + "type": "string" + }, + "httpProxy": { + "description": "URL for HTTP requests unless overridden by NoProxy", + "type": "string" + }, + "httpsProxy": { + "description": "HTTPS requests unless overridden by NoProxy", + "type": "string" + }, + "noProxy": { + "description": "NoProxy represents the NO_PROXY or no_proxy environment", + "type": "string" + } + } + } + } + }, + "edgeConfig": { + "type": "object", + "properties": { + "edgeHostUid": { + "description": "Deprecated. Use 'edgeHostUids' field", + "type": "string" + }, + "edgeHostUids": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + } + } + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "schema": { + "type": "object", + "required": [ + "uid" + ], + "properties": { + "uid": { + "type": "string" + } + } + }, + "headers": { + "AuditUid": { + "type": "string", + "description": "Audit uid for the request" + } + } + } + } + } + }, + "/v1/spectroclusters/generic/rate": { + "post": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Get generic cluster estimated rate information", + "operationId": "v1SpectroClustersGenericRate", + "parameters": [ + { + "enum": [ + "hourly", + "monthly", + "yearly" + ], + "type": "string", + "default": "hourly", + "name": "periodType", + "in": "query" + }, + { + "name": "body", + "in": "body", + "schema": { + "description": "Generic cluster request payload for estimating rate", + "type": "object", + "properties": { + "cloudConfig": { + "description": "Generic cluster config", + "type": "object", + "properties": { + "instanceType": { + "type": "object", + "properties": { + "diskGiB": { + "description": "DiskGiB is the size of a virtual machine's disk, in GiB", + "type": "integer", + "format": "int32" + }, + "memoryMiB": { + "description": "MemoryMiB is the size of a virtual machine's memory, in MiB", + "type": "integer", + "format": "int64" + }, + "name": { + "type": "string" + }, + "numCPUs": { + "description": "NumCPUs is the number of virtual processors in a virtual machine", + "type": "integer", + "format": "int32" + } + } + }, + "region": { + "description": "cluster region information", + "type": "string" + } + } + }, + "machinepoolconfig": { + "type": "array", + "items": { + "properties": { + "cloudConfig": { + "description": "Generic cluster config", + "type": "object", + "properties": { + "instanceType": { + "type": "object", + "properties": { + "diskGiB": { + "description": "DiskGiB is the size of a virtual machine's disk, in GiB", + "type": "integer", + "format": "int32" + }, + "memoryMiB": { + "description": "MemoryMiB is the size of a virtual machine's memory, in MiB", + "type": "integer", + "format": "int64" + }, + "name": { + "type": "string" + }, + "numCPUs": { + "description": "NumCPUs is the number of virtual processors in a virtual machine", + "type": "integer", + "format": "int32" + } + } + }, + "region": { + "description": "cluster region information", + "type": "string" + } + } + }, + "poolConfig": { + "description": "Machine pool configuration for the cluster", + "type": "object", + "required": [ + "name", + "size", + "labels" + ], + "properties": { + "additionalLabels": { + "description": "Additional labels to be part of the machine pool", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "additionalTags": { + "description": "AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "isControlPlane": { + "description": "Whether this pool is for control plane", + "type": "boolean", + "x-omitempty": false + }, + "labels": { + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", + "type": "array", + "items": { + "type": "string" + } + }, + "machinePoolProperties": { + "description": "Machine pool specific properties", + "type": "object", + "properties": { + "archType": { + "type": "string", + "default": "amd64", + "enum": [ + "amd64", + "arm64" + ] + } + } + }, + "maxSize": { + "description": "Max size of the pool, for scaling", + "type": "integer", + "format": "int32" + }, + "minSize": { + "description": "Min size of the pool, for scaling", + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string" + }, + "nodeRepaveInterval": { + "description": "Minimum number of seconds a node should be Ready, before the next node is selected for repave. Applicable only for workerpools in infrastructure cluster", + "type": "integer", + "format": "int32" + }, + "size": { + "description": "Size of the pool, number of nodes/machines", + "type": "integer", + "format": "int32" + }, + "taints": { + "description": "control plane or worker taints", + "type": "array", + "uniqueItems": true, + "items": { + "description": "Taint", + "type": "object", + "properties": { + "effect": { + "type": "string", + "enum": [ + "NoSchedule", + "PreferNoSchedule", + "NoExecute" + ] + }, + "key": { + "description": "The taint key to be applied to a node", + "type": "string" + }, + "timeAdded": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "value": { + "description": "The taint value corresponding to the taint key.", + "type": "string" + } + } + } + }, + "updateStrategy": { + "description": "UpdatesStrategy will be used to translate to RollingUpdateStrategy of a MachineDeployment We'll start with default values for the translation, can expose more details later Following is details of parameters translated from the type ScaleOut =\u003e maxSurge=1, maxUnavailable=0 ScaleIn =\u003e maxSurge=0, maxUnavailable=1", + "type": "object", + "properties": { + "type": { + "description": "update strategy, either ScaleOut or ScaleIn if empty, will default to RollingUpdateScaleOut", + "type": "string", + "enum": [ + "RollingUpdateScaleOut", + "RollingUpdateScaleIn" + ] + } + } + }, + "useControlPlaneAsWorker": { + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", + "type": "boolean", + "x-omitempty": false + } + } + } + } + } + } + } + } + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "200": { + "description": "Genric Cluster estimated rate response", + "schema": { + "description": "Cluster estimated rate information", + "type": "object", + "properties": { + "machinePools": { + "type": "array", + "items": { + "description": "Machine pool estimated rate information", + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "nodesCount": { + "type": "integer", + "format": "int32" + }, + "rate": { + "description": "Cloud estimated rate information", + "type": "object", + "properties": { + "compute": { + "description": "Compute estimated rate information", + "type": "object", + "properties": { + "rate": { + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "type": { + "type": "string" + } + } + }, + "storage": { + "type": "array", + "items": { + "description": "Storage estimated rate information", + "type": "object", + "properties": { + "iops": { + "type": "number", + "format": "float64" + }, + "rate": { + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "sizeGB": { + "type": "number", + "format": "float64" + }, + "throughput": { + "type": "number", + "format": "float64" + }, + "type": { + "type": "string" + } + } + } + }, + "total": { + "type": "number", + "format": "float64", + "x-omitempty": false + } + } + } + } + } + }, + "name": { + "type": "string" + }, + "rate": { + "description": "Cluster total estimated rate information", + "type": "object", + "properties": { + "compute": { + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "storage": { + "type": "number", + "format": "float64", + "x-omitempty": false + }, + "total": { + "type": "number", + "format": "float64", + "x-omitempty": false + } + } + }, + "resourceMetadata": { + "description": "Cloud resource metadata", + "type": "object", + "properties": { + "instanceTypes": { + "type": "object", + "additionalProperties": { + "description": "Cloud Instance type details", + "type": "object", + "properties": { + "category": { + "description": "Category of instance type", + "type": "string", + "x-go-name": "Category" + }, + "cost": { + "description": "Instance cost entity", + "type": "object", + "properties": { + "price": { + "description": "Array of cloud instance price", + "type": "array", + "items": { + "description": "Cloud instance price", + "type": "object", + "properties": { + "onDemand": { + "description": "OnDemand price of instance", + "type": "number", + "format": "double" + }, + "os": { + "description": "Os associated with instance price. Allowed values - [linux, windows]", + "type": "string", + "enum": [ + "linux", + "windows" + ] + }, + "spot": { + "description": "Spot price of instance", + "type": "number", + "format": "double" + } + } + } + } + } + }, + "cpu": { + "description": "Cpu of instance type", + "type": "number", + "format": "double", + "x-go-name": "Cpu" + }, + "gpu": { + "description": "Gpu of instance type", + "type": "number", + "format": "double", + "x-go-name": "Gpu" + }, + "memory": { + "description": "Memory of instance type", + "type": "number", + "format": "double", + "x-go-name": "Memory" + }, + "nonSupportedZones": { + "description": "Non supported zones of the instance in a particular region", + "type": "array", + "items": { + "type": "string" + } + }, + "price": { + "description": "Price of instance type", + "type": "number", + "format": "double", + "x-go-name": "Price" + }, + "supportedArchitectures": { + "description": "Supported architecture of the instance", + "type": "array", + "items": { + "type": "string" + } + }, + "type": { + "description": "Type of instance type", + "type": "string", + "x-go-name": "Type" + } + } + } + }, + "storageTypes": { + "type": "object", + "additionalProperties": { + "description": "Cloud cloud Storage type details", + "type": "object", + "properties": { + "cost": { + "description": "Cloud storage cost", + "type": "object", + "properties": { + "discountedUsage": { + "description": "Cloud storage upper limit which is free.", + "type": "string" + }, + "price": { + "description": "Array of cloud storage range prices", + "type": "array", + "items": { + "description": "Cloud storage price within an upper limit.", + "type": "object", + "properties": { + "limit": { + "description": "Upper limit of cloud storage usage", + "type": "string" + }, + "price": { + "description": "Price of cloud storage type", + "type": "string" + } + } + } + } + } + }, + "iopsCost": { + "description": "Cloud storage cost", + "type": "object", + "properties": { + "discountedUsage": { + "description": "Cloud storage upper limit which is free.", + "type": "string" + }, + "price": { + "description": "Array of cloud storage range prices", + "type": "array", + "items": { + "description": "Cloud storage price within an upper limit.", + "type": "object", + "properties": { + "limit": { + "description": "Upper limit of cloud storage usage", + "type": "string" + }, + "price": { + "description": "Price of cloud storage type", + "type": "string" + } + } + } + } + } + }, + "kind": { + "description": "kind of storage type", + "type": "string" + }, + "name": { + "description": "Name of the storage type", + "type": "string" + }, + "throughputCost": { + "description": "Cloud storage cost", + "type": "object", + "properties": { + "discountedUsage": { + "description": "Cloud storage upper limit which is free.", + "type": "string" + }, + "price": { + "description": "Array of cloud storage range prices", + "type": "array", + "items": { + "description": "Cloud storage price within an upper limit.", + "type": "object", + "properties": { + "limit": { + "description": "Upper limit of cloud storage usage", + "type": "string" + }, + "price": { + "description": "Price of cloud storage type", + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "/v1/spectroclusters/gke": { "post": { "security": [ { @@ -144296,14 +130233,14 @@ "tags": [ "v1" ], - "summary": "Creates a Libvirt cluster", - "operationId": "v1SpectroClustersLibvirtCreate", + "summary": "Creates an GKE cluster", + "operationId": "v1SpectroClustersGkeCreate", "parameters": [ { "name": "body", "in": "body", "schema": { - "description": "Libvirt cluster request payload for create and update", + "description": "GCP cluster request payload for create and update", "type": "object", "properties": { "metadata": { @@ -144311,7 +130248,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -144328,7 +130265,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -144340,55 +130277,60 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, "spec": { "type": "object", + "required": [ + "cloudType", + "cloudAccountUid", + "cloudConfig" + ], "properties": { + "cloudAccountUid": { + "description": "Cloud account uid to be used for cluster provisioning", + "type": "string" + }, "cloudConfig": { + "description": "Cluster level configuration for gcp cloud and applicable for all the machine pools", "type": "object", + "required": [ + "project", + "region" + ], "properties": { - "controlPlaneEndpoint": { + "managedClusterConfig": { + "description": "GCP managed cluster config", "type": "object", "properties": { - "ddnsSearchDomain": { - "description": "DDNSSearchDomain is the search domain used for resolving IP addresses when the EndpointType is DDNS. This search domain is appended to the generated Hostname to obtain the complete DNS name for the endpoint. If Host is already a DDNS FQDN, DDNSSearchDomain is not required", - "type": "string" - }, - "host": { - "description": "Host is FQDN(DDNS) or IP", - "type": "string" + "enableAutoPilot": { + "description": "EnableAutopilot indicates whether to enable autopilot for this GKE cluster", + "type": "boolean" }, - "type": { - "description": "Type indicates DDNS or VIP", + "location": { + "description": "Can be Region or Zone", "type": "string" } } }, - "ntpServers": { - "description": "NTPServers is a list of NTP servers to use instead of the machine image's default NTP server list", - "type": "array", - "items": { - "type": "string" - } + "network": { + "description": "NetworkName if empty would create VPC Network in auto mode. If provided, custom VPC network will be used", + "type": "string" }, - "sshKeys": { - "description": "SSHKeys specifies a list of ssh authorized keys to access the vms as a 'spectro' user", - "type": "array", - "items": { - "type": "string" - } + "project": { + "description": "Name of the project in which cluster is to be deployed", + "type": "string" }, - "staticIp": { - "description": "StaticIP indicates if IP allocation type is static IP. DHCP is the default allocation type", - "type": "boolean" + "region": { + "description": "GCP region for the cluster", + "type": "string" } } }, @@ -144461,11 +130403,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -144479,11 +130421,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -144797,183 +130739,46 @@ "type": "array", "items": { "type": "object", + "required": [ + "cloudConfig" + ], "properties": { "cloudConfig": { + "type": "object", "required": [ - "instanceType", - "placements", - "rootDiskInGB" + "instanceType" ], "properties": { - "instanceType": { - "description": "LibvirtInstanceType defines the instance configuration for a virtual machine", - "type": "object", - "required": [ - "numCPUs", - "memoryInMB" - ], - "properties": { - "cpuPassthroughSpec": { - "type": "object", - "properties": { - "cachePassthrough": { - "type": "boolean" - }, - "isEnabled": { - "description": "Enables the CPU Passthrough for the libvirt domain", - "type": "boolean" - } - } - }, - "cpuset": { - "description": "CPUSet defines cpuset for an instance which allows allocation specific set of cpus E.g cpuset=\"1-4,^3,6\" See https://libvirt.org/formatdomain.html#cpu-allocation", - "type": "string" - }, - "gpuConfig": { - "type": "object", - "properties": { - "addresses": { - "description": "Addresses is a map of PCI device entry name to its addresses.\nExample entry would be \"11:00.0 VGA compatible controller [0300]: NVIDIA\nCorporation Device [10de:1eb1] (rev a1)\"- \u003e 0000_11_00_0\" The address is\nBDF (Bus Device Function) identifier format seperated by underscores. The\nfirst 4 bits are almost always 0000. In the above example 11 is Bus, 00\nis Device,0 is function. The values of these addreses are expected in hexadecimal\nformat\n", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "deviceModel": { - "description": "DeviceModel is the model of GPU, for a given vendor, for eg., TU104GL [Tesla T4]", - "type": "string" - }, - "numGPUs": { - "description": "NumGPUs is the number of GPUs", - "type": "integer", - "format": "int32" - }, - "vendorName": { - "description": "VendorName is the GPU vendor, for eg., NVIDIA or AMD", - "type": "string" - } - } - }, - "memoryInMB": { - "description": "MemoryinMB is the memory in megabytes", - "type": "integer", - "format": "int32" - }, - "numCPUs": { - "description": "NumCPUs is the number of CPUs", - "type": "integer", - "format": "int32" - } - } - }, - "nonRootDisksInGB": { - "description": "NonRootDisksInGB is the list of additional disks, if required, in GB", + "azs": { "type": "array", "items": { - "type": "object", - "required": [ - "sizeInGB" - ], - "properties": { - "dataStoragePool": { - "description": "DataStoragePool is the storage pool from which additional disks are assigned", - "type": "string" - }, - "managed": { - "description": "Managed indicates if the disk is a persistent or not. By default its false indicating all disks are ephemeral.", - "type": "boolean" - }, - "sizeInGB": { - "description": "SizeInGB is the target size in GB of the disk to be added", - "type": "integer", - "format": "int32" - } - } + "type": "string" } }, - "placements": { - "description": "Placements configuration Placements If defined, will replace default values defined in VsphereClusterConfig Array means one MachinePool can span across multiple vsphere compute cluster", + "instanceType": { + "type": "string" + }, + "rootDeviceSize": { + "description": "Size of root volume in GB. Default is 30GB", + "type": "integer", + "format": "int64" + }, + "subnet": { + "description": "Subnet specifies the subnetwork to use for given instance. If not specified, the first subnet from the cluster region and network is used", + "type": "string" + }, + "subnets": { "type": "array", - "uniqueItems": true, "items": { - "description": "Libvirt placement config", - "type": "object", - "required": [ - "hostUid" - ], "properties": { - "dataStoragePool": { - "type": "string" - }, - "gpuDevices": { - "description": "GPUDevices defines an array of gpu device for a specific edge host. This will be overridden by edge host GPU devices if configured during registration.", - "type": "array", - "items": { - "type": "object", - "properties": { - "addresses": { - "description": "Addresses is a map of PCI device entry name to its addresses.\nExample entry would be \"11:00.0 VGA compatible controller [0300]: NVIDIA\nCorporation Device [10de:1eb1] (rev a1)\"- \u003e 0000_11_00_0\" The address is\nBDF (Bus Device Function) identifier format seperated by underscores. The\nfirst 4 bits are almost always 0000. In the above example 11 is Bus, 00\nis Device,0 is function. The values of these addreses are expected in hexadecimal\nformat\n", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "model": { - "description": "Model is the model of GPU, for a given vendor, for eg., TU104GL [Tesla T4]", - "type": "string" - }, - "vendor": { - "description": "Vendor is the GPU vendor, for eg., NVIDIA or AMD", - "type": "string" - } - } - } - }, - "hostUid": { - "type": "string" - }, - "networks": { - "type": "array", - "items": { - "description": "LibvirtNetworkSpec defines the network configuration for a virtual machine", - "type": "object", - "required": [ - "networkName", - "networkType" - ], - "properties": { - "networkName": { - "description": "NetworkName of the libvirt network where this machine will be connected", - "type": "string" - }, - "networkType": { - "description": "NetworkType specifies the type of network", - "type": "string", - "enum": [ - "default", - "bridge" - ] - } - } - } - }, - "sourceStoragePool": { + "az": { "type": "string" }, - "targetStoragePool": { + "id": { "type": "string" } } } - }, - "rootDiskInGB": { - "description": "RootDiskInGB is the size of a vm's root disk, in GiB", - "type": "integer", - "format": "int32" - }, - "xslTemplate": { - "description": "XSLTemplate defines a base64-encoded raw xsl template which will be included in the machine definition", - "type": "string" } } }, @@ -145006,7 +130811,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -145050,7 +130855,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -145096,7 +130901,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -145273,129 +131078,25 @@ "uid": { "description": "Cluster profile uid", "type": "string" - } - } - } - } - } - } - } - } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "201": { - "description": "Created successfully", - "schema": { - "type": "object", - "required": [ - "uid" - ], - "properties": { - "uid": { - "type": "string" - } - } - }, - "headers": { - "AuditUid": { - "type": "string", - "description": "Audit uid for the request" - } - } - } - } - } - }, - "/v1/spectroclusters/libvirt/import": { - "post": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Imports a libvirt cluster", - "operationId": "v1SpectroClustersLibvirtImport", - "parameters": [ - { - "name": "body", - "in": "body", - "schema": { - "description": "Spectro Libvirt cluster import request payload", - "type": "object", - "properties": { - "metadata": { - "description": "ObjectMeta input entity for object creation", - "type": "object", - "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "name": { - "description": "Name of the resource.", - "type": "string" - } - } - }, - "spec": { - "type": "object", - "properties": { - "clusterConfig": { - "type": "object", - "properties": { - "importMode": { - "description": "If the importMode is empty then cluster is imported with full permission mode. By default importMode is empty and cluster is imported in full permission mode.", - "type": "string", - "enum": [ - "read-only" - ] - }, - "proxy": { - "description": "cluster proxy config spec", - "type": "object", - "properties": { - "caContainerMountPath": { - "description": "Location to mount Proxy CA cert inside container", - "type": "string" - }, - "caHostPath": { - "description": "Location for Proxy CA cert on host nodes", - "type": "string" - }, - "httpProxy": { - "description": "URL for HTTP requests unless overridden by NoProxy", - "type": "string" - }, - "httpsProxy": { - "description": "HTTPS requests unless overridden by NoProxy", - "type": "string" - }, - "noProxy": { - "description": "NoProxy represents the NO_PROXY or no_proxy environment", - "type": "string" + }, + "variables": { + "type": "array", + "items": { + "description": "Variable with value which will be used within the packs of cluster profile", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Variable name", + "type": "string" + }, + "value": { + "description": "Actual value of the variable to be used within the cluster", + "type": "string" + } + } } } } @@ -145437,7 +131138,7 @@ } } }, - "/v1/spectroclusters/libvirt/rate": { + "/v1/spectroclusters/gke/rate": { "post": { "security": [ { @@ -145450,8 +131151,8 @@ "tags": [ "v1" ], - "summary": "Get libvirt cluster estimated rate information", - "operationId": "v1SpectroClustersLibvirtRate", + "summary": "Get GKE cluster estimated rate information", + "operationId": "v1SpectroClustersGkeRate", "parameters": [ { "enum": [ @@ -145468,46 +131169,42 @@ "name": "body", "in": "body", "schema": { - "description": "libvirt cluster request payload for estimating rate", + "description": "Gcp cluster request payload for estimating rate", "type": "object", "properties": { "cloudConfig": { + "description": "Cluster level configuration for gcp cloud and applicable for all the machine pools", "type": "object", + "required": [ + "project", + "region" + ], "properties": { - "controlPlaneEndpoint": { + "managedClusterConfig": { + "description": "GCP managed cluster config", "type": "object", "properties": { - "ddnsSearchDomain": { - "description": "DDNSSearchDomain is the search domain used for resolving IP addresses when the EndpointType is DDNS. This search domain is appended to the generated Hostname to obtain the complete DNS name for the endpoint. If Host is already a DDNS FQDN, DDNSSearchDomain is not required", - "type": "string" - }, - "host": { - "description": "Host is FQDN(DDNS) or IP", - "type": "string" + "enableAutoPilot": { + "description": "EnableAutopilot indicates whether to enable autopilot for this GKE cluster", + "type": "boolean" }, - "type": { - "description": "Type indicates DDNS or VIP", + "location": { + "description": "Can be Region or Zone", "type": "string" } } }, - "ntpServers": { - "description": "NTPServers is a list of NTP servers to use instead of the machine image's default NTP server list", - "type": "array", - "items": { - "type": "string" - } + "network": { + "description": "NetworkName if empty would create VPC Network in auto mode. If provided, custom VPC network will be used", + "type": "string" }, - "sshKeys": { - "description": "SSHKeys specifies a list of ssh authorized keys to access the vms as a 'spectro' user", - "type": "array", - "items": { - "type": "string" - } + "project": { + "description": "Name of the project in which cluster is to be deployed", + "type": "string" }, - "staticIp": { - "description": "StaticIP indicates if IP allocation type is static IP. DHCP is the default allocation type", - "type": "boolean" + "region": { + "description": "GCP region for the cluster", + "type": "string" } } }, @@ -145515,183 +131212,46 @@ "type": "array", "items": { "type": "object", + "required": [ + "cloudConfig" + ], "properties": { "cloudConfig": { + "type": "object", "required": [ - "instanceType", - "placements", - "rootDiskInGB" + "instanceType" ], "properties": { - "instanceType": { - "description": "LibvirtInstanceType defines the instance configuration for a virtual machine", - "type": "object", - "required": [ - "numCPUs", - "memoryInMB" - ], - "properties": { - "cpuPassthroughSpec": { - "type": "object", - "properties": { - "cachePassthrough": { - "type": "boolean" - }, - "isEnabled": { - "description": "Enables the CPU Passthrough for the libvirt domain", - "type": "boolean" - } - } - }, - "cpuset": { - "description": "CPUSet defines cpuset for an instance which allows allocation specific set of cpus E.g cpuset=\"1-4,^3,6\" See https://libvirt.org/formatdomain.html#cpu-allocation", - "type": "string" - }, - "gpuConfig": { - "type": "object", - "properties": { - "addresses": { - "description": "Addresses is a map of PCI device entry name to its addresses.\nExample entry would be \"11:00.0 VGA compatible controller [0300]: NVIDIA\nCorporation Device [10de:1eb1] (rev a1)\"- \u003e 0000_11_00_0\" The address is\nBDF (Bus Device Function) identifier format seperated by underscores. The\nfirst 4 bits are almost always 0000. In the above example 11 is Bus, 00\nis Device,0 is function. The values of these addreses are expected in hexadecimal\nformat\n", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "deviceModel": { - "description": "DeviceModel is the model of GPU, for a given vendor, for eg., TU104GL [Tesla T4]", - "type": "string" - }, - "numGPUs": { - "description": "NumGPUs is the number of GPUs", - "type": "integer", - "format": "int32" - }, - "vendorName": { - "description": "VendorName is the GPU vendor, for eg., NVIDIA or AMD", - "type": "string" - } - } - }, - "memoryInMB": { - "description": "MemoryinMB is the memory in megabytes", - "type": "integer", - "format": "int32" - }, - "numCPUs": { - "description": "NumCPUs is the number of CPUs", - "type": "integer", - "format": "int32" - } - } - }, - "nonRootDisksInGB": { - "description": "NonRootDisksInGB is the list of additional disks, if required, in GB", + "azs": { "type": "array", "items": { - "type": "object", - "required": [ - "sizeInGB" - ], - "properties": { - "dataStoragePool": { - "description": "DataStoragePool is the storage pool from which additional disks are assigned", - "type": "string" - }, - "managed": { - "description": "Managed indicates if the disk is a persistent or not. By default its false indicating all disks are ephemeral.", - "type": "boolean" - }, - "sizeInGB": { - "description": "SizeInGB is the target size in GB of the disk to be added", - "type": "integer", - "format": "int32" - } - } + "type": "string" } }, - "placements": { - "description": "Placements configuration Placements If defined, will replace default values defined in VsphereClusterConfig Array means one MachinePool can span across multiple vsphere compute cluster", + "instanceType": { + "type": "string" + }, + "rootDeviceSize": { + "description": "Size of root volume in GB. Default is 30GB", + "type": "integer", + "format": "int64" + }, + "subnet": { + "description": "Subnet specifies the subnetwork to use for given instance. If not specified, the first subnet from the cluster region and network is used", + "type": "string" + }, + "subnets": { "type": "array", - "uniqueItems": true, "items": { - "description": "Libvirt placement config", - "type": "object", - "required": [ - "hostUid" - ], "properties": { - "dataStoragePool": { - "type": "string" - }, - "gpuDevices": { - "description": "GPUDevices defines an array of gpu device for a specific edge host. This will be overridden by edge host GPU devices if configured during registration.", - "type": "array", - "items": { - "type": "object", - "properties": { - "addresses": { - "description": "Addresses is a map of PCI device entry name to its addresses.\nExample entry would be \"11:00.0 VGA compatible controller [0300]: NVIDIA\nCorporation Device [10de:1eb1] (rev a1)\"- \u003e 0000_11_00_0\" The address is\nBDF (Bus Device Function) identifier format seperated by underscores. The\nfirst 4 bits are almost always 0000. In the above example 11 is Bus, 00\nis Device,0 is function. The values of these addreses are expected in hexadecimal\nformat\n", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "model": { - "description": "Model is the model of GPU, for a given vendor, for eg., TU104GL [Tesla T4]", - "type": "string" - }, - "vendor": { - "description": "Vendor is the GPU vendor, for eg., NVIDIA or AMD", - "type": "string" - } - } - } - }, - "hostUid": { - "type": "string" - }, - "networks": { - "type": "array", - "items": { - "description": "LibvirtNetworkSpec defines the network configuration for a virtual machine", - "type": "object", - "required": [ - "networkName", - "networkType" - ], - "properties": { - "networkName": { - "description": "NetworkName of the libvirt network where this machine will be connected", - "type": "string" - }, - "networkType": { - "description": "NetworkType specifies the type of network", - "type": "string", - "enum": [ - "default", - "bridge" - ] - } - } - } - }, - "sourceStoragePool": { + "az": { "type": "string" }, - "targetStoragePool": { + "id": { "type": "string" } } } - }, - "rootDiskInGB": { - "description": "RootDiskInGB is the size of a vm's root disk, in GiB", - "type": "integer", - "format": "int32" - }, - "xslTemplate": { - "description": "XSLTemplate defines a base64-encoded raw xsl template which will be included in the machine definition", - "type": "string" } } }, @@ -145724,7 +131284,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -145768,7 +131328,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -145814,7 +131374,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -145835,7 +131395,7 @@ ], "responses": { "200": { - "description": "Libvirt Cluster estimated rate response", + "description": "Gke Cluster estimated rate response", "schema": { "description": "Cluster estimated rate information", "type": "object", @@ -146138,7 +131698,7 @@ } } }, - "/v1/spectroclusters/libvirt/validate": { + "/v1/spectroclusters/gke/validate": { "post": { "security": [ { @@ -146151,14 +131711,14 @@ "tags": [ "v1" ], - "summary": "Validates libvirt cluster create operation", - "operationId": "v1SpectroClustersLibvirtValidate", + "summary": "Validates GKE cluster create operation", + "operationId": "v1SpectroClustersGkeValidate", "parameters": [ { "name": "body", "in": "body", "schema": { - "description": "Libvirt cluster request payload for create and update", + "description": "GCP cluster request payload for create and update", "type": "object", "properties": { "metadata": { @@ -146166,7 +131726,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -146183,7 +131743,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -146195,55 +131755,60 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } }, "spec": { "type": "object", + "required": [ + "cloudType", + "cloudAccountUid", + "cloudConfig" + ], "properties": { + "cloudAccountUid": { + "description": "Cloud account uid to be used for cluster provisioning", + "type": "string" + }, "cloudConfig": { + "description": "Cluster level configuration for gcp cloud and applicable for all the machine pools", "type": "object", + "required": [ + "project", + "region" + ], "properties": { - "controlPlaneEndpoint": { + "managedClusterConfig": { + "description": "GCP managed cluster config", "type": "object", "properties": { - "ddnsSearchDomain": { - "description": "DDNSSearchDomain is the search domain used for resolving IP addresses when the EndpointType is DDNS. This search domain is appended to the generated Hostname to obtain the complete DNS name for the endpoint. If Host is already a DDNS FQDN, DDNSSearchDomain is not required", - "type": "string" - }, - "host": { - "description": "Host is FQDN(DDNS) or IP", - "type": "string" + "enableAutoPilot": { + "description": "EnableAutopilot indicates whether to enable autopilot for this GKE cluster", + "type": "boolean" }, - "type": { - "description": "Type indicates DDNS or VIP", + "location": { + "description": "Can be Region or Zone", "type": "string" } } }, - "ntpServers": { - "description": "NTPServers is a list of NTP servers to use instead of the machine image's default NTP server list", - "type": "array", - "items": { - "type": "string" - } + "network": { + "description": "NetworkName if empty would create VPC Network in auto mode. If provided, custom VPC network will be used", + "type": "string" }, - "sshKeys": { - "description": "SSHKeys specifies a list of ssh authorized keys to access the vms as a 'spectro' user", - "type": "array", - "items": { - "type": "string" - } + "project": { + "description": "Name of the project in which cluster is to be deployed", + "type": "string" }, - "staticIp": { - "description": "StaticIP indicates if IP allocation type is static IP. DHCP is the default allocation type", - "type": "boolean" + "region": { + "description": "GCP region for the cluster", + "type": "string" } } }, @@ -146316,11 +131881,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -146334,11 +131899,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -146652,183 +132217,46 @@ "type": "array", "items": { "type": "object", + "required": [ + "cloudConfig" + ], "properties": { "cloudConfig": { + "type": "object", "required": [ - "instanceType", - "placements", - "rootDiskInGB" + "instanceType" ], "properties": { - "instanceType": { - "description": "LibvirtInstanceType defines the instance configuration for a virtual machine", - "type": "object", - "required": [ - "numCPUs", - "memoryInMB" - ], - "properties": { - "cpuPassthroughSpec": { - "type": "object", - "properties": { - "cachePassthrough": { - "type": "boolean" - }, - "isEnabled": { - "description": "Enables the CPU Passthrough for the libvirt domain", - "type": "boolean" - } - } - }, - "cpuset": { - "description": "CPUSet defines cpuset for an instance which allows allocation specific set of cpus E.g cpuset=\"1-4,^3,6\" See https://libvirt.org/formatdomain.html#cpu-allocation", - "type": "string" - }, - "gpuConfig": { - "type": "object", - "properties": { - "addresses": { - "description": "Addresses is a map of PCI device entry name to its addresses.\nExample entry would be \"11:00.0 VGA compatible controller [0300]: NVIDIA\nCorporation Device [10de:1eb1] (rev a1)\"- \u003e 0000_11_00_0\" The address is\nBDF (Bus Device Function) identifier format seperated by underscores. The\nfirst 4 bits are almost always 0000. In the above example 11 is Bus, 00\nis Device,0 is function. The values of these addreses are expected in hexadecimal\nformat\n", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "deviceModel": { - "description": "DeviceModel is the model of GPU, for a given vendor, for eg., TU104GL [Tesla T4]", - "type": "string" - }, - "numGPUs": { - "description": "NumGPUs is the number of GPUs", - "type": "integer", - "format": "int32" - }, - "vendorName": { - "description": "VendorName is the GPU vendor, for eg., NVIDIA or AMD", - "type": "string" - } - } - }, - "memoryInMB": { - "description": "MemoryinMB is the memory in megabytes", - "type": "integer", - "format": "int32" - }, - "numCPUs": { - "description": "NumCPUs is the number of CPUs", - "type": "integer", - "format": "int32" - } - } - }, - "nonRootDisksInGB": { - "description": "NonRootDisksInGB is the list of additional disks, if required, in GB", + "azs": { "type": "array", "items": { - "type": "object", - "required": [ - "sizeInGB" - ], - "properties": { - "dataStoragePool": { - "description": "DataStoragePool is the storage pool from which additional disks are assigned", - "type": "string" - }, - "managed": { - "description": "Managed indicates if the disk is a persistent or not. By default its false indicating all disks are ephemeral.", - "type": "boolean" - }, - "sizeInGB": { - "description": "SizeInGB is the target size in GB of the disk to be added", - "type": "integer", - "format": "int32" - } - } + "type": "string" } }, - "placements": { - "description": "Placements configuration Placements If defined, will replace default values defined in VsphereClusterConfig Array means one MachinePool can span across multiple vsphere compute cluster", + "instanceType": { + "type": "string" + }, + "rootDeviceSize": { + "description": "Size of root volume in GB. Default is 30GB", + "type": "integer", + "format": "int64" + }, + "subnet": { + "description": "Subnet specifies the subnetwork to use for given instance. If not specified, the first subnet from the cluster region and network is used", + "type": "string" + }, + "subnets": { "type": "array", - "uniqueItems": true, "items": { - "description": "Libvirt placement config", - "type": "object", - "required": [ - "hostUid" - ], "properties": { - "dataStoragePool": { - "type": "string" - }, - "gpuDevices": { - "description": "GPUDevices defines an array of gpu device for a specific edge host. This will be overridden by edge host GPU devices if configured during registration.", - "type": "array", - "items": { - "type": "object", - "properties": { - "addresses": { - "description": "Addresses is a map of PCI device entry name to its addresses.\nExample entry would be \"11:00.0 VGA compatible controller [0300]: NVIDIA\nCorporation Device [10de:1eb1] (rev a1)\"- \u003e 0000_11_00_0\" The address is\nBDF (Bus Device Function) identifier format seperated by underscores. The\nfirst 4 bits are almost always 0000. In the above example 11 is Bus, 00\nis Device,0 is function. The values of these addreses are expected in hexadecimal\nformat\n", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "model": { - "description": "Model is the model of GPU, for a given vendor, for eg., TU104GL [Tesla T4]", - "type": "string" - }, - "vendor": { - "description": "Vendor is the GPU vendor, for eg., NVIDIA or AMD", - "type": "string" - } - } - } - }, - "hostUid": { - "type": "string" - }, - "networks": { - "type": "array", - "items": { - "description": "LibvirtNetworkSpec defines the network configuration for a virtual machine", - "type": "object", - "required": [ - "networkName", - "networkType" - ], - "properties": { - "networkName": { - "description": "NetworkName of the libvirt network where this machine will be connected", - "type": "string" - }, - "networkType": { - "description": "NetworkType specifies the type of network", - "type": "string", - "enum": [ - "default", - "bridge" - ] - } - } - } - }, - "sourceStoragePool": { + "az": { "type": "string" }, - "targetStoragePool": { + "id": { "type": "string" } } } - }, - "rootDiskInGB": { - "description": "RootDiskInGB is the size of a vm's root disk, in GiB", - "type": "integer", - "format": "int32" - }, - "xslTemplate": { - "description": "XSLTemplate defines a base64-encoded raw xsl template which will be included in the machine definition", - "type": "string" } } }, @@ -146861,7 +132289,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -146905,7 +132333,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -146951,7 +132379,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -147128,6 +132556,26 @@ "uid": { "description": "Cluster profile uid", "type": "string" + }, + "variables": { + "type": "array", + "items": { + "description": "Variable with value which will be used within the packs of cluster profile", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Variable name", + "type": "string" + }, + "value": { + "description": "Actual value of the variable to be used within the cluster", + "type": "string" + } + } + } } } } @@ -147146,7 +132594,7 @@ ], "responses": { "200": { - "description": "Libvirt Cluster validation response", + "description": "Gke Cluster validation response", "schema": { "description": "Cluster validator response", "type": "object", @@ -147273,7 +132721,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -147290,7 +132738,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -147302,11 +132750,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -147412,11 +132860,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -147430,11 +132878,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -147822,7 +133270,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -147866,7 +133314,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -147912,7 +133360,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -148089,6 +133537,26 @@ "uid": { "description": "Cluster profile uid", "type": "string" + }, + "variables": { + "type": "array", + "items": { + "description": "Variable with value which will be used within the packs of cluster profile", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Variable name", + "type": "string" + }, + "value": { + "description": "Actual value of the variable to be used within the cluster", + "type": "string" + } + } + } } } } @@ -148157,21 +133625,21 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } @@ -148385,7 +133853,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -148429,7 +133897,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -148475,7 +133943,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -148827,7 +134295,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -148844,7 +134312,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -148856,11 +134324,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -148966,11 +134434,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -148984,11 +134452,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -149376,7 +134844,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -149420,7 +134888,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -149466,7 +134934,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -149643,6 +135111,26 @@ "uid": { "description": "Cluster profile uid", "type": "string" + }, + "variables": { + "type": "array", + "items": { + "description": "Variable with value which will be used within the packs of cluster profile", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Variable name", + "type": "string" + }, + "value": { + "description": "Actual value of the variable to be used within the cluster", + "type": "string" + } + } + } } } } @@ -149788,7 +135276,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -149805,7 +135293,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -149817,11 +135305,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -149977,11 +135465,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -149995,11 +135483,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -150324,7 +135812,7 @@ ], "properties": { "azs": { - "description": "for master pool, this will be the failure domains for kcp", + "description": "for control plane pool, this will be the failure domains for kcp", "type": "array", "items": { "type": "string" @@ -150403,7 +135891,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -150447,7 +135935,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -150493,7 +135981,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -150670,6 +136158,26 @@ "uid": { "description": "Cluster profile uid", "type": "string" + }, + "variables": { + "type": "array", + "items": { + "description": "Variable with value which will be used within the packs of cluster profile", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Variable name", + "type": "string" + }, + "value": { + "description": "Actual value of the variable to be used within the cluster", + "type": "string" + } + } + } } } } @@ -150738,21 +136246,21 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } @@ -150954,7 +136462,7 @@ ], "properties": { "azs": { - "description": "for master pool, this will be the failure domains for kcp", + "description": "for control plane pool, this will be the failure domains for kcp", "type": "array", "items": { "type": "string" @@ -151033,7 +136541,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -151077,7 +136585,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -151123,7 +136631,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -151475,7 +136983,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -151492,7 +137000,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -151504,11 +137012,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -151664,11 +137172,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -151682,11 +137190,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -152011,7 +137519,7 @@ ], "properties": { "azs": { - "description": "for master pool, this will be the failure domains for kcp", + "description": "for control plane pool, this will be the failure domains for kcp", "type": "array", "items": { "type": "string" @@ -152090,7 +137598,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -152134,7 +137642,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -152180,7 +137688,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -152357,6 +137865,26 @@ "uid": { "description": "Cluster profile uid", "type": "string" + }, + "variables": { + "type": "array", + "items": { + "description": "Variable with value which will be used within the packs of cluster profile", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Variable name", + "type": "string" + }, + "value": { + "description": "Actual value of the variable to be used within the cluster", + "type": "string" + } + } + } } } } @@ -152505,21 +138033,21 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } @@ -152669,7 +138197,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -152686,7 +138214,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -152698,11 +138226,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -152847,11 +138375,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -152865,11 +138393,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -153245,7 +138773,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -153289,7 +138817,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -153335,7 +138863,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -153512,6 +139040,26 @@ "uid": { "description": "Cluster profile uid", "type": "string" + }, + "variables": { + "type": "array", + "items": { + "description": "Variable with value which will be used within the packs of cluster profile", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Variable name", + "type": "string" + }, + "value": { + "description": "Actual value of the variable to be used within the cluster", + "type": "string" + } + } + } } } } @@ -153711,7 +139259,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -153755,7 +139303,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -153801,7 +139349,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -154153,7 +139701,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -154170,7 +139718,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -154182,11 +139730,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -154331,11 +139879,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -154349,11 +139897,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -154729,7 +140277,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -154773,7 +140321,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -154819,7 +140367,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -154996,6 +140544,26 @@ "uid": { "description": "Cluster profile uid", "type": "string" + }, + "variables": { + "type": "array", + "items": { + "description": "Variable with value which will be used within the packs of cluster profile", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Variable name", + "type": "string" + }, + "value": { + "description": "Actual value of the variable to be used within the cluster", + "type": "string" + } + } + } } } } @@ -155292,6 +140860,26 @@ "uid": { "description": "Cluster profile uid", "type": "string" + }, + "variables": { + "type": "array", + "items": { + "description": "Variable with value which will be used within the packs of cluster profile", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Variable name", + "type": "string" + }, + "value": { + "description": "Actual value of the variable to be used within the cluster", + "type": "string" + } + } + } } } } @@ -155435,7 +141023,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -155452,7 +141040,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -155464,11 +141052,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -155604,11 +141192,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -155622,11 +141210,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -156158,6 +141746,26 @@ "uid": { "description": "Cluster profile uid", "type": "string" + }, + "variables": { + "type": "array", + "items": { + "description": "Variable with value which will be used within the packs of cluster profile", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Variable name", + "type": "string" + }, + "value": { + "description": "Actual value of the variable to be used within the cluster", + "type": "string" + } + } + } } } } @@ -156291,7 +141899,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -156308,7 +141916,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -156320,11 +141928,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -156460,11 +142068,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -156478,11 +142086,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -157014,6 +142622,26 @@ "uid": { "description": "Cluster profile uid", "type": "string" + }, + "variables": { + "type": "array", + "items": { + "description": "Variable with value which will be used within the packs of cluster profile", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Variable name", + "type": "string" + }, + "value": { + "description": "Actual value of the variable to be used within the cluster", + "type": "string" + } + } + } } } } @@ -157159,7 +142787,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -157176,7 +142804,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -157188,11 +142816,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -157382,11 +143010,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -157400,11 +143028,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -157846,7 +143474,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -157890,7 +143518,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -157936,7 +143564,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -158113,6 +143741,26 @@ "uid": { "description": "Cluster profile uid", "type": "string" + }, + "variables": { + "type": "array", + "items": { + "description": "Variable with value which will be used within the packs of cluster profile", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Variable name", + "type": "string" + }, + "value": { + "description": "Actual value of the variable to be used within the cluster", + "type": "string" + } + } + } } } } @@ -158181,21 +143829,21 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } @@ -158545,7 +144193,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -158589,7 +144237,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -158635,7 +144283,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -158987,7 +144635,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -159004,7 +144652,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -159016,11 +144664,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -159210,11 +144858,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -159228,11 +144876,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -159674,7 +145322,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -159718,7 +145366,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -159764,7 +145412,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -159941,6 +145589,26 @@ "uid": { "description": "Cluster profile uid", "type": "string" + }, + "variables": { + "type": "array", + "items": { + "description": "Variable with value which will be used within the packs of cluster profile", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Variable name", + "type": "string" + }, + "value": { + "description": "Actual value of the variable to be used within the cluster", + "type": "string" + } + } + } } } } @@ -160121,11 +145789,11 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", "type": "string" }, "kind": { - "description": "Cloud type of the cloud config", + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", "type": "string" }, "metadata": { @@ -160133,7 +145801,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -160150,7 +145818,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -160162,11 +145830,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -160184,11 +145852,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -160334,11 +146002,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -160352,11 +146020,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -160456,11 +146124,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -160525,11 +146193,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -160674,11 +146342,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -162077,11 +147745,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -162095,11 +147763,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -162312,7 +147980,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -162329,7 +147997,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -162341,11 +148009,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -162595,7 +148263,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -162612,7 +148280,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -162624,11 +148292,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -162882,7 +148550,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -162899,7 +148567,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -162911,11 +148579,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -163249,7 +148917,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -163266,7 +148934,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -163278,11 +148946,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -163687,984 +149355,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "name": { - "description": "Name of the resource.", - "type": "string" - }, - "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", - "type": "string" - } - } - }, - "spec": { - "description": "EdgeHostDeviceSpec defines the desired state of EdgeHostDevice", - "type": "object", - "properties": { - "cloudProperties": { - "description": "Additional cloud properties of the edge host (applicable based on the cloud type)", - "type": "object", - "properties": { - "vsphere": { - "description": "Vsphere cloud properties of edge host", - "properties": { - "datacenters": { - "type": "array", - "items": { - "description": "Vsphere datacenter", - "type": "object", - "properties": { - "computeClusters": { - "type": "array", - "items": { - "description": "Vsphere compute cluster", - "type": "object", - "properties": { - "datastores": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - }, - "name": { - "type": "string" - }, - "networks": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - }, - "resourcePools": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - } - } - } - }, - "folders": { - "type": "array", - "items": { - "type": "string" - } - }, - "name": { - "type": "string" - } - } - } - } - } - } - } - }, - "clusterProfileTemplates": { - "type": "array", - "items": { - "description": "ClusterProfileTemplate contains details of a clusterprofile definition", - "type": "object", - "properties": { - "cloudType": { - "type": "string" - }, - "name": { - "type": "string" - }, - "packServerRefs": { - "description": "PackServerRefs is only used on Hubble side it is reference to pack registry servers which PackRef belongs to in hubble, pack server is a top level object, so use a reference to point to it packs within a clusterprofile can come from different pack servers, so this is an array", - "type": "array", - "items": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", - "type": "string" - } - } - } - }, - "packServerSecret": { - "description": "This secret is used only on Palette side use case is similar to k8s image pull secret this single secret internally should contains all the pack servers in PackServerRefs if empty, means no credential is needed to access the pack server For spectro saas, Ally will set this field before pass to palette", - "type": "string" - }, - "packs": { - "description": "Packs definitions here are final definitions. If ClonedFrom and ParamsOverwrite is present, then Packs are the final merge result of ClonedFrom and ParamsOverwrite So orchestration engine will just take the Packs and do the work, no need to worry about parameters merge", - "type": "array", - "items": { - "description": "PackRef server/name:tag to point to a pack PackRef is used when construct a ClusterProfile PackSpec is used for UI to render the parameters form ClusterProfile will not know inner details of a pack ClusterProfile only contain pack name:tag, and the param values user entered for it", - "type": "object", - "required": [ - "layer", - "name" - ], - "properties": { - "annotations": { - "description": "Annotations is used to allow packref to add more arbitrary information one example is to add git reference for values.yaml", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "digest": { - "description": "digest is used to specify the version should be installed by palette when pack upgrade available, change this digest to trigger upgrade", - "type": "string" - }, - "inValidReason": { - "type": "string" - }, - "isInvalid": { - "description": "pack is invalid when the associated tag is deleted from the registry", - "type": "boolean" - }, - "layer": { - "type": "string", - "enum": [ - "kernel", - "os", - "k8s", - "cni", - "csi", - "addon" - ] - }, - "logo": { - "description": "path to the pack logo", - "type": "string" - }, - "manifests": { - "type": "array", - "items": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", - "type": "string" - } - } - } - }, - "name": { - "description": "pack name", - "type": "string" - }, - "packUid": { - "description": "PackUID is Hubble packUID, not palette Pack.UID It is used by Hubble only.", - "type": "string" - }, - "params": { - "description": "params passed as env variables to be consumed at installation time", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "presets": { - "type": "array", - "items": { - "description": "PackPreset defines the preset pack values", - "type": "object", - "properties": { - "add": { - "type": "string", - "x-omitempty": false - }, - "displayName": { - "type": "string", - "x-omitempty": false - }, - "group": { - "type": "string", - "x-omitempty": false - }, - "name": { - "type": "string", - "x-omitempty": false - }, - "remove": { - "type": "array", - "items": { - "type": "string" - }, - "x-omitempty": false - } - } - } - }, - "registryUid": { - "description": "pack registry uid", - "type": "string" - }, - "schema": { - "type": "array", - "items": { - "description": "PackSchema defines the schema definition, hints for the pack values", - "type": "object", - "properties": { - "format": { - "type": "string", - "x-omitempty": false - }, - "hints": { - "type": "array", - "items": { - "type": "string" - }, - "x-omitempty": false - }, - "listOptions": { - "type": "array", - "items": { - "type": "string" - }, - "x-omitempty": false - }, - "name": { - "type": "string", - "x-omitempty": false - }, - "readonly": { - "type": "boolean", - "x-omitempty": false - }, - "regex": { - "type": "string", - "x-omitempty": false - }, - "required": { - "type": "boolean", - "x-omitempty": false - }, - "type": { - "type": "string", - "x-omitempty": false - } - } - } - }, - "server": { - "description": "pack registry server or helm repo", - "type": "string" - }, - "tag": { - "description": "pack tag", - "type": "string" - }, - "type": { - "description": "type of the pack", - "type": "string", - "enum": [ - "spectro", - "helm", - "manifest" - ] - }, - "values": { - "description": "values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", - "type": "string" - }, - "version": { - "description": "pack version", - "type": "string" - } - } - } - }, - "profileVersion": { - "description": "version start from 1.0.0, matching the index of ClusterProfileSpec.Versions[] will be used by clusterSpec to identify which version is applied to the cluster", - "type": "string" - }, - "relatedObject": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", - "type": "string" - } - } - }, - "type": { - "type": "string" - }, - "uid": { - "type": "string" - }, - "version": { - "description": "Deprecated. Use profileVersion", - "type": "integer", - "format": "int32" - } - } - } - }, - "device": { - "description": "DeviceSpec defines the desired state of Device", - "type": "object", - "properties": { - "archType": { - "description": "Architecture type of the edge host", - "type": "string", - "default": "amd64", - "enum": [ - "arm64", - "amd64" - ] - }, - "cpu": { - "type": "object", - "properties": { - "cores": { - "description": "number of cpu cores", - "type": "integer", - "format": "int32" - } - } - }, - "disks": { - "type": "array", - "items": { - "type": "object", - "properties": { - "controller": { - "type": "string" - }, - "partitions": { - "type": "array", - "items": { - "type": "object", - "properties": { - "fileSystemType": { - "type": "string" - }, - "freeSpace": { - "type": "integer", - "format": "int32" - }, - "mountPoint": { - "type": "string" - }, - "totalSpace": { - "type": "integer", - "format": "int32" - }, - "usedSpace": { - "type": "integer", - "format": "int32" - } - } - } - }, - "size": { - "description": "Size in GB", - "type": "integer", - "format": "int32" - }, - "vendor": { - "type": "string" - } - } - } - }, - "gpus": { - "type": "array", - "items": { - "type": "object", - "properties": { - "addresses": { - "description": "Addresses is a map of PCI device entry name to its addresses.\nExample entry would be \"11:00.0 VGA compatible controller [0300]: NVIDIA\nCorporation Device [10de:1eb1] (rev a1)\"- \u003e 0000_11_00_0\" The address is\nBDF (Bus Device Function) identifier format seperated by underscores. The\nfirst 4 bits are almost always 0000. In the above example 11 is Bus, 00\nis Device,0 is function. The values of these addreses are expected in hexadecimal\nformat\n", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "model": { - "description": "Model is the model of GPU, for a given vendor, for eg., TU104GL [Tesla T4]", - "type": "string" - }, - "vendor": { - "description": "Vendor is the GPU vendor, for eg., NVIDIA or AMD", - "type": "string" - } - } - } - }, - "memory": { - "type": "object", - "properties": { - "sizeInMB": { - "description": "memory size in bytes", - "type": "integer", - "format": "int64" - } - } - }, - "nics": { - "type": "array", - "items": { - "type": "object", - "properties": { - "dns": { - "type": "array", - "items": { - "type": "string" - } - }, - "gateway": { - "type": "string" - }, - "ip": { - "type": "string" - }, - "isDefault": { - "type": "boolean" - }, - "macAddr": { - "type": "string" - }, - "nicName": { - "type": "string" - }, - "subnet": { - "type": "string" - } - } - } - }, - "os": { - "type": "object", - "properties": { - "family": { - "type": "string" - }, - "version": { - "type": "string" - } - } - } - } - }, - "host": { - "description": "EdgeHost is the underlying appliance", - "type": "object", - "required": [ - "hostUid", - "hostAddress" - ], - "properties": { - "disableAutoRegister": { - "description": "Set to true if auto register is disabled for the device", - "type": "boolean", - "x-omitempty": false - }, - "hostAddress": { - "description": "HostAddress is a FQDN or IP address of the Host", - "type": "string" - }, - "hostAuthToken": { - "description": "HostAuthToken to authorize auto registration", - "type": "string", - "x-omitempty": false - }, - "hostChecksum": { - "description": "HostChecksum is the checksum provided by the edge host, to be persisted in SaaS", - "type": "string", - "x-omitempty": false - }, - "hostIdentity": { - "properties": { - "caCert": { - "description": "CACert is the client CA certificate", - "type": "string" - }, - "mode": { - "description": "Mode indicates a system or session connection to the host", - "type": "string" - }, - "socketPath": { - "description": "SocketPath is an optional path to the socket on the host, if not using defaults", - "type": "string" - }, - "sshSecret": { - "type": "object", - "properties": { - "name": { - "description": "SSH secret name", - "type": "string" - }, - "privateKey": { - "description": "Private Key to access the host", - "type": "string" - } - } - } - } - }, - "hostPairingKey": { - "description": "HostPairingKey is the one-time pairing key to pair the edge host with the device registered in SaaS", - "type": "string", - "format": "password", - "x-omitempty": false - }, - "hostUid": { - "description": "HostUid is the ID of the EdgeHost", - "type": "string" - }, - "macAddress": { - "description": "Mac address of edgehost", - "type": "string", - "x-omitempty": false - }, - "project": { - "description": "Object identity meta", - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - } - } - }, - "properties": { - "description": "Additional properties of edge host", - "properties": { - "networks": { - "type": "array", - "items": { - "description": "Network defines the network configuration for a virtual machine", - "type": "object", - "required": [ - "networkName", - "networkType" - ], - "properties": { - "networkName": { - "description": "NetworkName of the network where this machine will be connected", - "type": "string" - }, - "networkType": { - "description": "NetworkType specifies the type of network", - "type": "string", - "enum": [ - "default", - "bridge" - ] - } - } - } - }, - "storagePools": { - "type": "array", - "items": { - "description": "StoragePool is the storage pool for the vm image", - "properties": { - "name": { - "type": "string" - } - } - } - } - } - }, - "service": { - "description": "ServiceSpec defines the specification of service registering edge", - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "version": { - "type": "string" - } - } - }, - "type": { - "description": "Cloudtype of the provisioned edge host", - "type": "string", - "enum": [ - "libvirt", - "vsphere", - "edge-native" - ] - }, - "version": { - "type": "string" - } - } - }, - "status": { - "description": "EdgeHostDeviceStatus defines the observed state of EdgeHostDevice", - "type": "object", - "properties": { - "health": { - "description": "EdgeHostHealth defines the desired health state of EdgeHostDevice", - "properties": { - "agentVersion": { - "type": "string" - }, - "message": { - "type": "string" - }, - "state": { - "type": "string", - "enum": [ - "healthy", - "unhealthy" - ] - } - } - }, - "inUseClusters": { - "type": "array", - "items": { - "description": "Object identity meta", - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - } - }, - "packs": { - "type": "array", - "items": { - "type": "object", - "properties": { - "condition": { - "type": "object", - "required": [ - "type", - "status" - ], - "properties": { - "lastProbeTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "lastTransitionTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "message": { - "description": "Human-readable message indicating details about last transition.", - "type": "string" - }, - "reason": { - "description": "Unique, one-word, CamelCase reason for the condition's last transition.", - "type": "string" - }, - "status": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "endTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "manifests": { - "type": "array", - "items": { - "type": "object", - "properties": { - "condition": { - "type": "object", - "required": [ - "type", - "status" - ], - "properties": { - "lastProbeTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "lastTransitionTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "message": { - "description": "Human-readable message indicating details about last transition.", - "type": "string" - }, - "reason": { - "description": "Unique, one-word, CamelCase reason for the condition's last transition.", - "type": "string" - }, - "status": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - } - }, - "name": { - "type": "string" - }, - "profileUid": { - "type": "string" - }, - "services": { - "type": "array", - "items": { - "type": "object", - "properties": { - "host": { - "description": "IP or Host from svc.Status.LoadBalancerStatus.Ingress", - "type": "string" - }, - "name": { - "description": "name of the loadbalancer service", - "type": "string" - }, - "ports": { - "description": "port this service exposed", - "type": "array", - "items": { - "type": "object", - "required": [ - "port" - ], - "properties": { - "port": { - "description": "The port that will be exposed by this service.", - "type": "integer", - "format": "int32" - }, - "protocol": { - "type": "string" - } - } - } - } - } - } - }, - "startTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "type": { - "type": "string" - }, - "version": { - "type": "string" - } - } - } - }, - "profileStatus": { - "type": "object", - "properties": { - "hasUserMacros": { - "description": "If it is true then profile pack values has a reference to user defined macros", - "type": "boolean", - "x-omitempty": false - } - } - }, - "serviceAuthToken": { - "type": "string" - }, - "state": { - "type": "string", - "enum": [ - "ready", - "unpaired", - "in-use" - ] - } - } - } - } - } - }, - "listmeta": { - "description": "ListMeta describes metadata for the resource listing", - "type": "object", - "properties": { - "continue": { - "description": "Next token for the pagination. Next token is equal to empty string indicates end of result set.", - "type": "string", - "x-omitempty": false - }, - "count": { - "description": "Total count of the resources which might change during pagination based on the resources addition or deletion", - "type": "integer", - "x-omitempty": false - }, - "limit": { - "description": "Number of records feteched", - "type": "integer", - "x-omitempty": false - }, - "offset": { - "description": "The next offset for the pagination. Starting index for which next request will be placed.", - "type": "integer", - "x-omitempty": false - } - } - } - } - } - } - } - }, - "parameters": [ - { - "type": "string", - "description": "Cluster uid", - "name": "uid", - "in": "path", - "required": true - } - ] - }, - "/v1/spectroclusters/{uid}/edge/edgeHosts": { - "get": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Retrieves a list of edge host of libvirt cluster", - "operationId": "v1EdgeClustersHostsList", - "parameters": [ - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "List of edge host device", - "schema": { - "type": "object", - "required": [ - "items" - ], - "properties": { - "items": { - "type": "array", - "uniqueItems": true, - "items": { - "properties": { - "aclmeta": { - "description": "Resource access control information (Read-only response data)", - "type": "object", - "properties": { - "ownerUid": { - "description": "User or service uid which created the resource", - "type": "string" - }, - "projectUid": { - "description": "Project's uid if the resource is under a project", - "type": "string" - }, - "tenantUid": { - "description": "Tenant's uid", - "type": "string" - } - } - }, - "metadata": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", - "type": "object", - "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -164681,7 +149372,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -164693,11 +149384,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -164792,11 +149483,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -164861,11 +149552,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -165010,11 +149701,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -165318,7 +150009,7 @@ } }, "type": { - "description": "Cloudtype of the provisioned edge host", + "description": "Deprecated. Cloudtype of the provisioned edge host", "type": "string", "enum": [ "libvirt", @@ -165620,7 +150311,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -165637,7 +150328,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -165649,11 +150340,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -166247,7 +150938,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -166264,7 +150955,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -166276,11 +150967,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -166539,7 +151230,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -166556,7 +151247,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -166568,11 +151259,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -166702,7 +151393,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -166719,7 +151410,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -166731,11 +151422,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -166860,7 +151551,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -166877,7 +151568,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -166889,11 +151580,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -167014,7 +151705,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -167031,7 +151722,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -167043,11 +151734,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -167879,7 +152570,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -167896,7 +152587,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -167908,11 +152599,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -168088,7 +152779,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -168105,7 +152796,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -168117,11 +152808,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -168292,7 +152983,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -168309,7 +153000,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -168321,11 +153012,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -168492,7 +153183,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -168509,7 +153200,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -168521,11 +153212,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -169139,7 +153830,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -169156,7 +153847,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -169168,11 +153859,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -169421,1458 +154112,481 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" - } - }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "name": { - "description": "Name of the resource.", - "type": "string" - }, - "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", - "type": "string" - } - } - }, - "spec": { - "description": "Cluster Restore Spec", - "properties": { - "clusterUid": { - "type": "string" - } - } - }, - "status": { - "description": "Cluster Restore Status", - "properties": { - "clusterRestoreStatuses": { - "type": "array", - "items": { - "description": "Cluster Restore Status Meta", - "properties": { - "actor": { - "description": "Compliance Scan actor", - "properties": { - "actorType": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - }, - "backupName": { - "type": "string" - }, - "backupRequestUid": { - "type": "string" - }, - "restoreRequestUid": { - "type": "string" - }, - "restoreStatusMeta": { - "description": "Restore status meta", - "properties": { - "isSucceeded": { - "type": "boolean" - }, - "msg": { - "type": "string" - }, - "restoreTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - } - } - }, - "sourceClusterRef": { - "type": "object", - "required": [ - "uid" - ], - "properties": { - "kind": { - "type": "string" - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - }, - "state": { - "type": "string" - } - } - } - } - } - } - } - } - } - } - }, - "parameters": [ - { - "type": "string", - "name": "uid", - "in": "path", - "required": true - } - ] - }, - "/v1/spectroclusters/{uid}/features/restore/onDemand": { - "post": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Create on demand cluster restore", - "operationId": "v1ClusterFeatureRestoreOnDemandCreate", - "parameters": [ - { - "name": "body", - "in": "body", - "schema": { - "description": "Cluster restore config", - "required": [ - "backupRequestUid", - "backupName", - "destinationClusterUid" - ], - "properties": { - "backupName": { - "type": "string" - }, - "backupRequestUid": { - "type": "string" - }, - "destinationClusterUid": { - "type": "string" - }, - "includeClusterResources": { - "type": "boolean" - }, - "includeNamespaces": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - }, - "preserveNodePorts": { - "type": "boolean" - }, - "restorePVs": { - "type": "boolean" - } - } - } - }, - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "201": { - "description": "Created successfully", - "schema": { - "type": "object", - "required": [ - "uid" - ], - "properties": { - "uid": { - "type": "string" - } - } - }, - "headers": { - "AuditUid": { - "type": "string", - "description": "Audit uid for the request" - } - } - } - } - }, - "parameters": [ - { - "type": "string", - "name": "uid", - "in": "path", - "required": true - } - ] - }, - "/v1/spectroclusters/{uid}/import/manifest": { - "get": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "produces": [ - "application/octet-stream" - ], - "tags": [ - "v1" - ], - "summary": "Returns the specified cluster's import manifest file", - "operationId": "v1SpectroClustersUidImportManifest", - "parameters": [ - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "download file", - "schema": { - "type": "string", - "format": "binary" - }, - "headers": { - "Content-Disposition": { - "type": "string" - } - } - } - } - }, - "parameters": [ - { - "type": "string", - "name": "uid", - "in": "path", - "required": true - } - ] - }, - "/v1/spectroclusters/{uid}/import/upgrade": { - "patch": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Upgrade the specified imported read only cluster with full permissions", - "operationId": "v1SpectroClustersUidImportUpgradePatch", - "parameters": [ - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "204": { - "description": "The resource was updated successfully" - } - } - }, - "parameters": [ - { - "type": "string", - "description": "Cluster uid", - "name": "uid", - "in": "path", - "required": true - } - ] - }, - "/v1/spectroclusters/{uid}/k8certificates": { - "get": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Get K8Certificate for spectro cluster", - "operationId": "v1SpectroClustersK8Certificate", - "parameters": [ - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "description": "K8 Certificates for all the cluster's master nodes", - "type": "object", - "properties": { - "machineCertificates": { - "type": "array", - "items": { - "description": "K8 Certificates for master nodes", - "type": "object", - "properties": { - "certificateAuthorities": { - "description": "Applicable certificate authorities", - "type": "array", - "items": { - "description": "Certificate Authority", - "type": "object", - "properties": { - "certificates": { - "type": "array", - "items": { - "description": "Certificate details", - "type": "object", - "properties": { - "expiry": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "name": { - "type": "string" - } - } - } - }, - "expiry": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "name": { - "type": "string" - } - } - } - }, - "name": { - "type": "string" - } - } - } - } - } - } - } - } - }, - "parameters": [ - { - "type": "string", - "description": "Cluster uid", - "name": "uid", - "in": "path", - "required": true - } - ] - }, - "/v1/spectroclusters/{uid}/k8certificates/renew": { - "patch": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Sets the cluster master nodes Kubernetes certificates for renewal", - "operationId": "v1SpectroClustersCertificatesRenew", - "parameters": [ - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "204": { - "description": "The resource was updated successfully" - } - } - }, - "parameters": [ - { - "type": "string", - "description": "Cluster uid", - "name": "uid", - "in": "path", - "required": true - } - ] - }, - "/v1/spectroclusters/{uid}/kubectl/redirect": { - "get": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Returns the specified cluster's kube config file", - "operationId": "V1SpectroClustersUidKubeCtlRedirect", - "parameters": [ - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "(empty)", - "schema": { - "description": "Active resources of tenant", - "type": "object", - "properties": { - "redirectUri": { - "type": "string" - } - } - } - } - } - }, - "parameters": [ - { - "type": "string", - "description": "Cluster uid", - "name": "uid", - "in": "path", - "required": true - } - ] - }, - "/v1/spectroclusters/{uid}/libvirt/edgeHosts": { - "get": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Retrieves a list of edge hosts of the libvirt cluster", - "operationId": "v1LibvirtClustersHostsList", - "parameters": [ - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "200": { - "description": "List of edge host devices", - "schema": { - "type": "object", - "required": [ - "items" - ], - "properties": { - "items": { - "type": "array", - "uniqueItems": true, - "items": { - "properties": { - "aclmeta": { - "description": "Resource access control information (Read-only response data)", - "type": "object", - "properties": { - "ownerUid": { - "description": "User or service uid which created the resource", - "type": "string" - }, - "projectUid": { - "description": "Project's uid if the resource is under a project", - "type": "string" - }, - "tenantUid": { - "description": "Tenant's uid", - "type": "string" - } - } - }, - "metadata": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", - "type": "object", - "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "name": { - "description": "Name of the resource.", - "type": "string" - }, - "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", - "type": "string" - } - } - }, - "spec": { - "description": "EdgeHostDeviceSpec defines the desired state of EdgeHostDevice", - "type": "object", - "properties": { - "cloudProperties": { - "description": "Additional cloud properties of the edge host (applicable based on the cloud type)", - "type": "object", - "properties": { - "vsphere": { - "description": "Vsphere cloud properties of edge host", - "properties": { - "datacenters": { - "type": "array", - "items": { - "description": "Vsphere datacenter", - "type": "object", - "properties": { - "computeClusters": { - "type": "array", - "items": { - "description": "Vsphere compute cluster", - "type": "object", - "properties": { - "datastores": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - }, - "name": { - "type": "string" - }, - "networks": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - }, - "resourcePools": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - } - } - } - }, - "folders": { - "type": "array", - "items": { - "type": "string" - } - }, - "name": { - "type": "string" - } - } - } - } - } - } - } - }, - "clusterProfileTemplates": { - "type": "array", - "items": { - "description": "ClusterProfileTemplate contains details of a clusterprofile definition", - "type": "object", - "properties": { - "cloudType": { - "type": "string" - }, - "name": { - "type": "string" - }, - "packServerRefs": { - "description": "PackServerRefs is only used on Hubble side it is reference to pack registry servers which PackRef belongs to in hubble, pack server is a top level object, so use a reference to point to it packs within a clusterprofile can come from different pack servers, so this is an array", - "type": "array", - "items": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", - "type": "string" - } - } - } - }, - "packServerSecret": { - "description": "This secret is used only on Palette side use case is similar to k8s image pull secret this single secret internally should contains all the pack servers in PackServerRefs if empty, means no credential is needed to access the pack server For spectro saas, Ally will set this field before pass to palette", - "type": "string" - }, - "packs": { - "description": "Packs definitions here are final definitions. If ClonedFrom and ParamsOverwrite is present, then Packs are the final merge result of ClonedFrom and ParamsOverwrite So orchestration engine will just take the Packs and do the work, no need to worry about parameters merge", - "type": "array", - "items": { - "description": "PackRef server/name:tag to point to a pack PackRef is used when construct a ClusterProfile PackSpec is used for UI to render the parameters form ClusterProfile will not know inner details of a pack ClusterProfile only contain pack name:tag, and the param values user entered for it", - "type": "object", - "required": [ - "layer", - "name" - ], - "properties": { - "annotations": { - "description": "Annotations is used to allow packref to add more arbitrary information one example is to add git reference for values.yaml", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "digest": { - "description": "digest is used to specify the version should be installed by palette when pack upgrade available, change this digest to trigger upgrade", - "type": "string" - }, - "inValidReason": { - "type": "string" - }, - "isInvalid": { - "description": "pack is invalid when the associated tag is deleted from the registry", - "type": "boolean" - }, - "layer": { - "type": "string", - "enum": [ - "kernel", - "os", - "k8s", - "cni", - "csi", - "addon" - ] - }, - "logo": { - "description": "path to the pack logo", - "type": "string" - }, - "manifests": { - "type": "array", - "items": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", - "type": "string" - } - } - } - }, - "name": { - "description": "pack name", - "type": "string" - }, - "packUid": { - "description": "PackUID is Hubble packUID, not palette Pack.UID It is used by Hubble only.", - "type": "string" - }, - "params": { - "description": "params passed as env variables to be consumed at installation time", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "presets": { - "type": "array", - "items": { - "description": "PackPreset defines the preset pack values", - "type": "object", - "properties": { - "add": { - "type": "string", - "x-omitempty": false - }, - "displayName": { - "type": "string", - "x-omitempty": false - }, - "group": { - "type": "string", - "x-omitempty": false - }, - "name": { - "type": "string", - "x-omitempty": false - }, - "remove": { - "type": "array", - "items": { - "type": "string" - }, - "x-omitempty": false - } - } - } - }, - "registryUid": { - "description": "pack registry uid", - "type": "string" - }, - "schema": { - "type": "array", - "items": { - "description": "PackSchema defines the schema definition, hints for the pack values", - "type": "object", - "properties": { - "format": { - "type": "string", - "x-omitempty": false - }, - "hints": { - "type": "array", - "items": { - "type": "string" - }, - "x-omitempty": false - }, - "listOptions": { - "type": "array", - "items": { - "type": "string" - }, - "x-omitempty": false - }, - "name": { - "type": "string", - "x-omitempty": false - }, - "readonly": { - "type": "boolean", - "x-omitempty": false - }, - "regex": { - "type": "string", - "x-omitempty": false - }, - "required": { - "type": "boolean", - "x-omitempty": false - }, - "type": { - "type": "string", - "x-omitempty": false - } - } - } - }, - "server": { - "description": "pack registry server or helm repo", - "type": "string" - }, - "tag": { - "description": "pack tag", - "type": "string" - }, - "type": { - "description": "type of the pack", - "type": "string", - "enum": [ - "spectro", - "helm", - "manifest" - ] - }, - "values": { - "description": "values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", - "type": "string" - }, - "version": { - "description": "pack version", - "type": "string" - } - } - } - }, - "profileVersion": { - "description": "version start from 1.0.0, matching the index of ClusterProfileSpec.Versions[] will be used by clusterSpec to identify which version is applied to the cluster", - "type": "string" - }, - "relatedObject": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", - "type": "string" - } - } - }, - "type": { - "type": "string" - }, - "uid": { - "type": "string" - }, - "version": { - "description": "Deprecated. Use profileVersion", - "type": "integer", - "format": "int32" - } - } - } - }, - "device": { - "description": "DeviceSpec defines the desired state of Device", - "type": "object", + } + }, + "creationTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "deletionTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "labels": { + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "lastModifiedTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "name": { + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + }, + "uid": { + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", + "type": "string" + } + } + }, + "spec": { + "description": "Cluster Restore Spec", + "properties": { + "clusterUid": { + "type": "string" + } + } + }, + "status": { + "description": "Cluster Restore Status", + "properties": { + "clusterRestoreStatuses": { + "type": "array", + "items": { + "description": "Cluster Restore Status Meta", + "properties": { + "actor": { + "description": "Compliance Scan actor", "properties": { - "archType": { - "description": "Architecture type of the edge host", - "type": "string", - "default": "amd64", - "enum": [ - "arm64", - "amd64" - ] - }, - "cpu": { - "type": "object", - "properties": { - "cores": { - "description": "number of cpu cores", - "type": "integer", - "format": "int32" - } - } - }, - "disks": { - "type": "array", - "items": { - "type": "object", - "properties": { - "controller": { - "type": "string" - }, - "partitions": { - "type": "array", - "items": { - "type": "object", - "properties": { - "fileSystemType": { - "type": "string" - }, - "freeSpace": { - "type": "integer", - "format": "int32" - }, - "mountPoint": { - "type": "string" - }, - "totalSpace": { - "type": "integer", - "format": "int32" - }, - "usedSpace": { - "type": "integer", - "format": "int32" - } - } - } - }, - "size": { - "description": "Size in GB", - "type": "integer", - "format": "int32" - }, - "vendor": { - "type": "string" - } - } - } - }, - "gpus": { - "type": "array", - "items": { - "type": "object", - "properties": { - "addresses": { - "description": "Addresses is a map of PCI device entry name to its addresses.\nExample entry would be \"11:00.0 VGA compatible controller [0300]: NVIDIA\nCorporation Device [10de:1eb1] (rev a1)\"- \u003e 0000_11_00_0\" The address is\nBDF (Bus Device Function) identifier format seperated by underscores. The\nfirst 4 bits are almost always 0000. In the above example 11 is Bus, 00\nis Device,0 is function. The values of these addreses are expected in hexadecimal\nformat\n", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "model": { - "description": "Model is the model of GPU, for a given vendor, for eg., TU104GL [Tesla T4]", - "type": "string" - }, - "vendor": { - "description": "Vendor is the GPU vendor, for eg., NVIDIA or AMD", - "type": "string" - } - } - } - }, - "memory": { - "type": "object", - "properties": { - "sizeInMB": { - "description": "memory size in bytes", - "type": "integer", - "format": "int64" - } - } - }, - "nics": { - "type": "array", - "items": { - "type": "object", - "properties": { - "dns": { - "type": "array", - "items": { - "type": "string" - } - }, - "gateway": { - "type": "string" - }, - "ip": { - "type": "string" - }, - "isDefault": { - "type": "boolean" - }, - "macAddr": { - "type": "string" - }, - "nicName": { - "type": "string" - }, - "subnet": { - "type": "string" - } - } - } + "actorType": { + "type": "string" }, - "os": { - "type": "object", - "properties": { - "family": { - "type": "string" - }, - "version": { - "type": "string" - } - } + "uid": { + "type": "string" } } }, - "host": { - "description": "EdgeHost is the underlying appliance", - "type": "object", - "required": [ - "hostUid", - "hostAddress" - ], + "backupName": { + "type": "string" + }, + "backupRequestUid": { + "type": "string" + }, + "restoreRequestUid": { + "type": "string" + }, + "restoreStatusMeta": { + "description": "Restore status meta", "properties": { - "disableAutoRegister": { - "description": "Set to true if auto register is disabled for the device", - "type": "boolean", - "x-omitempty": false - }, - "hostAddress": { - "description": "HostAddress is a FQDN or IP address of the Host", - "type": "string" - }, - "hostAuthToken": { - "description": "HostAuthToken to authorize auto registration", - "type": "string", - "x-omitempty": false - }, - "hostChecksum": { - "description": "HostChecksum is the checksum provided by the edge host, to be persisted in SaaS", - "type": "string", - "x-omitempty": false - }, - "hostIdentity": { - "properties": { - "caCert": { - "description": "CACert is the client CA certificate", - "type": "string" - }, - "mode": { - "description": "Mode indicates a system or session connection to the host", - "type": "string" - }, - "socketPath": { - "description": "SocketPath is an optional path to the socket on the host, if not using defaults", - "type": "string" - }, - "sshSecret": { - "type": "object", - "properties": { - "name": { - "description": "SSH secret name", - "type": "string" - }, - "privateKey": { - "description": "Private Key to access the host", - "type": "string" - } - } - } - } - }, - "hostPairingKey": { - "description": "HostPairingKey is the one-time pairing key to pair the edge host with the device registered in SaaS", - "type": "string", - "format": "password", - "x-omitempty": false + "isSucceeded": { + "type": "boolean" }, - "hostUid": { - "description": "HostUid is the ID of the EdgeHost", + "msg": { "type": "string" }, - "macAddress": { - "description": "Mac address of edgehost", + "restoreTime": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", "type": "string", - "x-omitempty": false - }, - "project": { - "description": "Object identity meta", - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - } - } - }, - "properties": { - "description": "Additional properties of edge host", - "properties": { - "networks": { - "type": "array", - "items": { - "description": "Network defines the network configuration for a virtual machine", - "type": "object", - "required": [ - "networkName", - "networkType" - ], - "properties": { - "networkName": { - "description": "NetworkName of the network where this machine will be connected", - "type": "string" - }, - "networkType": { - "description": "NetworkType specifies the type of network", - "type": "string", - "enum": [ - "default", - "bridge" - ] - } - } - } - }, - "storagePools": { - "type": "array", - "items": { - "description": "StoragePool is the storage pool for the vm image", - "properties": { - "name": { - "type": "string" - } - } - } + "format": "date-time" } } }, - "service": { - "description": "ServiceSpec defines the specification of service registering edge", + "sourceClusterRef": { "type": "object", + "required": [ + "uid" + ], "properties": { + "kind": { + "type": "string" + }, "name": { "type": "string" }, - "version": { + "uid": { "type": "string" } } }, - "type": { - "description": "Cloudtype of the provisioned edge host", - "type": "string", - "enum": [ - "libvirt", - "vsphere", - "edge-native" - ] - }, - "version": { + "state": { "type": "string" } } - }, - "status": { - "description": "EdgeHostDeviceStatus defines the observed state of EdgeHostDevice", - "type": "object", - "properties": { - "health": { - "description": "EdgeHostHealth defines the desired health state of EdgeHostDevice", - "properties": { - "agentVersion": { - "type": "string" - }, - "message": { - "type": "string" - }, - "state": { - "type": "string", - "enum": [ - "healthy", - "unhealthy" - ] - } - } - }, - "inUseClusters": { - "type": "array", - "items": { - "description": "Object identity meta", - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - } - }, - "packs": { - "type": "array", - "items": { - "type": "object", - "properties": { - "condition": { - "type": "object", - "required": [ - "type", - "status" - ], - "properties": { - "lastProbeTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "lastTransitionTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "message": { - "description": "Human-readable message indicating details about last transition.", - "type": "string" - }, - "reason": { - "description": "Unique, one-word, CamelCase reason for the condition's last transition.", - "type": "string" - }, - "status": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "endTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "manifests": { - "type": "array", - "items": { - "type": "object", - "properties": { - "condition": { - "type": "object", - "required": [ - "type", - "status" - ], - "properties": { - "lastProbeTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "lastTransitionTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "message": { - "description": "Human-readable message indicating details about last transition.", - "type": "string" - }, - "reason": { - "description": "Unique, one-word, CamelCase reason for the condition's last transition.", - "type": "string" - }, - "status": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - } - }, - "name": { - "type": "string" - }, - "profileUid": { - "type": "string" - }, - "services": { - "type": "array", - "items": { - "type": "object", - "properties": { - "host": { - "description": "IP or Host from svc.Status.LoadBalancerStatus.Ingress", - "type": "string" - }, - "name": { - "description": "name of the loadbalancer service", - "type": "string" - }, - "ports": { - "description": "port this service exposed", - "type": "array", - "items": { - "type": "object", - "required": [ - "port" - ], - "properties": { - "port": { - "description": "The port that will be exposed by this service.", - "type": "integer", - "format": "int32" - }, - "protocol": { - "type": "string" - } - } - } - } - } + } + } + } + } + } + } + } + } + }, + "parameters": [ + { + "type": "string", + "name": "uid", + "in": "path", + "required": true + } + ] + }, + "/v1/spectroclusters/{uid}/features/restore/onDemand": { + "post": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Create on demand cluster restore", + "operationId": "v1ClusterFeatureRestoreOnDemandCreate", + "parameters": [ + { + "name": "body", + "in": "body", + "schema": { + "description": "Cluster restore config", + "required": [ + "backupRequestUid", + "backupName", + "destinationClusterUid" + ], + "properties": { + "backupName": { + "type": "string" + }, + "backupRequestUid": { + "type": "string" + }, + "destinationClusterUid": { + "type": "string" + }, + "includeClusterResources": { + "type": "boolean" + }, + "includeNamespaces": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + }, + "preserveNodePorts": { + "type": "boolean" + }, + "restorePVs": { + "type": "boolean" + } + } + } + }, + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "schema": { + "type": "object", + "required": [ + "uid" + ], + "properties": { + "uid": { + "type": "string" + } + } + }, + "headers": { + "AuditUid": { + "type": "string", + "description": "Audit uid for the request" + } + } + } + } + }, + "parameters": [ + { + "type": "string", + "name": "uid", + "in": "path", + "required": true + } + ] + }, + "/v1/spectroclusters/{uid}/import/manifest": { + "get": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "produces": [ + "application/octet-stream" + ], + "tags": [ + "v1" + ], + "summary": "Returns the specified cluster's import manifest file", + "operationId": "v1SpectroClustersUidImportManifest", + "parameters": [ + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "200": { + "description": "download file", + "schema": { + "type": "string", + "format": "binary" + }, + "headers": { + "Content-Disposition": { + "type": "string" + } + } + } + } + }, + "parameters": [ + { + "type": "string", + "name": "uid", + "in": "path", + "required": true + } + ] + }, + "/v1/spectroclusters/{uid}/import/upgrade": { + "patch": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Upgrade the specified imported read only cluster with full permissions", + "operationId": "v1SpectroClustersUidImportUpgradePatch", + "parameters": [ + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + } + }, + "parameters": [ + { + "type": "string", + "description": "Cluster uid", + "name": "uid", + "in": "path", + "required": true + } + ] + }, + "/v1/spectroclusters/{uid}/k8certificates": { + "get": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Get K8Certificate for spectro cluster", + "operationId": "v1SpectroClustersK8Certificate", + "parameters": [ + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "description": "K8 Certificates for all the cluster's control plane nodes", + "type": "object", + "properties": { + "machineCertificates": { + "type": "array", + "items": { + "description": "K8 Certificates for control plane nodes", + "type": "object", + "properties": { + "certificateAuthorities": { + "description": "Applicable certificate authorities", + "type": "array", + "items": { + "description": "Certificate Authority", + "type": "object", + "properties": { + "certificates": { + "type": "array", + "items": { + "description": "Certificate details", + "type": "object", + "properties": { + "expiry": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "name": { + "type": "string" } - }, - "startTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "type": { - "type": "string" - }, - "version": { - "type": "string" } } + }, + "expiry": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "name": { + "type": "string" } - }, - "profileStatus": { - "type": "object", - "properties": { - "hasUserMacros": { - "description": "If it is true then profile pack values has a reference to user defined macros", - "type": "boolean", - "x-omitempty": false - } - } - }, - "serviceAuthToken": { - "type": "string" - }, - "state": { - "type": "string", - "enum": [ - "ready", - "unpaired", - "in-use" - ] } } + }, + "name": { + "type": "string" } } } - }, - "listmeta": { - "description": "ListMeta describes metadata for the resource listing", - "type": "object", - "properties": { - "continue": { - "description": "Next token for the pagination. Next token is equal to empty string indicates end of result set.", - "type": "string", - "x-omitempty": false - }, - "count": { - "description": "Total count of the resources which might change during pagination based on the resources addition or deletion", - "type": "integer", - "x-omitempty": false - }, - "limit": { - "description": "Number of records feteched", - "type": "integer", - "x-omitempty": false - }, - "offset": { - "description": "The next offset for the pagination. Starting index for which next request will be placed.", - "type": "integer", - "x-omitempty": false - } - } + } + } + } + } + } + }, + "parameters": [ + { + "type": "string", + "description": "Cluster uid", + "name": "uid", + "in": "path", + "required": true + } + ] + }, + "/v1/spectroclusters/{uid}/k8certificates/renew": { + "patch": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Sets the cluster control plane nodes Kubernetes certificates for renewal", + "operationId": "v1SpectroClustersCertificatesRenew", + "parameters": [ + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + } + }, + "parameters": [ + { + "type": "string", + "description": "Cluster uid", + "name": "uid", + "in": "path", + "required": true + } + ] + }, + "/v1/spectroclusters/{uid}/kubectl/redirect": { + "get": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Returns the specified cluster's kube config file", + "operationId": "V1SpectroClustersUidKubeCtlRedirect", + "parameters": [ + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "description": "Active resources of tenant", + "type": "object", + "properties": { + "redirectUri": { + "type": "string" } } } @@ -171015,21 +154729,21 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } @@ -171308,7 +155022,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -171325,7 +155039,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -171337,11 +155051,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -171791,44 +155505,6 @@ } ] }, - "/v1/spectroclusters/{uid}/profile": { - "patch": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "tags": [ - "v1" - ], - "summary": "Replaces the specified cluster profile for the cluster", - "operationId": "v1SpectroClustersPatchProfile", - "parameters": [ - { - "type": "string", - "description": "Scope the request to the specified project uid", - "name": "ProjectUid", - "in": "header" - } - ], - "responses": { - "204": { - "description": "The resource was updated successfully" - } - } - }, - "parameters": [ - { - "type": "string", - "name": "uid", - "in": "path", - "required": true - } - ] - }, "/v1/spectroclusters/{uid}/profileUpdates": { "get": { "security": [ @@ -171883,11 +155559,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -171952,11 +155628,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -172101,11 +155777,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -172188,7 +155864,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -172205,7 +155881,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -172217,11 +155893,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -172247,7 +155923,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -172264,7 +155940,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -172276,11 +155952,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -172354,11 +156030,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -172707,11 +156383,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -172839,6 +156515,26 @@ "uid": { "description": "Cluster profile uid", "type": "string" + }, + "variables": { + "type": "array", + "items": { + "description": "Variable with value which will be used within the packs of cluster profile", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Variable name", + "type": "string" + }, + "value": { + "description": "Actual value of the variable to be used within the cluster", + "type": "string" + } + } + } } } } @@ -173020,6 +156716,26 @@ "uid": { "description": "Cluster profile uid", "type": "string" + }, + "variables": { + "type": "array", + "items": { + "description": "Variable with value which will be used within the packs of cluster profile", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Variable name", + "type": "string" + }, + "value": { + "description": "Actual value of the variable to be used within the cluster", + "type": "string" + } + } + } } } } @@ -173118,7 +156834,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -173135,7 +156851,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -173147,11 +156863,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -173172,7 +156888,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -173189,7 +156905,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -173201,11 +156917,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -173590,7 +157306,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -173607,7 +157323,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -173619,11 +157335,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -174162,7 +157878,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -174179,7 +157895,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -174191,11 +157907,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -174272,11 +157988,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -174465,11 +158181,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -174692,6 +158408,61 @@ } ] }, + "/v1/spectroclusters/{uid}/status": { + "get": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Get the cluster's status", + "operationId": "v1SpectroClustersUidStatus", + "parameters": [ + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "description": "Spectrocluster status entity", + "type": "object", + "properties": { + "status": { + "description": "Spectrocluster state entity", + "type": "object", + "properties": { + "state": { + "description": "Spectrocluster state", + "type": "string" + } + } + } + } + } + } + } + }, + "parameters": [ + { + "type": "string", + "description": "Cluster uid", + "name": "uid", + "in": "path", + "required": true + } + ] + }, "/v1/spectroclusters/{uid}/status/condition": { "put": { "security": [ @@ -175359,6 +159130,26 @@ "uid": { "description": "Cluster profile uid", "type": "string" + }, + "variables": { + "type": "array", + "items": { + "description": "Variable with value which will be used within the packs of cluster profile", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Variable name", + "type": "string" + }, + "value": { + "description": "Actual value of the variable to be used within the cluster", + "type": "string" + } + } + } } } } @@ -175577,6 +159368,26 @@ "uid": { "description": "Cluster profile uid", "type": "string" + }, + "variables": { + "type": "array", + "items": { + "description": "Variable with value which will be used within the packs of cluster profile", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Variable name", + "type": "string" + }, + "value": { + "description": "Actual value of the variable to be used within the cluster", + "type": "string" + } + } + } } } } @@ -175671,11 +159482,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -175864,11 +159675,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -176010,6 +159821,118 @@ } } }, + "/v1/spectroclusters/{uid}/variables": { + "get": { + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ], + "summary": "Retrieve a list of variables associated with the cluster", + "operationId": "v1SpectroClustersUidVariablesGet", + "parameters": [ + { + "type": "string", + "description": "Scope the request to the specified project uid", + "name": "ProjectUid", + "in": "header" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "type": "object", + "properties": { + "variables": { + "description": "List of unique variable fields with schema constraints", + "type": "array", + "uniqueItems": true, + "items": { + "description": "Unique variable field with schema definition", + "type": "object", + "required": [ + "name" + ], + "properties": { + "defaultValue": { + "description": "The default value of the variable", + "type": "string" + }, + "description": { + "description": "Variable description", + "type": "string" + }, + "displayName": { + "description": "Unique display name of the variable", + "type": "string" + }, + "format": { + "description": "Format type of the variable value", + "type": "string", + "default": "string", + "enum": [ + "string", + "number", + "boolean", + "ipv4", + "ipv4cidr", + "ipv6", + "version" + ] + }, + "hidden": { + "description": "If true, then variable will be hidden for overriding the value. By default the hidden flag will be set to false", + "type": "boolean", + "x-omitempty": false + }, + "immutable": { + "description": "If true, then variable value can't be editable. By default the immutable flag will be set to false", + "type": "boolean", + "x-omitempty": false + }, + "isSensitive": { + "description": "If true, then default value will be masked. By default the isSensitive flag will be set to false", + "type": "boolean", + "x-omitempty": false + }, + "name": { + "description": "Variable name", + "type": "string" + }, + "regex": { + "description": "Regular expression pattern which the variable value must match", + "type": "string" + }, + "required": { + "description": "Flag to specify if the variable is optional or mandatory. If it is mandatory then default value must be provided", + "type": "boolean", + "x-omitempty": false + } + } + } + } + } + } + } + } + }, + "parameters": [ + { + "type": "string", + "description": "Cluster uid for which variables need to be retrieved", + "name": "uid", + "in": "path", + "required": true + } + ] + }, "/v1/spectroclusters/{uid}/vms": { "get": { "security": [ @@ -208976,7 +192899,7 @@ "v1", "system", "private", - "show-docs" + "docs-show" ], "summary": "get the system config reverse proxy", "operationId": "V1SystemConfigReverseProxyGet", @@ -209029,7 +192952,7 @@ "v1", "system", "private", - "show-docs" + "docs-show" ], "summary": "updates the system config reverse proxy", "operationId": "V1SystemConfigReverseProxyUpdate", @@ -209093,7 +193016,7 @@ "tags": [ "v1", "system", - "show-docs" + "docs-show" ], "summary": "Delete a list of block listed passwords", "operationId": "V1PasswordsBlockListDelete", @@ -209140,7 +193063,7 @@ "tags": [ "v1", "system", - "show-docs" + "docs-show" ], "summary": "List of block listed passwords", "operationId": "V1PasswordsBlockListUpdate", @@ -209262,7 +193185,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -209279,7 +193202,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -209291,11 +193214,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -209391,7 +193314,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -209408,7 +193331,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -209420,11 +193343,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -209595,7 +193518,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -209612,7 +193535,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -209624,11 +193547,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -209723,7 +193646,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -209740,7 +193663,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -209752,11 +193675,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -209823,7 +193746,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -209840,7 +193763,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -209852,11 +193775,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -210534,7 +194457,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -210551,7 +194474,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -210563,11 +194486,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -210624,7 +194547,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -210641,7 +194564,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -210653,11 +194576,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -210742,7 +194665,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -210759,7 +194682,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -210771,11 +194694,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -210829,7 +194752,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -210846,7 +194769,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -210858,11 +194781,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -210956,7 +194879,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -210973,7 +194896,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -210985,11 +194908,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -211113,7 +195036,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -211130,7 +195053,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -211142,11 +195065,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -211275,7 +195198,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -211292,7 +195215,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -211304,11 +195227,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -212059,7 +195982,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -212076,7 +195999,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -212088,11 +196011,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -214937,7 +198860,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -214954,7 +198877,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -214966,11 +198889,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -215084,7 +199007,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -215101,7 +199024,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -215113,11 +199036,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -215239,7 +199162,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -215256,7 +199179,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -215268,11 +199191,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -215336,21 +199259,21 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } @@ -215482,21 +199405,21 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } @@ -215605,21 +199528,21 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } @@ -215744,21 +199667,21 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } @@ -215792,6 +199715,10 @@ "type": "string" } } + }, + "projectId": { + "description": "GCP project id", + "type": "string" } } }, @@ -215860,21 +199787,21 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } @@ -215908,6 +199835,10 @@ "type": "string" } } + }, + "projectId": { + "description": "GCP project id", + "type": "string" } } }, @@ -215953,21 +199884,21 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } @@ -216001,6 +199932,10 @@ "type": "string" } } + }, + "projectId": { + "description": "GCP project id", + "type": "string" } } }, @@ -216062,21 +199997,21 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } @@ -216242,21 +200177,21 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } @@ -216399,21 +200334,21 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } @@ -216572,21 +200507,21 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } @@ -216752,21 +200687,21 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } @@ -216909,21 +200844,21 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } @@ -217194,7 +201129,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -217211,7 +201146,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -217223,11 +201158,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -217276,21 +201211,21 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } @@ -217359,7 +201294,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -217376,7 +201311,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -217388,11 +201323,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -217438,7 +201373,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -217455,7 +201390,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -217467,11 +201402,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -217575,7 +201510,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -217592,7 +201527,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -217604,11 +201539,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -217703,7 +201638,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -217720,7 +201655,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -217732,11 +201667,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -217809,7 +201744,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -217826,7 +201761,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -217838,11 +201773,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -217935,7 +201870,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -217952,7 +201887,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -217964,11 +201899,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -218038,7 +201973,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -218055,7 +201990,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -218067,11 +202002,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -218306,152 +202241,6 @@ } } }, - "/v1/users/me": { - "get": { - "security": [ - { - "ApiKey": [] - }, - { - "Authorization": [] - } - ], - "description": "Returns a User with permissions with scopes", - "tags": [ - "v1", - "docs-hide" - ], - "summary": "Returns the specified User ACL information", - "operationId": "v1UsersMeGet", - "responses": { - "200": { - "description": "OK", - "schema": { - "description": "User information wrt permissions", - "type": "object", - "properties": { - "metadata": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", - "type": "object", - "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "name": { - "description": "Name of the resource.", - "type": "string" - }, - "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", - "type": "string" - } - } - }, - "spec": { - "description": "User specifications", - "properties": { - "emailId": { - "description": "User's email id", - "type": "string" - }, - "firstName": { - "type": "string" - }, - "lastName": { - "type": "string" - }, - "roles": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - } - } - }, - "status": { - "description": "User status with permissions", - "properties": { - "activationLink": { - "description": "Contains activation link for the user", - "type": "string" - }, - "isActive": { - "description": "Specifies if user account is active/disabled", - "type": "boolean" - }, - "isContractAccepted": { - "description": "Specifies if user account has accepted the contract", - "type": "boolean", - "x-omitempty": false - }, - "loginMode": { - "description": "User's login Mode", - "type": "string" - }, - "projectPermissions": { - "type": "object", - "additionalProperties": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "tenant": { - "type": "object", - "properties": { - "orgName": { - "type": "string" - }, - "tenantUid": { - "type": "string" - } - } - }, - "tenantPermissions": { - "type": "object", - "additionalProperties": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - } - } - } - } - } - } - }, "/v1/users/meta": { "get": { "security": [ @@ -218729,7 +202518,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -218746,7 +202535,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -218758,11 +202547,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -219107,7 +202896,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -219124,7 +202913,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -219136,11 +202925,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -219225,7 +203014,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -219242,7 +203031,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -219254,11 +203043,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -220017,7 +203806,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -220034,7 +203823,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -220046,11 +203835,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -220145,7 +203934,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -220162,7 +203951,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -220174,11 +203963,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -220826,7 +204615,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -220843,7 +204632,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -220855,11 +204644,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -220954,7 +204743,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -220971,7 +204760,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -220983,11 +204772,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -221318,7 +205107,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -221335,7 +205124,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -221347,11 +205136,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -222135,7 +205924,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -222152,7 +205941,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -222164,11 +205953,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -222357,7 +206146,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -222374,7 +206163,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -222386,11 +206175,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -222592,7 +206381,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -222609,7 +206398,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -222621,11 +206410,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -222692,7 +206481,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -222709,7 +206498,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -222721,11 +206510,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -222977,9 +206766,6 @@ "description": "AWS properties validate spec", "type": "object", "properties": { - "cloudAccountUid": { - "type": "string" - }, "region": { "type": "string" }, @@ -223751,7 +207537,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -223768,7 +207554,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -223780,11 +207566,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -223865,7 +207651,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -223882,7 +207668,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -223894,11 +207680,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -223997,7 +207783,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -224014,7 +207800,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -224026,11 +207812,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -224084,7 +207870,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -224101,7 +207887,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -224113,11 +207899,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -224208,7 +207994,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -224225,7 +208011,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -224237,11 +208023,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -224373,11 +208159,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -224620,21 +208406,21 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } @@ -225125,11 +208911,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -225221,7 +209007,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -225238,7 +209024,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -225250,11 +209036,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -225284,11 +209070,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -225362,11 +209148,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -225675,11 +209461,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -225910,7 +209696,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -225927,7 +209713,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -225939,11 +209725,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -226227,21 +210013,21 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } @@ -226472,7 +210258,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -226489,7 +210275,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -226501,11 +210287,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -226773,7 +210559,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -226790,7 +210576,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -226802,11 +210588,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -226867,11 +210653,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -227013,21 +210799,21 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } @@ -227339,7 +211125,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -227356,7 +211142,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -227368,11 +211154,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -227505,11 +211291,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -227625,7 +211411,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -227642,7 +211428,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -227654,11 +211440,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -227688,11 +211474,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -227766,11 +211552,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -227836,7 +211622,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -227853,7 +211639,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -227865,11 +211651,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -227889,7 +211675,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -227906,7 +211692,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -227918,11 +211704,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -227952,11 +211738,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -228037,7 +211823,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -228054,7 +211840,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -228066,11 +211852,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -228100,11 +211886,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -228344,7 +212130,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -228361,7 +212147,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -228373,11 +212159,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -228497,7 +212283,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -228514,7 +212300,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -228526,11 +212312,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -228560,11 +212346,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -228721,7 +212507,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -228738,7 +212524,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -228750,11 +212536,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -228996,11 +212782,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -229325,7 +213111,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -229342,7 +213128,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -229354,11 +213140,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -229680,7 +213466,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -229697,7 +213483,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -229709,11 +213495,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -230146,11 +213932,9 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the account.", "type": "string" }, "metadata": { @@ -230158,7 +213942,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -230175,7 +213959,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -230187,11 +213971,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -230276,11 +214060,9 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the account.", "type": "string" }, "metadata": { @@ -230288,7 +214070,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -230305,7 +214087,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -230317,11 +214099,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -230586,11 +214368,11 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", "type": "string" }, "kind": { - "description": "Cloud type of the cloud config", + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", "type": "string" }, "metadata": { @@ -230598,7 +214380,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -230615,7 +214397,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -230627,11 +214409,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -230649,11 +214431,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -230802,7 +214584,7 @@ "x-omitempty": false }, "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", + "description": "labels for this pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -230868,7 +214650,7 @@ } }, "taints": { - "description": "master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -230914,7 +214696,7 @@ } }, "useControlPlaneAsWorker": { - "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -231024,11 +214806,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -231177,7 +214959,7 @@ "x-omitempty": false }, "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", + "description": "labels for this pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -231243,7 +215025,7 @@ } }, "taints": { - "description": "master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -231289,7 +215071,7 @@ } }, "useControlPlaneAsWorker": { - "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -232181,11 +215963,9 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -232193,7 +215973,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -232210,7 +215990,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -232222,11 +216002,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -232619,7 +216399,7 @@ "x-omitempty": false }, "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", + "description": "labels for this pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -232685,7 +216465,7 @@ } }, "taints": { - "description": "master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -232731,7 +216511,7 @@ } }, "useControlPlaneAsWorker": { - "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -232870,7 +216650,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -232914,7 +216694,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -232960,7 +216740,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -233087,11 +216867,9 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -233099,7 +216877,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -233116,7 +216894,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -233128,11 +216906,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -234107,11 +217885,11 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", + "description": "Cloud account api version", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the account.", + "description": "Cloud account kind", "type": "string" }, "metadata": { @@ -234119,7 +217897,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -234136,7 +217914,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -234148,11 +217926,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -234231,11 +218009,11 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", + "description": "Cloud account api version", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the account.", + "description": "Cloud account kind", "type": "string" }, "metadata": { @@ -234243,7 +218021,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -234260,7 +218038,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -234272,11 +218050,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -234598,11 +218376,11 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", "type": "string" }, "kind": { - "description": "Cloud type of the cloud config", + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", "type": "string" }, "metadata": { @@ -234610,7 +218388,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -234627,7 +218405,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -234639,11 +218417,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -234661,11 +218439,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -234900,7 +218678,7 @@ "x-omitempty": false }, "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", + "description": "labels for this pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -234987,7 +218765,7 @@ } }, "taints": { - "description": "master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -235033,7 +218811,7 @@ } }, "useControlPlaneAsWorker": { - "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -235168,11 +218946,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -235407,7 +219185,7 @@ "x-omitempty": false }, "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", + "description": "labels for this pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -235494,7 +219272,7 @@ } }, "taints": { - "description": "master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -235540,7 +219318,7 @@ } }, "useControlPlaneAsWorker": { - "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -235985,11 +219763,9 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -235997,7 +219773,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -236014,7 +219790,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -236026,11 +219802,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -236340,7 +220116,7 @@ "x-omitempty": false }, "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", + "description": "labels for this pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -236427,7 +220203,7 @@ } }, "taints": { - "description": "master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -236473,7 +220249,7 @@ } }, "useControlPlaneAsWorker": { - "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -236576,7 +220352,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -236620,7 +220396,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -236666,7 +220442,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -236855,11 +220631,9 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -236867,7 +220641,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -236884,7 +220658,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -236896,11 +220670,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -237845,7 +221619,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -237862,7 +221636,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -237874,11 +221648,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -238143,6 +221917,10 @@ "description": "Response for broker login request", "type": "object", "properties": { + "maxAllowedClients": { + "description": "maximum number of clients that can subscribe to the subject", + "type": "integer" + }, "msgCtxData": { "description": "message context data can be used as contextual information for the message exchange", "additionalProperties": { @@ -238243,11 +222021,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -238261,7 +222039,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -238278,7 +222056,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -238290,11 +222068,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -238376,11 +222154,6 @@ "description": "Country name the card belongs", "type": "string" }, - "expMonth": { - "description": "Expiry month of the card", - "type": "number", - "format": "uint64" - }, "expYear": { "description": "Expiry year of the card", "type": "number", @@ -238607,7 +222380,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -238624,7 +222397,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -238636,11 +222409,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -238680,7 +222453,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -238697,7 +222470,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -238709,11 +222482,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -238769,7 +222542,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -238786,7 +222559,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -238798,11 +222571,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -238868,7 +222641,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -238885,7 +222658,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -238897,11 +222670,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -239053,11 +222826,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -239213,7 +222986,7 @@ "x-omitempty": false }, "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", + "description": "labels for this pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -239707,7 +223480,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -239724,7 +223497,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -239736,11 +223509,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -240395,7 +224168,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -240412,7 +224185,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -240424,11 +224197,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -240533,7 +224306,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -240550,7 +224323,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -240562,11 +224335,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -240696,7 +224469,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -240713,7 +224486,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -240725,11 +224498,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -240854,7 +224627,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -240871,7 +224644,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -240883,11 +224656,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -241008,7 +224781,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -241025,7 +224798,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -241037,11 +224810,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -241609,11 +225382,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -241627,11 +225400,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -241701,413 +225474,12 @@ } }, "updateWorkerPoolsInParallel": { - "description": "UpdateWorkerPoolsInParallel is used to decide if the update of workerpools happen in parallel. When this flag is false, the workerpools are updated sequentially.", - "type": "boolean" - } - } - }, - "v1ClusterConfigEntity": { - "type": "object", - "properties": { - "clusterMetaAttribute": { - "description": "ClusterMetaAttribute can be used to set additional cluster metadata information.", - "type": "string" - }, - "controlPlaneHealthCheckTimeout": { - "type": "string" - }, - "hostClusterConfig": { - "properties": { - "clusterEndpoint": { - "properties": { - "config": { - "properties": { - "ingressConfig": { - "description": "Ingress configuration for exposing the virtual cluster's kube-apiserver", - "properties": { - "host": { - "type": "string" - }, - "port": { - "type": "integer", - "format": "int64" - } - } - }, - "loadBalancerConfig": { - "description": "Load balancer configuration for exposing the virtual cluster's kube-apiserver", - "properties": { - "externalIPs": { - "type": "array", - "items": { - "type": "string" - } - }, - "externalTrafficPolicy": { - "type": "string" - }, - "loadBalancerSourceRanges": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - } - }, - "type": { - "description": "is enabled as host cluster", - "type": "string", - "enum": [ - "Ingress", - "LoadBalancer" - ] - } - } - }, - "clusterGroup": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", - "type": "string" - } - } - }, - "hostCluster": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", - "type": "string" - } - } - }, - "isHostCluster": { - "description": "is enabled as host cluster", - "type": "boolean", - "default": false, - "x-omitempty": false - } - } - }, - "lifecycleConfig": { - "properties": { - "pause": { - "description": "enable pause life cycle config", - "type": "boolean", - "default": false, - "x-omitempty": false - } - } - }, - "location": { - "description": "Cluster location information", - "type": "object", - "properties": { - "countryCode": { - "description": "country code for cluster location", - "type": "string" - }, - "countryName": { - "description": "country name for cluster location", - "type": "string" - }, - "geoLoc": { - "description": "Geolocation Latlong entity", - "type": "object", - "properties": { - "latitude": { - "description": "Latitude of a resource", - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "longitude": { - "description": "Longitude of a resource", - "type": "number", - "format": "float64", - "x-omitempty": false - } - } - }, - "regionCode": { - "description": "region code for cluster location", - "type": "string" - }, - "regionName": { - "description": "region name for cluster location", - "type": "string" - } - } - }, - "machineManagementConfig": { - "type": "object", - "properties": { - "osPatchConfig": { - "type": "object", - "properties": { - "onDemandPatchAfter": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "patchOnBoot": { - "description": "PatchOnBoot indicates need to do patch when node first boot up, only once", - "type": "boolean", - "x-omitempty": false - }, - "rebootIfRequired": { - "description": "Reboot once the OS patch is applied", - "type": "boolean", - "x-omitempty": false - }, - "schedule": { - "description": "The schedule at which security patches will be applied to OS. Schedule should be in Cron format, see https://en.wikipedia.org/wiki/Cron for more help.", - "type": "string" - } - } - } - } - }, - "resources": { - "type": "object", - "properties": { - "namespaces": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Cluster Namespace resource defintion", - "type": "object", - "properties": { - "metadata": { - "description": "ObjectMeta update entity with uid as input", - "type": "object", - "properties": { - "annotations": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - }, - "spec": { - "description": "Cluster namespace spec", - "properties": { - "isRegex": { - "type": "boolean", - "x-omitempty": false - }, - "relatedObject": { - "description": "Object for which the resource is related", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "spectrocluster", - "machine", - "cloudconfig", - "clusterprofile", - "pack", - "appprofile", - "appdeployment", - "edgehost" - ] - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - }, - "resourceAllocation": { - "description": "Cluster namespace resource allocation", - "properties": { - "cpuCores": { - "type": "number", - "minimum": 0, - "exclusiveMinimum": true - }, - "memoryMiB": { - "type": "number", - "minimum": 0, - "exclusiveMinimum": true - } - } - } - } - } - } - } - }, - "rbacs": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Cluster RBAC role binding defintion", - "type": "object", - "properties": { - "metadata": { - "description": "ObjectMeta update entity with uid as input", - "type": "object", - "properties": { - "annotations": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - }, - "spec": { - "description": "Cluster RBAC spec", - "type": "object", - "properties": { - "bindings": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Cluster RBAC binding", - "type": "object", - "properties": { - "namespace": { - "type": "string" - }, - "role": { - "description": "Cluster role ref", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "Role", - "ClusterRole" - ] - }, - "name": { - "type": "string" - } - } - }, - "subjects": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Cluster role ref", - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "namespace": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "User", - "Group", - "ServiceAccount" - ] - } - } - } - }, - "type": { - "type": "string", - "enum": [ - "RoleBinding", - "ClusterRoleBinding" - ] - } - } - } - }, - "relatedObject": { - "description": "Object for which the resource is related", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "spectrocluster", - "machine", - "cloudconfig", - "clusterprofile", - "pack", - "appprofile", - "appdeployment", - "edgehost" - ] - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - } - } - } - } - } - } - } - }, - "updateWorkerPoolsInParallel": { + "description": "UpdateWorkerPoolsInParallel is used to decide if the update of workerpools happen in parallel. When this flag is false, the workerpools are updated sequentially.", "type": "boolean" } } }, - "v1ClusterConfigParamEntity": { + "v1ClusterConfigEntity": { "type": "object", "properties": { "clusterMetaAttribute": { @@ -242176,11 +225548,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -242194,11 +225566,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -242211,6 +225583,16 @@ } } }, + "lifecycleConfig": { + "properties": { + "pause": { + "description": "enable pause life cycle config", + "type": "boolean", + "default": false, + "x-omitempty": false + } + } + }, "location": { "description": "Cluster location information", "type": "object", @@ -242251,6 +225633,35 @@ } } }, + "machineManagementConfig": { + "type": "object", + "properties": { + "osPatchConfig": { + "type": "object", + "properties": { + "onDemandPatchAfter": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "patchOnBoot": { + "description": "PatchOnBoot indicates need to do patch when node first boot up, only once", + "type": "boolean", + "x-omitempty": false + }, + "rebootIfRequired": { + "description": "Reboot once the OS patch is applied", + "type": "boolean", + "x-omitempty": false + }, + "schedule": { + "description": "The schedule at which security patches will be applied to OS. Schedule should be in Cron format, see https://en.wikipedia.org/wiki/Cron for more help.", + "type": "string" + } + } + } + } + }, "resources": { "type": "object", "properties": { @@ -242483,11 +225894,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -242505,21 +225916,21 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } @@ -242841,7 +226252,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -242858,7 +226269,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -242870,11 +226281,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -242907,11 +226318,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -242976,11 +226387,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -243125,11 +226536,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -243413,7 +226824,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -243430,7 +226841,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -243442,11 +226853,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -243648,6 +227059,26 @@ "uid": { "description": "Cluster profile uid", "type": "string" + }, + "variables": { + "type": "array", + "items": { + "description": "Variable with value which will be used within the packs of cluster profile", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Variable name", + "type": "string" + }, + "value": { + "description": "Actual value of the variable to be used within the cluster", + "type": "string" + } + } + } } } } @@ -243909,11 +227340,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -243978,11 +227409,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -244127,11 +227558,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -244476,6 +227907,26 @@ "uid": { "description": "Cluster profile uid", "type": "string" + }, + "variables": { + "type": "array", + "items": { + "description": "Variable with value which will be used within the packs of cluster profile", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Variable name", + "type": "string" + }, + "value": { + "description": "Actual value of the variable to be used within the cluster", + "type": "string" + } + } + } } } } @@ -244505,7 +227956,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -244522,7 +227973,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -244534,11 +227985,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -244614,11 +228065,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -244917,11 +228368,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -245254,7 +228705,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -245271,7 +228722,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -245283,11 +228734,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -245363,11 +228814,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -245953,7 +229404,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -245970,7 +229421,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -245982,11 +229433,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -246294,7 +229745,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -246311,7 +229762,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -246323,11 +229774,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -246518,7 +229969,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -246535,7 +229986,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -246547,11 +229998,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -246813,6 +230264,15 @@ } } }, + "v1ClusterNotificationStatus": { + "description": "Cluster notifications status", + "properties": { + "isAvailable": { + "type": "boolean", + "x-omitempty": false + } + } + }, "v1ClusterNotificationUpdateEntity": { "description": "Cluster input for notification update", "type": "object", @@ -247132,11 +230592,11 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", "type": "string" }, "kind": { - "description": "Cloud type of the cloud config", + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", "type": "string" }, "metadata": { @@ -247144,7 +230604,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -247161,7 +230621,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -247173,11 +230633,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -247208,11 +230668,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -247277,11 +230737,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -247426,11 +230886,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -247470,11 +230930,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -247539,11 +230999,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -247688,11 +231148,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -247893,7 +231353,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -247910,7 +231370,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -247922,11 +231382,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -248683,7 +232143,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -248700,7 +232160,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -248712,11 +232172,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -248951,7 +232411,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -248968,7 +232428,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -248980,11 +232440,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -249058,11 +232518,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -249413,7 +232873,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -249430,7 +232890,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -249442,11 +232902,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -249520,11 +232980,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -249872,7 +233332,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -249889,7 +233349,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -249901,11 +233361,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -249926,7 +233386,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -249943,7 +233403,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -249955,11 +233415,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -250226,11 +233686,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -250295,11 +233755,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -250444,11 +233904,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -250488,11 +233948,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -250557,11 +234017,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -250706,11 +234166,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -251089,7 +234549,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -251106,7 +234566,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -251118,11 +234578,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -251366,11 +234826,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -251435,11 +234895,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -251584,11 +235044,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -251886,11 +235346,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -252198,7 +235658,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -252215,7 +235675,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -252227,11 +235687,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -252404,11 +235864,11 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", "type": "string" }, "kind": { - "description": "Cloud type of the cloud config", + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", "type": "string" }, "metadata": { @@ -252416,7 +235876,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -252433,7 +235893,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -252445,11 +235905,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -252480,11 +235940,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -252549,11 +236009,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -252698,11 +236158,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -252742,11 +236202,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -252811,11 +236271,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -252960,11 +236420,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -253292,7 +236752,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -253309,7 +236769,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -253321,11 +236781,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -253611,7 +237071,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -253628,7 +237088,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -253640,11 +237100,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -254249,7 +237709,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -254266,7 +237726,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -254278,11 +237738,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -254420,11 +237880,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -254769,7 +238229,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -254786,7 +238246,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -254798,11 +238258,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -255083,7 +238543,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -255100,7 +238560,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -255112,11 +238572,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -255243,7 +238703,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -255260,7 +238720,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -255272,11 +238732,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -255398,7 +238858,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -255415,7 +238875,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -255427,11 +238887,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -255549,7 +239009,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -255566,7 +239026,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -255578,11 +239038,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -268465,21 +251925,21 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } @@ -272687,11 +256147,11 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", + "description": "Cloud account api version", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the account.", + "description": "Cloud account kind", "type": "string" }, "metadata": { @@ -272699,7 +256159,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -272716,7 +256176,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -272728,11 +256188,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -272793,11 +256253,11 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", + "description": "Cloud account api version", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the account.", + "description": "Cloud account kind", "type": "string" }, "metadata": { @@ -272805,7 +256265,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -272822,7 +256282,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -272834,11 +256294,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -273019,11 +256479,11 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", "type": "string" }, "kind": { - "description": "Cloud type of the cloud config", + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", "type": "string" }, "metadata": { @@ -273031,7 +256491,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -273048,7 +256508,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -273060,11 +256520,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -273082,11 +256542,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -273230,7 +256690,7 @@ "type": "boolean" }, "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", + "description": "labels for this pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -273335,7 +256795,7 @@ "type": "string" }, "taints": { - "description": "master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -273381,7 +256841,7 @@ } }, "useControlPlaneAsWorker": { - "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean" } } @@ -273451,11 +256911,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -273599,7 +257059,7 @@ "type": "boolean" }, "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", + "description": "labels for this pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -273704,7 +257164,7 @@ "type": "string" }, "taints": { - "description": "master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -273750,7 +257210,7 @@ } }, "useControlPlaneAsWorker": { - "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean" } } @@ -274102,11 +257562,9 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -274114,7 +257572,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -274131,7 +257589,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -274143,11 +257601,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -274507,7 +257965,7 @@ "type": "boolean" }, "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", + "description": "labels for this pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -274612,7 +258070,7 @@ "type": "string" }, "taints": { - "description": "master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -274658,7 +258116,7 @@ } }, "useControlPlaneAsWorker": { - "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean" } } @@ -274799,7 +258257,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -274843,7 +258301,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -274889,7 +258347,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -275007,11 +258465,9 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -275019,7 +258475,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -275036,7 +258492,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -275048,11 +258504,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -275523,11 +258979,11 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", + "description": "Cloud account api version", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the account.", + "description": "Cloud account kind", "type": "string" }, "metadata": { @@ -275535,7 +258991,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -275552,7 +259008,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -275564,11 +259020,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -275609,21 +259065,21 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } @@ -275659,11 +259115,11 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", + "description": "Cloud account api version", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the account.", + "description": "Cloud account kind", "type": "string" }, "metadata": { @@ -275671,7 +259127,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -275688,7 +259144,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -275700,11 +259156,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -275804,7 +259260,7 @@ "type": "object", "properties": { "kind": { - "description": "Cloud type of the cloud config", + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", "type": "string" }, "metadata": { @@ -275812,7 +259268,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -275829,7 +259285,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -275841,11 +259297,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -275863,11 +259319,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -275914,7 +259370,7 @@ "format": "int32" }, "taints": { - "description": "master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -275946,7 +259402,7 @@ } }, "useControlPlaneAsWorker": { - "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false }, @@ -275974,11 +259430,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -276025,7 +259481,7 @@ "format": "int32" }, "taints": { - "description": "master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -276057,7 +259513,7 @@ } }, "useControlPlaneAsWorker": { - "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false }, @@ -276079,7 +259535,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -276096,7 +259552,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -276108,11 +259564,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -276213,21 +259669,21 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } @@ -276743,11 +260199,9 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -276755,7 +260209,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -276772,7 +260226,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -276784,11 +260238,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -276946,7 +260400,7 @@ "x-omitempty": false }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -276978,7 +260432,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -277020,7 +260474,7 @@ "format": "int32" }, "taints": { - "description": "master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -277052,7 +260506,7 @@ } }, "useControlPlaneAsWorker": { - "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false }, @@ -277094,7 +260548,7 @@ "x-omitempty": false }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -277126,7 +260580,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -277214,11 +260668,9 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -277226,7 +260678,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -277243,7 +260695,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -277255,11 +260707,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -277505,7 +260957,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -277522,7 +260974,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -277534,11 +260986,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -278064,7 +261516,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -278081,7 +261533,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -278093,11 +261545,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -278253,7 +261705,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -278270,7 +261722,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -278282,11 +261734,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -279110,7 +262562,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -279127,7 +262579,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -279139,11 +262591,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -279378,567 +262830,6 @@ } } }, - "v1EdgeCloudClusterConfigEntity": { - "description": "Edge cloud cluster config entity", - "type": "object", - "properties": { - "clusterConfig": { - "description": "EdgeClusterConfig defines Edge Cluster specific Spec", - "type": "object", - "properties": { - "sshKeys": { - "description": "SSHKeys specifies a list of ssh authorized keys to access the vms as a 'spectro' user", - "type": "array", - "items": { - "type": "string" - } - } - } - } - } - }, - "v1EdgeCloudConfig": { - "description": "EdgeCloudConfig is the Schema for the Edgecloudconfigs API", - "type": "object", - "properties": { - "apiVersion": { - "description": "Deprecated. Not used for the resource info. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - "type": "string" - }, - "kind": { - "description": "Cloud type of the cloud config", - "type": "string" - }, - "metadata": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", - "type": "object", - "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "name": { - "description": "Name of the resource.", - "type": "string" - }, - "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", - "type": "string" - } - } - }, - "spec": { - "description": "EdgeCloudConfigSpec defines the desired state of EdgeCloudConfig", - "type": "object", - "required": [ - "clusterConfig", - "machinePoolConfig" - ], - "properties": { - "clusterConfig": { - "description": "EdgeClusterConfig defines Edge Cluster specific Spec", - "type": "object", - "properties": { - "sshKeys": { - "description": "SSHKeys specifies a list of ssh authorized keys to access the vms as a 'spectro' user", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "machinePoolConfig": { - "type": "array", - "items": { - "type": "object", - "required": [ - "hosts" - ], - "properties": { - "additionalLabels": { - "description": "additionalLabels", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "additionalTags": { - "description": "AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "hosts": { - "type": "array", - "items": { - "description": "EdgeHost of Edge clusters", - "type": "object", - "required": [ - "hostUid", - "hostAddress" - ], - "properties": { - "hostAddress": { - "description": "HostAddress is a FQDN or IP address of the Host", - "type": "string" - }, - "hostIdentity": { - "type": "object", - "properties": { - "caCert": { - "description": "CACert is the client CA certificate", - "type": "string" - }, - "socketPath": { - "description": "SocketPath is an optional path to the socket on the host, if not using defaults", - "type": "string" - } - } - }, - "hostName": { - "description": "HostName is the name of the EdgeHost", - "type": "string" - }, - "hostUid": { - "description": "HostUid is the ID of the EdgeHost", - "type": "string" - } - } - } - }, - "isControlPlane": { - "description": "whether this pool is for control plane", - "type": "boolean" - }, - "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", - "type": "array", - "items": { - "type": "string" - } - }, - "machinePoolProperties": { - "description": "Machine pool specific properties", - "type": "object", - "properties": { - "archType": { - "type": "string", - "default": "amd64", - "enum": [ - "amd64", - "arm64" - ] - } - } - }, - "maxSize": { - "description": "max size of the pool, for scaling", - "type": "integer", - "format": "int32" - }, - "minSize": { - "description": "min size of the pool, for scaling", - "type": "integer", - "format": "int32" - }, - "name": { - "type": "string" - }, - "nodeRepaveInterval": { - "description": "Minimum number of seconds a node should be Ready, before the next node is selected for repave. Applicable only for workerpools in infrastructure cluster", - "type": "integer", - "format": "int32" - }, - "size": { - "description": "size of the pool, number of machines", - "type": "integer", - "format": "int32" - }, - "taints": { - "description": "master or worker taints", - "type": "array", - "uniqueItems": true, - "items": { - "description": "Taint", - "type": "object", - "properties": { - "effect": { - "type": "string", - "enum": [ - "NoSchedule", - "PreferNoSchedule", - "NoExecute" - ] - }, - "key": { - "description": "The taint key to be applied to a node", - "type": "string" - }, - "timeAdded": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "value": { - "description": "The taint value corresponding to the taint key.", - "type": "string" - } - } - } - }, - "updateStrategy": { - "description": "UpdatesStrategy will be used to translate to RollingUpdateStrategy of a MachineDeployment We'll start with default values for the translation, can expose more details later Following is details of parameters translated from the type ScaleOut =\u003e maxSurge=1, maxUnavailable=0 ScaleIn =\u003e maxSurge=0, maxUnavailable=1", - "type": "object", - "properties": { - "type": { - "description": "update strategy, either ScaleOut or ScaleIn if empty, will default to RollingUpdateScaleOut", - "type": "string", - "enum": [ - "RollingUpdateScaleOut", - "RollingUpdateScaleIn" - ] - } - } - }, - "useControlPlaneAsWorker": { - "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", - "type": "boolean" - } - } - } - } - } - }, - "status": { - "type": "object", - "properties": { - "conditions": { - "type": "array", - "items": { - "type": "object", - "required": [ - "type", - "status" - ], - "properties": { - "lastProbeTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "lastTransitionTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "message": { - "description": "Human-readable message indicating details about last transition.", - "type": "string" - }, - "reason": { - "description": "Unique, one-word, CamelCase reason for the condition's last transition.", - "type": "string" - }, - "status": { - "type": "string" - }, - "type": { - "type": "string" - } - } - } - }, - "nodeImage": { - "type": "string" - }, - "sourceImageId": { - "description": "SourceImageId can be from packref's annotations or from pack.json", - "type": "string" - }, - "useCapiImage": { - "description": "PackerVariableDigest string `json:\"packerDigest,omitempty\"` If no ansible roles found in Packs then Mold should tell Drive to use capi image and not create custom image, because there is nothing to add", - "type": "boolean" - } - } - } - } - }, - "v1EdgeCloudConfigSpec": { - "description": "EdgeCloudConfigSpec defines the desired state of EdgeCloudConfig", - "type": "object", - "required": [ - "clusterConfig", - "machinePoolConfig" - ], - "properties": { - "clusterConfig": { - "description": "EdgeClusterConfig defines Edge Cluster specific Spec", - "type": "object", - "properties": { - "sshKeys": { - "description": "SSHKeys specifies a list of ssh authorized keys to access the vms as a 'spectro' user", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "machinePoolConfig": { - "type": "array", - "items": { - "type": "object", - "required": [ - "hosts" - ], - "properties": { - "additionalLabels": { - "description": "additionalLabels", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "additionalTags": { - "description": "AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "hosts": { - "type": "array", - "items": { - "description": "EdgeHost of Edge clusters", - "type": "object", - "required": [ - "hostUid", - "hostAddress" - ], - "properties": { - "hostAddress": { - "description": "HostAddress is a FQDN or IP address of the Host", - "type": "string" - }, - "hostIdentity": { - "type": "object", - "properties": { - "caCert": { - "description": "CACert is the client CA certificate", - "type": "string" - }, - "socketPath": { - "description": "SocketPath is an optional path to the socket on the host, if not using defaults", - "type": "string" - } - } - }, - "hostName": { - "description": "HostName is the name of the EdgeHost", - "type": "string" - }, - "hostUid": { - "description": "HostUid is the ID of the EdgeHost", - "type": "string" - } - } - } - }, - "isControlPlane": { - "description": "whether this pool is for control plane", - "type": "boolean" - }, - "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", - "type": "array", - "items": { - "type": "string" - } - }, - "machinePoolProperties": { - "description": "Machine pool specific properties", - "type": "object", - "properties": { - "archType": { - "type": "string", - "default": "amd64", - "enum": [ - "amd64", - "arm64" - ] - } - } - }, - "maxSize": { - "description": "max size of the pool, for scaling", - "type": "integer", - "format": "int32" - }, - "minSize": { - "description": "min size of the pool, for scaling", - "type": "integer", - "format": "int32" - }, - "name": { - "type": "string" - }, - "nodeRepaveInterval": { - "description": "Minimum number of seconds a node should be Ready, before the next node is selected for repave. Applicable only for workerpools in infrastructure cluster", - "type": "integer", - "format": "int32" - }, - "size": { - "description": "size of the pool, number of machines", - "type": "integer", - "format": "int32" - }, - "taints": { - "description": "master or worker taints", - "type": "array", - "uniqueItems": true, - "items": { - "description": "Taint", - "type": "object", - "properties": { - "effect": { - "type": "string", - "enum": [ - "NoSchedule", - "PreferNoSchedule", - "NoExecute" - ] - }, - "key": { - "description": "The taint key to be applied to a node", - "type": "string" - }, - "timeAdded": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "value": { - "description": "The taint value corresponding to the taint key.", - "type": "string" - } - } - } - }, - "updateStrategy": { - "description": "UpdatesStrategy will be used to translate to RollingUpdateStrategy of a MachineDeployment We'll start with default values for the translation, can expose more details later Following is details of parameters translated from the type ScaleOut =\u003e maxSurge=1, maxUnavailable=0 ScaleIn =\u003e maxSurge=0, maxUnavailable=1", - "type": "object", - "properties": { - "type": { - "description": "update strategy, either ScaleOut or ScaleIn if empty, will default to RollingUpdateScaleOut", - "type": "string", - "enum": [ - "RollingUpdateScaleOut", - "RollingUpdateScaleIn" - ] - } - } - }, - "useControlPlaneAsWorker": { - "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", - "type": "boolean" - } - } - } - } - } - }, - "v1EdgeCloudConfigStatus": { - "type": "object", - "properties": { - "conditions": { - "type": "array", - "items": { - "type": "object", - "required": [ - "type", - "status" - ], - "properties": { - "lastProbeTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "lastTransitionTime": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "message": { - "description": "Human-readable message indicating details about last transition.", - "type": "string" - }, - "reason": { - "description": "Unique, one-word, CamelCase reason for the condition's last transition.", - "type": "string" - }, - "status": { - "type": "string" - }, - "type": { - "type": "string" - } - } - } - }, - "nodeImage": { - "type": "string" - }, - "sourceImageId": { - "description": "SourceImageId can be from packref's annotations or from pack.json", - "type": "string" - }, - "useCapiImage": { - "description": "PackerVariableDigest string `json:\"packerDigest,omitempty\"` If no ansible roles found in Packs then Mold should tell Drive to use capi image and not create custom image, because there is nothing to add", - "type": "boolean" - } - } - }, - "v1EdgeClusterConfig": { - "description": "EdgeClusterConfig defines Edge Cluster specific Spec", - "type": "object", - "properties": { - "sshKeys": { - "description": "SSHKeys specifies a list of ssh authorized keys to access the vms as a 'spectro' user", - "type": "array", - "items": { - "type": "string" - } - } - } - }, "v1EdgeHost": { "description": "EdgeHost is the underlying appliance", "type": "object", @@ -280119,7 +263010,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -280136,7 +263027,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -280148,11 +263039,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -280247,11 +263138,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -280316,11 +263207,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -280465,11 +263356,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -280773,7 +263664,7 @@ } }, "type": { - "description": "Cloudtype of the provisioned edge host", + "description": "Deprecated. Cloudtype of the provisioned edge host", "type": "string", "enum": [ "libvirt", @@ -281167,11 +264058,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -281236,11 +264127,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -281385,11 +264276,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -281693,7 +264584,7 @@ } }, "type": { - "description": "Cloudtype of the provisioned edge host", + "description": "Deprecated. Cloudtype of the provisioned edge host", "type": "string", "enum": [ "libvirt", @@ -281964,7 +264855,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -281981,7 +264872,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -281993,11 +264884,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -282092,11 +264983,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -282161,11 +265052,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -282310,11 +265201,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -282618,7 +265509,7 @@ } }, "type": { - "description": "Cloudtype of the provisioned edge host", + "description": "Deprecated. Cloudtype of the provisioned edge host", "type": "string", "enum": [ "libvirt", @@ -283157,7 +266048,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -283174,7 +266065,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -283186,11 +266077,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -283953,7 +266844,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -283970,7 +266861,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -283982,11 +266873,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -284309,7 +267200,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -284326,7 +267217,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -284338,11 +267229,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -284674,862 +267565,14 @@ } } }, - "v1EdgeInstanceType": { - "description": "EdgeInstanceType defines the instance configuration for a docker container node", + "v1EdgeHostsTags": { "type": "object", - "required": [ - "numCPUs", - "memoryInMB" - ], - "properties": { - "memoryInMB": { - "description": "MemoryinMB is the memory in megabytes", - "type": "integer", - "format": "int32" - }, - "numCPUs": { - "description": "NumCPUs is the number of CPUs", - "type": "integer", - "format": "int32" - } - } - }, - "v1EdgeMachine": { - "description": "Edge cloud VM definition", - "type": "object", - "properties": { - "apiVersion": { - "description": "Deprecated. Not used for the resource info.", - "type": "string" - }, - "kind": { - "description": "Deprecated. Cloud type of the machine.", - "type": "string" - }, - "metadata": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", - "type": "object", - "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "name": { - "description": "Name of the resource.", - "type": "string" - }, - "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", - "type": "string" - } - } - }, - "spec": { - "description": "Edge cloud VM definition spec", - "type": "object", - "properties": { - "bootstrapped": { - "type": "boolean" - }, - "customImage": { - "type": "string" - }, - "edgeHostUid": { - "type": "string" - }, - "instanceType": { - "description": "EdgeInstanceType defines the instance configuration for a docker container node", - "type": "object", - "required": [ - "numCPUs", - "memoryInMB" - ], - "properties": { - "memoryInMB": { - "description": "MemoryinMB is the memory in megabytes", - "type": "integer", - "format": "int32" - }, - "numCPUs": { - "description": "NumCPUs is the number of CPUs", - "type": "integer", - "format": "int32" - } - } - }, - "loadBalancerConfigured": { - "type": "boolean" - }, - "mounts": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Edge mounts", - "type": "object", - "properties": { - "containerPath": { - "type": "string" - }, - "hostPath": { - "type": "string" - }, - "readonly": { - "type": "boolean" - } - } - } - } - } - }, - "status": { - "description": "cloud machine status", - "type": "object", - "properties": { - "health": { - "description": "Machine health state", - "type": "object", - "properties": { - "conditions": { - "type": "array", - "items": { - "description": "Machine health condition", - "type": "object", - "properties": { - "message": { - "type": "string" - }, - "reason": { - "type": "string" - }, - "status": { - "type": "string" - }, - "type": { - "type": "string" - } - } - } - }, - "lastHeartBeatTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "state": { - "type": "string" - } - } - }, - "instanceState": { - "type": "string", - "enum": [ - "Pending", - "Provisioning", - "Provisioned", - "Running", - "Deleting", - "Deleted", - "Failed", - "Unknown" - ] - }, - "maintenanceStatus": { - "description": "Machine maintenance status", - "type": "object", - "properties": { - "action": { - "type": "string" - }, - "message": { - "type": "string" - }, - "state": { - "type": "string" - } - } - } - } - } - } - }, - "v1EdgeMachinePoolCloudConfigEntity": { - "required": [ - "edgeHosts" - ], - "properties": { - "edgeHosts": { - "type": "array", - "uniqueItems": true, - "items": { - "required": [ - "hostUid" - ], - "properties": { - "hostUid": { - "type": "string" - } - } - } - } - } - }, - "v1EdgeMachinePoolConfig": { - "type": "object", - "required": [ - "hosts" - ], "properties": { - "additionalLabels": { - "description": "additionalLabels", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "additionalTags": { - "description": "AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "hosts": { - "type": "array", - "items": { - "description": "EdgeHost of Edge clusters", - "type": "object", - "required": [ - "hostUid", - "hostAddress" - ], - "properties": { - "hostAddress": { - "description": "HostAddress is a FQDN or IP address of the Host", - "type": "string" - }, - "hostIdentity": { - "type": "object", - "properties": { - "caCert": { - "description": "CACert is the client CA certificate", - "type": "string" - }, - "socketPath": { - "description": "SocketPath is an optional path to the socket on the host, if not using defaults", - "type": "string" - } - } - }, - "hostName": { - "description": "HostName is the name of the EdgeHost", - "type": "string" - }, - "hostUid": { - "description": "HostUid is the ID of the EdgeHost", - "type": "string" - } - } - } - }, - "isControlPlane": { - "description": "whether this pool is for control plane", - "type": "boolean" - }, - "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", + "tags": { "type": "array", "items": { "type": "string" } - }, - "machinePoolProperties": { - "description": "Machine pool specific properties", - "type": "object", - "properties": { - "archType": { - "type": "string", - "default": "amd64", - "enum": [ - "amd64", - "arm64" - ] - } - } - }, - "maxSize": { - "description": "max size of the pool, for scaling", - "type": "integer", - "format": "int32" - }, - "minSize": { - "description": "min size of the pool, for scaling", - "type": "integer", - "format": "int32" - }, - "name": { - "type": "string" - }, - "nodeRepaveInterval": { - "description": "Minimum number of seconds a node should be Ready, before the next node is selected for repave. Applicable only for workerpools in infrastructure cluster", - "type": "integer", - "format": "int32" - }, - "size": { - "description": "size of the pool, number of machines", - "type": "integer", - "format": "int32" - }, - "taints": { - "description": "master or worker taints", - "type": "array", - "uniqueItems": true, - "items": { - "description": "Taint", - "type": "object", - "properties": { - "effect": { - "type": "string", - "enum": [ - "NoSchedule", - "PreferNoSchedule", - "NoExecute" - ] - }, - "key": { - "description": "The taint key to be applied to a node", - "type": "string" - }, - "timeAdded": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "value": { - "description": "The taint value corresponding to the taint key.", - "type": "string" - } - } - } - }, - "updateStrategy": { - "description": "UpdatesStrategy will be used to translate to RollingUpdateStrategy of a MachineDeployment We'll start with default values for the translation, can expose more details later Following is details of parameters translated from the type ScaleOut =\u003e maxSurge=1, maxUnavailable=0 ScaleIn =\u003e maxSurge=0, maxUnavailable=1", - "type": "object", - "properties": { - "type": { - "description": "update strategy, either ScaleOut or ScaleIn if empty, will default to RollingUpdateScaleOut", - "type": "string", - "enum": [ - "RollingUpdateScaleOut", - "RollingUpdateScaleIn" - ] - } - } - }, - "useControlPlaneAsWorker": { - "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", - "type": "boolean" - } - } - }, - "v1EdgeMachinePoolConfigEntity": { - "type": "object", - "properties": { - "cloudConfig": { - "required": [ - "edgeHosts" - ], - "properties": { - "edgeHosts": { - "type": "array", - "uniqueItems": true, - "items": { - "required": [ - "hostUid" - ], - "properties": { - "hostUid": { - "type": "string" - } - } - } - } - } - }, - "poolConfig": { - "description": "Machine pool configuration for the cluster", - "type": "object", - "required": [ - "name", - "size", - "labels" - ], - "properties": { - "additionalLabels": { - "description": "Additional labels to be part of the machine pool", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "additionalTags": { - "description": "AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "isControlPlane": { - "description": "Whether this pool is for control plane", - "type": "boolean", - "x-omitempty": false - }, - "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", - "type": "array", - "items": { - "type": "string" - } - }, - "machinePoolProperties": { - "description": "Machine pool specific properties", - "type": "object", - "properties": { - "archType": { - "type": "string", - "default": "amd64", - "enum": [ - "amd64", - "arm64" - ] - } - } - }, - "maxSize": { - "description": "Max size of the pool, for scaling", - "type": "integer", - "format": "int32" - }, - "minSize": { - "description": "Min size of the pool, for scaling", - "type": "integer", - "format": "int32" - }, - "name": { - "type": "string" - }, - "nodeRepaveInterval": { - "description": "Minimum number of seconds a node should be Ready, before the next node is selected for repave. Applicable only for workerpools in infrastructure cluster", - "type": "integer", - "format": "int32" - }, - "size": { - "description": "Size of the pool, number of nodes/machines", - "type": "integer", - "format": "int32" - }, - "taints": { - "description": "Master or worker taints", - "type": "array", - "uniqueItems": true, - "items": { - "description": "Taint", - "type": "object", - "properties": { - "effect": { - "type": "string", - "enum": [ - "NoSchedule", - "PreferNoSchedule", - "NoExecute" - ] - }, - "key": { - "description": "The taint key to be applied to a node", - "type": "string" - }, - "timeAdded": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "value": { - "description": "The taint value corresponding to the taint key.", - "type": "string" - } - } - } - }, - "updateStrategy": { - "description": "UpdatesStrategy will be used to translate to RollingUpdateStrategy of a MachineDeployment We'll start with default values for the translation, can expose more details later Following is details of parameters translated from the type ScaleOut =\u003e maxSurge=1, maxUnavailable=0 ScaleIn =\u003e maxSurge=0, maxUnavailable=1", - "type": "object", - "properties": { - "type": { - "description": "update strategy, either ScaleOut or ScaleIn if empty, will default to RollingUpdateScaleOut", - "type": "string", - "enum": [ - "RollingUpdateScaleOut", - "RollingUpdateScaleIn" - ] - } - } - }, - "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", - "type": "boolean", - "x-omitempty": false - } - } - } - } - }, - "v1EdgeMachinePoolHost": { - "description": "EdgeHost of Edge clusters", - "type": "object", - "required": [ - "hostUid", - "hostAddress" - ], - "properties": { - "hostAddress": { - "description": "HostAddress is a FQDN or IP address of the Host", - "type": "string" - }, - "hostIdentity": { - "type": "object", - "properties": { - "caCert": { - "description": "CACert is the client CA certificate", - "type": "string" - }, - "socketPath": { - "description": "SocketPath is an optional path to the socket on the host, if not using defaults", - "type": "string" - } - } - }, - "hostName": { - "description": "HostName is the name of the EdgeHost", - "type": "string" - }, - "hostUid": { - "description": "HostUid is the ID of the EdgeHost", - "type": "string" - } - } - }, - "v1EdgeMachinePoolHostEntity": { - "required": [ - "hostUid" - ], - "properties": { - "hostUid": { - "type": "string" - } - } - }, - "v1EdgeMachinePoolHostIdentity": { - "type": "object", - "properties": { - "caCert": { - "description": "CACert is the client CA certificate", - "type": "string" - }, - "socketPath": { - "description": "SocketPath is an optional path to the socket on the host, if not using defaults", - "type": "string" - } - } - }, - "v1EdgeMachineSpec": { - "description": "Edge cloud VM definition spec", - "type": "object", - "properties": { - "bootstrapped": { - "type": "boolean" - }, - "customImage": { - "type": "string" - }, - "edgeHostUid": { - "type": "string" - }, - "instanceType": { - "description": "EdgeInstanceType defines the instance configuration for a docker container node", - "type": "object", - "required": [ - "numCPUs", - "memoryInMB" - ], - "properties": { - "memoryInMB": { - "description": "MemoryinMB is the memory in megabytes", - "type": "integer", - "format": "int32" - }, - "numCPUs": { - "description": "NumCPUs is the number of CPUs", - "type": "integer", - "format": "int32" - } - } - }, - "loadBalancerConfigured": { - "type": "boolean" - }, - "mounts": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Edge mounts", - "type": "object", - "properties": { - "containerPath": { - "type": "string" - }, - "hostPath": { - "type": "string" - }, - "readonly": { - "type": "boolean" - } - } - } - } - } - }, - "v1EdgeMachines": { - "description": "Edge machine list", - "type": "object", - "required": [ - "items" - ], - "properties": { - "items": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Edge cloud VM definition", - "type": "object", - "properties": { - "apiVersion": { - "description": "Deprecated. Not used for the resource info.", - "type": "string" - }, - "kind": { - "description": "Deprecated. Cloud type of the machine.", - "type": "string" - }, - "metadata": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", - "type": "object", - "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "name": { - "description": "Name of the resource.", - "type": "string" - }, - "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", - "type": "string" - } - } - }, - "spec": { - "description": "Edge cloud VM definition spec", - "type": "object", - "properties": { - "bootstrapped": { - "type": "boolean" - }, - "customImage": { - "type": "string" - }, - "edgeHostUid": { - "type": "string" - }, - "instanceType": { - "description": "EdgeInstanceType defines the instance configuration for a docker container node", - "type": "object", - "required": [ - "numCPUs", - "memoryInMB" - ], - "properties": { - "memoryInMB": { - "description": "MemoryinMB is the memory in megabytes", - "type": "integer", - "format": "int32" - }, - "numCPUs": { - "description": "NumCPUs is the number of CPUs", - "type": "integer", - "format": "int32" - } - } - }, - "loadBalancerConfigured": { - "type": "boolean" - }, - "mounts": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Edge mounts", - "type": "object", - "properties": { - "containerPath": { - "type": "string" - }, - "hostPath": { - "type": "string" - }, - "readonly": { - "type": "boolean" - } - } - } - } - } - }, - "status": { - "description": "cloud machine status", - "type": "object", - "properties": { - "health": { - "description": "Machine health state", - "type": "object", - "properties": { - "conditions": { - "type": "array", - "items": { - "description": "Machine health condition", - "type": "object", - "properties": { - "message": { - "type": "string" - }, - "reason": { - "type": "string" - }, - "status": { - "type": "string" - }, - "type": { - "type": "string" - } - } - } - }, - "lastHeartBeatTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "state": { - "type": "string" - } - } - }, - "instanceState": { - "type": "string", - "enum": [ - "Pending", - "Provisioning", - "Provisioned", - "Running", - "Deleting", - "Deleted", - "Failed", - "Unknown" - ] - }, - "maintenanceStatus": { - "description": "Machine maintenance status", - "type": "object", - "properties": { - "action": { - "type": "string" - }, - "message": { - "type": "string" - }, - "state": { - "type": "string" - } - } - } - } - } - } - } - } - } - }, - "v1EdgeMount": { - "description": "Edge mounts", - "type": "object", - "properties": { - "containerPath": { - "type": "string" - }, - "hostPath": { - "type": "string" - }, - "readonly": { - "type": "boolean" } } }, @@ -285605,7 +267648,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -285622,7 +267665,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -285634,11 +267677,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -285820,7 +267863,7 @@ "type": "boolean" }, "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", + "description": "labels for this pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string", @@ -285869,7 +267912,7 @@ "format": "int32" }, "taints": { - "description": "master or worker taints", + "description": "control plane or worker taints", "type": "array", "items": { "description": "Taint", @@ -285914,7 +267957,7 @@ } }, "useControlPlaneAsWorker": { - "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean" } } @@ -286150,7 +268193,7 @@ "type": "boolean" }, "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", + "description": "labels for this pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string", @@ -286199,7 +268242,7 @@ "format": "int32" }, "taints": { - "description": "master or worker taints", + "description": "control plane or worker taints", "type": "array", "items": { "description": "Taint", @@ -286244,7 +268287,7 @@ } }, "useControlPlaneAsWorker": { - "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean" } } @@ -286484,11 +268527,9 @@ "description": "EdgeNative cloud VM definition", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -286496,7 +268537,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -286513,7 +268554,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -286525,11 +268566,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -286846,7 +268887,7 @@ "type": "boolean" }, "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", + "description": "labels for this pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string", @@ -286895,7 +268936,7 @@ "format": "int32" }, "taints": { - "description": "master or worker taints", + "description": "control plane or worker taints", "type": "array", "items": { "description": "Taint", @@ -286940,7 +268981,7 @@ } }, "useControlPlaneAsWorker": { - "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean" } } @@ -287048,7 +269089,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -287092,7 +269133,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -287138,7 +269179,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -287280,11 +269321,9 @@ "description": "EdgeNative cloud VM definition", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -287292,7 +269331,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -287309,7 +269348,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -287321,11 +269360,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -287545,7 +269584,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -287562,7 +269601,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -287574,11 +269613,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -287643,7 +269682,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -287660,7 +269699,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -287672,11 +269711,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -287790,7 +269829,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -287807,7 +269846,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -287819,11 +269858,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -287863,7 +269902,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -287880,7 +269919,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -287892,11 +269931,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -288091,11 +270130,11 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", "type": "string" }, "kind": { - "description": "Cloud type of the cloud config", + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", "type": "string" }, "metadata": { @@ -288103,7 +270142,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -288120,7 +270159,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -288132,11 +270171,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -288154,11 +270193,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -288515,7 +270554,7 @@ "x-omitempty": false }, "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", + "description": "labels for this pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -288581,7 +270620,7 @@ } }, "taints": { - "description": "master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -288627,7 +270666,7 @@ } }, "useControlPlaneAsWorker": { - "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -288651,11 +270690,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -289012,7 +271051,7 @@ "x-omitempty": false }, "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", + "description": "labels for this pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -289078,7 +271117,7 @@ } }, "taints": { - "description": "master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -289124,7 +271163,7 @@ } }, "useControlPlaneAsWorker": { - "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -289684,7 +271723,7 @@ "x-omitempty": false }, "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", + "description": "labels for this pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -289750,7 +271789,7 @@ } }, "taints": { - "description": "master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -289796,7 +271835,7 @@ } }, "useControlPlaneAsWorker": { - "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -290000,7 +272039,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -290044,7 +272083,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -290090,7 +272129,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -290142,11 +272181,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -290160,7 +272199,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -290177,7 +272216,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -290189,11 +272228,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -290298,11 +272337,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -290316,7 +272355,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -290333,7 +272372,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -290345,11 +272384,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -290426,6 +272465,21 @@ } } }, + "v1EventsObjectsEntity": { + "type": "object", + "required": [ + "resourceType", + "resourceUid" + ], + "properties": { + "resourceType": { + "type": "string" + }, + "resourceUid": { + "type": "string" + } + } + }, "v1EventsRelatedObjectsEntity": { "type": "object", "required": [ @@ -290513,6 +272567,231 @@ } } }, + "v1Feature": { + "description": "Feature response", + "type": "object", + "properties": { + "metadata": { + "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", + "type": "object", + "properties": { + "annotations": { + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "creationTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "deletionTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "labels": { + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "lastModifiedTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "name": { + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + }, + "uid": { + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", + "type": "string" + } + } + }, + "spec": { + "description": "Feature spec", + "properties": { + "description": { + "description": "Feature description", + "type": "string" + }, + "docLink": { + "description": "Feature doc link", + "type": "string" + }, + "key": { + "description": "Feature key", + "type": "string" + } + } + } + } + }, + "v1FeatureFlagPing": { + "type": "object", + "properties": { + "msg": { + "type": "string" + } + } + }, + "v1FeatureSpec": { + "description": "Feature spec", + "properties": { + "description": { + "description": "Feature description", + "type": "string" + }, + "docLink": { + "description": "Feature doc link", + "type": "string" + }, + "key": { + "description": "Feature key", + "type": "string" + } + } + }, + "v1FeatureUpdate": { + "description": "Feature update spec", + "properties": { + "metadata": { + "description": "ObjectMeta input entity for object creation", + "type": "object", + "properties": { + "annotations": { + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "labels": { + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "name": { + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + } + } + }, + "spec": { + "description": "Feature update spec", + "properties": { + "description": { + "description": "Feature description", + "type": "string" + }, + "docLink": { + "description": "Feature doc link", + "type": "string" + } + } + } + } + }, + "v1FeatureUpdateSpec": { + "description": "Feature update spec", + "properties": { + "description": { + "description": "Feature description", + "type": "string" + }, + "docLink": { + "description": "Feature doc link", + "type": "string" + } + } + }, + "v1Features": { + "type": "object", + "required": [ + "items" + ], + "properties": { + "items": { + "description": "List of features", + "type": "array", + "uniqueItems": true, + "items": { + "description": "Feature response", + "type": "object", + "properties": { + "metadata": { + "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", + "type": "object", + "properties": { + "annotations": { + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "creationTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "deletionTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "labels": { + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "lastModifiedTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "name": { + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + }, + "uid": { + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", + "type": "string" + } + } + }, + "spec": { + "description": "Feature spec", + "properties": { + "description": { + "description": "Feature description", + "type": "string" + }, + "docLink": { + "description": "Feature doc link", + "type": "string" + }, + "key": { + "description": "Feature key", + "type": "string" + } + } + } + } + } + } + } + }, "v1FileUploadResponse": { "description": "File upload response", "type": "object", @@ -290668,7 +272947,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -290685,7 +272964,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -290697,11 +272976,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -290792,7 +273071,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -290809,7 +273088,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -290821,11 +273100,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -290993,11 +273272,11 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", + "description": "Cloud account api version", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the account.", + "description": "Cloud account kind", "type": "string" }, "metadata": { @@ -291005,7 +273284,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -291022,7 +273301,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -291034,11 +273313,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -291073,11 +273352,11 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", + "description": "Cloud account api version", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the account.", + "description": "Cloud account kind", "type": "string" }, "metadata": { @@ -291085,7 +273364,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -291102,7 +273381,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -291114,11 +273393,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -291234,11 +273513,11 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", + "description": "Cloud account api version", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the account.", + "description": "Cloud account kind", "type": "string" }, "metadata": { @@ -291246,7 +273525,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -291263,7 +273542,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -291275,11 +273554,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -291405,11 +273684,11 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", "type": "string" }, "kind": { - "description": "Cloud type of the cloud config", + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", "type": "string" }, "metadata": { @@ -291417,7 +273696,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -291434,7 +273713,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -291446,11 +273725,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -291468,11 +273747,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -291578,7 +273857,7 @@ "type": "boolean" }, "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", + "description": "labels for this pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -291638,7 +273917,7 @@ } }, "taints": { - "description": "master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -291684,7 +273963,7 @@ } }, "useControlPlaneAsWorker": { - "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean" } } @@ -291791,11 +274070,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -291901,7 +274180,7 @@ "type": "boolean" }, "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", + "description": "labels for this pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -291961,7 +274240,7 @@ } }, "taints": { - "description": "master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -292007,7 +274286,7 @@ } }, "useControlPlaneAsWorker": { - "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean" } } @@ -292274,11 +274553,9 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -292286,7 +274563,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -292303,7 +274580,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -292315,11 +274592,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -292578,7 +274855,7 @@ "type": "boolean" }, "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", + "description": "labels for this pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -292638,7 +274915,7 @@ } }, "taints": { - "description": "master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -292684,7 +274961,7 @@ } }, "useControlPlaneAsWorker": { - "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean" } } @@ -292763,7 +275040,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -292807,7 +275084,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -292853,7 +275130,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -292957,11 +275234,9 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -292969,7 +275244,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -292986,7 +275261,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -292998,11 +275273,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -293386,6 +275661,10 @@ "type": "string" } } + }, + "projectId": { + "description": "GCP project id", + "type": "string" } } }, @@ -293599,7 +275878,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -293616,7 +275895,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -293628,11 +275907,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -293650,11 +275929,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -293704,11 +275983,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -293730,7 +276009,7 @@ "type": "boolean" }, "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", + "description": "labels for this pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -293750,7 +276029,7 @@ "format": "int32" }, "useControlPlaneAsWorker": { - "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean" } } @@ -293773,11 +276052,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -293827,11 +276106,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -293853,7 +276132,7 @@ "type": "boolean" }, "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", + "description": "labels for this pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -293873,7 +276152,7 @@ "format": "int32" }, "useControlPlaneAsWorker": { - "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean" } } @@ -293941,11 +276220,9 @@ "description": "Generic cloud VM definition", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -293953,7 +276230,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -293970,7 +276247,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -293982,11 +276259,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -294138,7 +276415,7 @@ "type": "boolean" }, "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", + "description": "labels for this pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -294158,7 +276435,7 @@ "format": "int32" }, "useControlPlaneAsWorker": { - "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean" } } @@ -294227,7 +276504,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -294271,7 +276548,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -294317,7 +276594,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -294401,11 +276678,9 @@ "description": "Generic cloud VM definition", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -294413,7 +276688,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -294430,7 +276705,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -294442,11 +276717,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -294982,7 +277257,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -294999,7 +277274,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -295011,11 +277286,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -295073,11 +277348,9 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "metadata": { @@ -295085,7 +277358,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -295102,7 +277375,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -295114,11 +277387,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -295276,7 +277549,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -295293,7 +277566,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -295305,11 +277578,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -295393,11 +277666,9 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "metadata": { @@ -295405,7 +277676,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -295422,7 +277693,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -295434,11 +277705,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -295582,7 +277853,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -295599,7 +277870,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -295611,11 +277882,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -295967,7 +278238,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -295984,7 +278255,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -295996,11 +278267,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -296109,11 +278380,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -296127,11 +278398,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -296206,11 +278477,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -296224,11 +278495,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -296254,11 +278525,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -296891,7 +279162,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -296908,7 +279179,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -296920,11 +279191,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -298261,7 +280532,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -298278,7 +280549,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -298290,11 +280561,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -298758,7 +281029,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -298775,7 +281046,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -298787,11 +281058,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -298889,7 +281160,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -298906,7 +281177,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -298918,11 +281189,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -299028,7 +281299,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -299045,7 +281316,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -299057,11 +281328,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -299855,11 +282126,11 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", "type": "string" }, "kind": { - "description": "Cloud type of the cloud config", + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", "type": "string" }, "metadata": { @@ -299867,7 +282138,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -299884,7 +282155,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -299896,11 +282167,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -300043,7 +282314,7 @@ "type": "boolean" }, "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", + "description": "labels for this pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -300232,7 +282503,7 @@ "format": "int32" }, "taints": { - "description": "master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -300278,7 +282549,7 @@ } }, "useControlPlaneAsWorker": { - "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean" }, "xslTemplate": { @@ -300497,7 +282768,7 @@ "type": "boolean" }, "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", + "description": "labels for this pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -300686,7 +282957,7 @@ "format": "int32" }, "taints": { - "description": "master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -300732,7 +283003,7 @@ } }, "useControlPlaneAsWorker": { - "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean" }, "xslTemplate": { @@ -301002,11 +283273,9 @@ "description": "Libvirt cloud VM definition", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -301014,7 +283283,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -301031,7 +283300,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -301043,11 +283312,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -301518,7 +283787,7 @@ "type": "boolean" }, "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", + "description": "labels for this pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -301707,7 +283976,7 @@ "format": "int32" }, "taints": { - "description": "master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -301753,7 +284022,7 @@ } }, "useControlPlaneAsWorker": { - "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean" }, "xslTemplate": { @@ -301973,7 +284242,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -302017,7 +284286,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -302063,7 +284332,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -302213,11 +284482,9 @@ "description": "Libvirt cloud VM definition", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -302225,7 +284492,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -302242,7 +284509,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -302254,11 +284521,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -302860,7 +285127,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -302877,7 +285144,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -302889,11 +285156,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -302925,7 +285192,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -302942,7 +285209,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -302954,11 +285221,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -303090,11 +285357,9 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the account.", "type": "string" }, "metadata": { @@ -303102,7 +285367,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -303119,7 +285384,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -303131,11 +285396,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -303189,11 +285454,9 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the account.", "type": "string" }, "metadata": { @@ -303201,7 +285464,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -303218,7 +285481,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -303230,11 +285493,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -303357,11 +285620,11 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", "type": "string" }, "kind": { - "description": "Cloud type of the cloud config", + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", "type": "string" }, "metadata": { @@ -303369,7 +285632,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -303386,7 +285649,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -303398,11 +285661,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -303420,11 +285683,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -303497,7 +285760,7 @@ "type": "boolean" }, "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", + "description": "labels for this pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -303551,7 +285814,7 @@ } }, "taints": { - "description": "master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -303597,7 +285860,7 @@ } }, "useControlPlaneAsWorker": { - "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean" } } @@ -303698,11 +285961,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -303775,7 +286038,7 @@ "type": "boolean" }, "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", + "description": "labels for this pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -303829,7 +286092,7 @@ } }, "taints": { - "description": "master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -303875,7 +286138,7 @@ } }, "useControlPlaneAsWorker": { - "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean" } } @@ -304047,11 +286310,9 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -304059,7 +286320,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -304076,7 +286337,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -304088,11 +286349,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -304206,7 +286467,7 @@ "type": "object", "properties": { "azs": { - "description": "for master pool, this will be the failure domains for kcp", + "description": "for control plane pool, this will be the failure domains for kcp", "type": "array", "items": { "type": "string" @@ -304319,7 +286580,7 @@ "type": "boolean" }, "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", + "description": "labels for this pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -304373,7 +286634,7 @@ } }, "taints": { - "description": "master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -304419,7 +286680,7 @@ } }, "useControlPlaneAsWorker": { - "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean" } } @@ -304500,7 +286761,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -304544,7 +286805,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -304590,7 +286851,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -304647,11 +286908,9 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -304659,7 +286918,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -304676,7 +286935,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -304688,11 +286947,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -305101,7 +287360,7 @@ } }, "v1MachineCertificate": { - "description": "K8 Certificates for master nodes", + "description": "K8 Certificates for control plane nodes", "type": "object", "properties": { "certificateAuthorities": { @@ -305145,13 +287404,13 @@ } }, "v1MachineCertificates": { - "description": "K8 Certificates for all the cluster's master nodes", + "description": "K8 Certificates for all the cluster's control plane nodes", "type": "object", "properties": { "machineCertificates": { "type": "array", "items": { - "description": "K8 Certificates for master nodes", + "description": "K8 Certificates for control plane nodes", "type": "object", "properties": { "certificateAuthorities": { @@ -305353,7 +287612,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -305397,7 +287656,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -305443,7 +287702,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -305527,11 +287786,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -305687,7 +287946,7 @@ "x-omitempty": false }, "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", + "description": "labels for this pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -305859,7 +288118,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -305876,7 +288135,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -305888,11 +288147,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -305950,7 +288209,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -305967,7 +288226,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -305979,11 +288238,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -306035,7 +288294,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -306052,7 +288311,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -306064,11 +288323,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -307185,7 +289444,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -307202,7 +289461,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -307214,11 +289473,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -310767,7 +293026,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -310784,7 +293043,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -310796,11 +293055,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -314776,7 +297035,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -314793,7 +297052,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -314805,11 +297064,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -315021,7 +297280,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -315038,7 +297297,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -315050,11 +297309,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -315162,7 +297421,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -315179,7 +297438,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -315191,11 +297450,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -315205,21 +297464,21 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } @@ -315236,21 +297495,21 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } @@ -315290,11 +297549,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -315403,7 +297662,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -315420,7 +297679,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -315432,11 +297691,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -315506,7 +297765,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -315523,7 +297782,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -315535,11 +297794,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -315890,11 +298149,11 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", + "description": "Cloud account api version", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the account.", + "description": "Cloud account kind", "type": "string" }, "metadata": { @@ -315902,7 +298161,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -315919,7 +298178,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -315931,11 +298190,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -316009,11 +298268,11 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", + "description": "Cloud account api version", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the account.", + "description": "Cloud account kind", "type": "string" }, "metadata": { @@ -316021,7 +298280,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -316038,7 +298297,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -316050,11 +298309,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -316301,11 +298560,11 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", "type": "string" }, "kind": { - "description": "Cloud type of the cloud config", + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", "type": "string" }, "metadata": { @@ -316313,7 +298572,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -316330,7 +298589,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -316342,11 +298601,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -316364,11 +298623,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -316467,7 +298726,7 @@ } }, "azs": { - "description": "for master pool, this will be the failure domains for kcp", + "description": "for control plane pool, this will be the failure domains for kcp", "type": "array", "items": { "type": "string" @@ -316516,7 +298775,7 @@ "type": "boolean" }, "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", + "description": "labels for this pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -316571,7 +298830,7 @@ } }, "taints": { - "description": "master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -316617,7 +298876,7 @@ } }, "useControlPlaneAsWorker": { - "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean" } } @@ -316692,11 +298951,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -316795,7 +299054,7 @@ } }, "azs": { - "description": "for master pool, this will be the failure domains for kcp", + "description": "for control plane pool, this will be the failure domains for kcp", "type": "array", "items": { "type": "string" @@ -316844,7 +299103,7 @@ "type": "boolean" }, "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", + "description": "labels for this pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -316899,7 +299158,7 @@ } }, "taints": { - "description": "master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -316945,7 +299204,7 @@ } }, "useControlPlaneAsWorker": { - "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean" } } @@ -317213,11 +299472,9 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -317225,7 +299482,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -317242,7 +299499,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -317254,11 +299511,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -317417,7 +299674,7 @@ ], "properties": { "azs": { - "description": "for master pool, this will be the failure domains for kcp", + "description": "for control plane pool, this will be the failure domains for kcp", "type": "array", "items": { "type": "string" @@ -317458,7 +299715,7 @@ ], "properties": { "azs": { - "description": "for master pool, this will be the failure domains for kcp", + "description": "for control plane pool, this will be the failure domains for kcp", "type": "array", "items": { "type": "string" @@ -317529,7 +299786,7 @@ } }, "azs": { - "description": "for master pool, this will be the failure domains for kcp", + "description": "for control plane pool, this will be the failure domains for kcp", "type": "array", "items": { "type": "string" @@ -317578,7 +299835,7 @@ "type": "boolean" }, "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", + "description": "labels for this pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -317633,7 +299890,7 @@ } }, "taints": { - "description": "master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -317679,7 +299936,7 @@ } }, "useControlPlaneAsWorker": { - "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean" } } @@ -317697,7 +299954,7 @@ ], "properties": { "azs": { - "description": "for master pool, this will be the failure domains for kcp", + "description": "for control plane pool, this will be the failure domains for kcp", "type": "array", "items": { "type": "string" @@ -317776,7 +300033,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -317820,7 +300077,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -317866,7 +300123,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -317965,11 +300222,9 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -317977,7 +300232,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -317994,7 +300249,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -318006,11 +300261,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -318669,7 +300924,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -318686,7 +300941,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -318698,11 +300953,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -318882,6 +301137,15 @@ "type": "string" } }, + "notifications": { + "description": "Cluster notifications status", + "properties": { + "isAvailable": { + "type": "boolean", + "x-omitempty": false + } + } + }, "state": { "type": "string" } @@ -318909,7 +301173,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -318926,7 +301190,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -318938,11 +301202,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -318969,7 +301233,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -318986,7 +301250,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -318998,11 +301262,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -319182,6 +301446,15 @@ "type": "string" } }, + "notifications": { + "description": "Cluster notifications status", + "properties": { + "isAvailable": { + "type": "boolean", + "x-omitempty": false + } + } + }, "state": { "type": "string" } @@ -319351,6 +301624,26 @@ "uid": { "description": "Cluster profile uid", "type": "string" + }, + "variables": { + "type": "array", + "items": { + "description": "Variable with value which will be used within the packs of cluster profile", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Variable name", + "type": "string" + }, + "value": { + "description": "Actual value of the variable to be used within the cluster", + "type": "string" + } + } + } } } } @@ -319424,11 +301717,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -319442,11 +301735,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -319760,7 +302053,7 @@ "type": "object", "properties": { "azs": { - "description": "for master pool, this will be the failure domains for kcp", + "description": "for control plane pool, this will be the failure domains for kcp", "type": "array", "items": { "type": "string" @@ -320065,6 +302358,26 @@ "uid": { "description": "Cluster profile uid", "type": "string" + }, + "variables": { + "type": "array", + "items": { + "description": "Variable with value which will be used within the packs of cluster profile", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Variable name", + "type": "string" + }, + "value": { + "description": "Actual value of the variable to be used within the cluster", + "type": "string" + } + } + } } } } @@ -320138,11 +302451,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -320156,11 +302469,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -320477,7 +302790,7 @@ ], "properties": { "azs": { - "description": "for master pool, this will be the failure domains for kcp", + "description": "for control plane pool, this will be the failure domains for kcp", "type": "array", "items": { "type": "string" @@ -320771,6 +303084,26 @@ "uid": { "description": "Cluster profile uid", "type": "string" + }, + "variables": { + "type": "array", + "items": { + "description": "Variable with value which will be used within the packs of cluster profile", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Variable name", + "type": "string" + }, + "value": { + "description": "Actual value of the variable to be used within the cluster", + "type": "string" + } + } + } } } } @@ -320844,11 +303177,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -320862,11 +303195,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -321205,7 +303538,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -321222,7 +303555,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -321234,11 +303567,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -321265,7 +303598,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -321282,7 +303615,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -321294,11 +303627,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -321478,6 +303811,15 @@ "type": "string" } }, + "notifications": { + "description": "Cluster notifications status", + "properties": { + "isAvailable": { + "type": "boolean", + "x-omitempty": false + } + } + }, "state": { "type": "string" } @@ -322201,7 +304543,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -322218,7 +304560,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -322230,11 +304572,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -322451,11 +304793,11 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", + "description": "Pack api version", "type": "string" }, "kind": { - "description": "Deprecated. Not used for the resource info.", + "description": "Pack kind", "type": "string" }, "metadata": { @@ -322463,7 +304805,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -322480,7 +304822,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -322492,11 +304834,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -322613,11 +304955,11 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", + "description": "Pack api version", "type": "string" }, "kind": { - "description": "Deprecated. Not used for the resource info.", + "description": "Pack kind", "type": "string" }, "metadata": { @@ -322625,7 +304967,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -322642,7 +304984,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -322654,11 +304996,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -322983,11 +305325,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -323173,7 +305515,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -323190,7 +305532,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -323202,11 +305544,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -323295,11 +305637,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -323746,11 +306088,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -324125,11 +306467,9 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "metadata": { @@ -324137,7 +306477,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -324154,7 +306494,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -324166,11 +306506,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -324328,7 +306668,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -324345,7 +306685,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -324357,11 +306697,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -324446,11 +306786,9 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "metadata": { @@ -324458,7 +306796,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -324475,7 +306813,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -324487,11 +306825,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -324847,7 +307185,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -324864,7 +307202,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -324876,11 +307214,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -325040,11 +307378,11 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", + "description": "Pack api version", "type": "string" }, "kind": { - "description": "Deprecated. Not used for the resource info.", + "description": "Pack kind", "type": "string" }, "metadata": { @@ -325052,7 +307390,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -325069,7 +307407,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -325081,11 +307419,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -325159,11 +307497,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -325536,11 +307874,11 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", + "description": "Pack api version", "type": "string" }, "kind": { - "description": "Deprecated. Not used for the resource info.", + "description": "Pack kind", "type": "string" }, "metadata": { @@ -325548,7 +307886,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -325565,7 +307903,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -325577,11 +307915,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -325655,11 +307993,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -326067,11 +308405,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -328146,11 +310484,6 @@ "description": "Country name the card belongs", "type": "string" }, - "expMonth": { - "description": "Expiry month of the card", - "type": "number", - "format": "uint64" - }, "expYear": { "description": "Expiry year of the card", "type": "number", @@ -328213,11 +310546,6 @@ "description": "Country name the card belongs", "type": "string" }, - "expMonth": { - "description": "Expiry month of the card", - "type": "number", - "format": "uint64" - }, "expYear": { "description": "Expiry year of the card", "type": "number", @@ -328451,7 +310779,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -328468,7 +310796,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -328480,11 +310808,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -328511,7 +310839,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -328528,7 +310856,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -328540,11 +310868,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -328724,6 +311052,15 @@ "type": "string" } }, + "notifications": { + "description": "Cluster notifications status", + "properties": { + "isAvailable": { + "type": "boolean", + "x-omitempty": false + } + } + }, "state": { "type": "string" } @@ -328820,7 +311157,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -328837,7 +311174,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -328849,11 +311186,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -330777,7 +313114,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -330794,7 +313131,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -330806,11 +313143,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -331646,21 +313983,21 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } @@ -331792,7 +314129,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -331809,7 +314146,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -331821,11 +314158,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -332320,7 +314657,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -332337,7 +314674,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -332349,11 +314686,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -332953,7 +315290,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -332970,7 +315307,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -332982,11 +315319,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -333286,7 +315623,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -333303,7 +315640,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -333315,11 +315652,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -333615,7 +315952,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -333632,7 +315969,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -333644,11 +315981,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -334916,7 +317253,11 @@ "type": "string", "format": "date-time" }, + "includeControlPlaneMachines": { + "type": "boolean" + }, "includeMasterMachines": { + "description": "Deprecated. Use includeControlPlaneMachines", "type": "boolean" }, "namespaces": { @@ -335001,7 +317342,11 @@ "type": "string", "format": "date-time" }, + "includeControlPlaneMachines": { + "type": "boolean" + }, "includeMasterMachines": { + "description": "Deprecated. Use includeControlPlaneMachines", "type": "boolean" }, "namespaces": { @@ -335249,7 +317594,11 @@ "type": "string", "format": "date-time" }, + "includeControlPlaneMachines": { + "type": "boolean" + }, "includeMasterMachines": { + "description": "Deprecated. Use includeControlPlaneMachines", "type": "boolean" }, "namespaces": { @@ -335335,7 +317684,11 @@ "type": "string", "format": "date-time" }, + "includeControlPlaneMachines": { + "type": "boolean" + }, "includeMasterMachines": { + "description": "Deprecated. Use includeControlPlaneMachines", "type": "boolean" }, "namespaces": { @@ -335958,7 +318311,11 @@ "type": "string", "format": "date-time" }, + "includeControlPlaneMachines": { + "type": "boolean" + }, "includeMasterMachines": { + "description": "Deprecated. Use includeControlPlaneMachines", "type": "boolean" }, "namespaces": { @@ -336081,7 +318438,11 @@ "type": "string", "format": "date-time" }, + "includeControlPlaneMachines": { + "type": "boolean" + }, "includeMasterMachines": { + "description": "Deprecated. Use includeControlPlaneMachines", "type": "boolean" }, "namespaces": { @@ -336798,7 +319159,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -336815,7 +319176,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -336827,11 +319188,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -336988,7 +319349,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -337005,7 +319366,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -337017,11 +319378,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -337192,7 +319553,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -337209,7 +319570,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -337221,11 +319582,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -337300,7 +319661,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -337317,7 +319678,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -337329,11 +319690,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -337409,7 +319770,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -337426,7 +319787,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -337438,11 +319799,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -339356,11 +321717,9 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "metadata": { @@ -339368,7 +321727,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -339385,7 +321744,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -339397,11 +321756,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -339511,11 +321870,9 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "metadata": { @@ -339523,7 +321880,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -339540,7 +321897,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -339552,11 +321909,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -340034,7 +322391,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -340051,7 +322408,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -340063,11 +322420,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -340180,11 +322537,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -340198,11 +322555,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -340647,7 +323004,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -340691,7 +323048,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -340737,7 +323094,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -340914,6 +323271,26 @@ "uid": { "description": "Cluster profile uid", "type": "string" + }, + "variables": { + "type": "array", + "items": { + "description": "Variable with value which will be used within the packs of cluster profile", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Variable name", + "type": "string" + }, + "value": { + "description": "Actual value of the variable to be used within the cluster", + "type": "string" + } + } + } } } } @@ -340931,21 +323308,21 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } @@ -341161,7 +323538,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -341205,7 +323582,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -341251,7 +323628,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -341271,7 +323648,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -341288,7 +323665,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -341300,11 +323677,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -341549,11 +323926,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -341567,11 +323944,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -341980,7 +324357,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -342024,7 +324401,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -342070,7 +324447,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -342247,6 +324624,26 @@ "uid": { "description": "Cluster profile uid", "type": "string" + }, + "variables": { + "type": "array", + "items": { + "description": "Variable with value which will be used within the packs of cluster profile", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Variable name", + "type": "string" + }, + "value": { + "description": "Actual value of the variable to be used within the cluster", + "type": "string" + } + } + } } } } @@ -342264,21 +324661,21 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } @@ -342590,7 +324987,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -342634,7 +325031,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -342680,7 +325077,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -342696,11 +325093,11 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", "type": "string" }, "kind": { - "description": "Cloud type of the cloud config", + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", "type": "string" }, "metadata": { @@ -342708,7 +325105,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -342725,7 +325122,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -342737,11 +325134,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -342759,11 +325156,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -342909,11 +325306,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -342927,11 +325324,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -343031,11 +325428,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -343100,11 +325497,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -343249,11 +325646,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -344984,7 +327381,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -345001,7 +327398,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -345013,11 +327410,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -345421,15 +327818,6 @@ } } }, - "v1SpectroClusterNotifications": { - "description": "Spectro cluster notifications", - "properties": { - "isAvailable": { - "type": "boolean", - "x-omitempty": false - } - } - }, "v1SpectroClusterOidcClaims": { "type": "object", "properties": { @@ -345653,11 +328041,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -345846,11 +328234,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -346132,6 +328520,26 @@ "uid": { "description": "Cluster profile uid", "type": "string" + }, + "variables": { + "type": "array", + "items": { + "description": "Variable with value which will be used within the packs of cluster profile", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Variable name", + "type": "string" + }, + "value": { + "description": "Actual value of the variable to be used within the cluster", + "type": "string" + } + } + } } } } @@ -346312,7 +328720,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -346329,7 +328737,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -346341,11 +328749,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -346371,7 +328779,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -346388,7 +328796,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -346400,11 +328808,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -346478,11 +328886,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -346831,11 +329239,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -346924,6 +329332,26 @@ "uid": { "description": "Cluster profile uid", "type": "string" + }, + "variables": { + "type": "array", + "items": { + "description": "Variable with value which will be used within the packs of cluster profile", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Variable name", + "type": "string" + }, + "value": { + "description": "Actual value of the variable to be used within the cluster", + "type": "string" + } + } + } } } }, @@ -346944,7 +329372,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -346961,7 +329389,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -346973,11 +329401,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -347003,7 +329431,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -347020,7 +329448,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -347032,11 +329460,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -347110,11 +329538,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -347463,11 +329891,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -347509,7 +329937,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -347526,7 +329954,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -347538,11 +329966,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -347616,11 +330044,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -347969,11 +330397,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -348017,11 +330445,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -348086,11 +330514,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -348235,11 +330663,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -348386,6 +330814,26 @@ "uid": { "description": "Cluster profile uid", "type": "string" + }, + "variables": { + "type": "array", + "items": { + "description": "Variable with value which will be used within the packs of cluster profile", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Variable name", + "type": "string" + }, + "value": { + "description": "Actual value of the variable to be used within the cluster", + "type": "string" + } + } + } } } } @@ -348434,7 +330882,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -348451,7 +330899,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -348463,11 +330911,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -348488,7 +330936,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -348505,7 +330953,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -348517,11 +330965,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -349095,7 +331543,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -349112,7 +331560,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -349124,11 +331572,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -349205,11 +331653,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -349398,11 +331846,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -349642,11 +332090,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -349835,11 +332283,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -350046,11 +332494,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -350239,11 +332687,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -350492,11 +332940,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -350685,11 +333133,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -350836,7 +333284,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -350853,7 +333301,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -350865,11 +333313,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -350887,11 +333335,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -351037,11 +333485,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -351055,11 +333503,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -351159,11 +333607,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -351228,11 +333676,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -351377,11 +333825,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -351498,11 +333946,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -351648,11 +334096,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -351666,11 +334114,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -351770,11 +334218,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -351839,11 +334287,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -351988,11 +334436,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -352022,6 +334470,16 @@ } } }, + "v1SpectroClusterState": { + "description": "Spectrocluster state entity", + "type": "object", + "properties": { + "state": { + "description": "Spectrocluster state", + "type": "string" + } + } + }, "v1SpectroClusterStatus": { "description": "SpectroClusterStatus", "type": "object", @@ -352562,6 +335020,22 @@ } } }, + "v1SpectroClusterStatusEntity": { + "description": "Spectrocluster status entity", + "type": "object", + "properties": { + "status": { + "description": "Spectrocluster state entity", + "type": "object", + "properties": { + "state": { + "description": "Spectrocluster state", + "type": "string" + } + } + } + } + }, "v1SpectroClusterSummary": { "description": "Spectro cluster summary", "type": "object", @@ -352571,7 +335045,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -352588,7 +335062,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -352600,11 +335074,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -352724,11 +335198,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -352884,7 +335358,7 @@ "x-omitempty": false }, "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", + "description": "labels for this pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -352925,11 +335399,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -353004,11 +335478,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -353226,11 +335700,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -353640,7 +336114,7 @@ } }, "notifications": { - "description": "Spectro cluster notifications", + "description": "Cluster notifications status", "properties": { "isAvailable": { "type": "boolean", @@ -354376,7 +336850,7 @@ } }, "notifications": { - "description": "Spectro cluster notifications", + "description": "Cluster notifications status", "properties": { "isAvailable": { "type": "boolean", @@ -354776,7 +337250,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -354793,7 +337267,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -354805,11 +337279,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -354917,11 +337391,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -355077,7 +337551,7 @@ "x-omitempty": false }, "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", + "description": "labels for this pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -355182,11 +337656,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -355404,11 +337878,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -355905,7 +338379,7 @@ } }, "notifications": { - "description": "Spectro cluster notifications", + "description": "Cluster notifications status", "properties": { "isAvailable": { "type": "boolean", @@ -356455,6 +338929,23 @@ } } }, + "v1SpectroClusterVariable": { + "description": "Variable with value which will be used within the packs of cluster profile", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Variable name", + "type": "string" + }, + "value": { + "description": "Actual value of the variable to be used within the cluster", + "type": "string" + } + } + }, "v1SpectroClusters": { "type": "object", "required": [ @@ -356469,11 +338960,11 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", "type": "string" }, "kind": { - "description": "Cloud type of the cloud config", + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", "type": "string" }, "metadata": { @@ -356481,7 +338972,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -356498,7 +338989,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -356510,11 +339001,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -356532,11 +339023,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -356682,11 +339173,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -356700,11 +339191,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -356804,11 +339295,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -356873,11 +339364,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -357022,11 +339513,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -357699,7 +340190,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -357716,7 +340207,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -357728,11 +340219,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -357758,7 +340249,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -357775,7 +340266,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -357787,11 +340278,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -357976,7 +340467,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -357993,7 +340484,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -358005,11 +340496,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -358129,11 +340620,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -358289,7 +340780,7 @@ "x-omitempty": false }, "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", + "description": "labels for this pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -358330,11 +340821,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -358409,11 +340900,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -358631,11 +341122,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -359045,7 +341536,7 @@ } }, "notifications": { - "description": "Spectro cluster notifications", + "description": "Cluster notifications status", "properties": { "isAvailable": { "type": "boolean", @@ -359249,7 +341740,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -359266,7 +341757,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -359278,11 +341769,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -359420,11 +341911,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -359438,11 +341929,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -359890,7 +342381,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -359934,7 +342425,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -359980,7 +342471,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -360157,6 +342648,26 @@ "uid": { "description": "Cluster profile uid", "type": "string" + }, + "variables": { + "type": "array", + "items": { + "description": "Variable with value which will be used within the packs of cluster profile", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Variable name", + "type": "string" + }, + "value": { + "description": "Actual value of the variable to be used within the cluster", + "type": "string" + } + } + } } } } @@ -360356,7 +342867,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -360400,7 +342911,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -360446,7 +342957,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -360466,21 +342977,21 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } @@ -360831,7 +343342,7 @@ "x-omitempty": false }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -360863,7 +343374,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -360945,1046 +343456,26 @@ "uid": { "description": "Cluster profile uid", "type": "string" - } - } - } - } - } - } - } - }, - "v1SpectroEdgeClusterEntity": { - "description": "Edge cluster request payload for create and update", - "type": "object", - "properties": { - "metadata": { - "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", - "type": "object", - "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "creationTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "deletionTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "lastModifiedTimestamp": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "name": { - "description": "Name of the resource.", - "type": "string" - }, - "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", - "type": "string" - } - } - }, - "spec": { - "type": "object", - "properties": { - "cloudConfig": { - "description": "EdgeClusterConfig defines Edge Cluster specific Spec", - "type": "object", - "properties": { - "sshKeys": { - "description": "SSHKeys specifies a list of ssh authorized keys to access the vms as a 'spectro' user", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "clusterConfig": { - "type": "object", - "properties": { - "clusterMetaAttribute": { - "description": "ClusterMetaAttribute can be used to set additional cluster metadata information.", - "type": "string" - }, - "controlPlaneHealthCheckTimeout": { - "type": "string" - }, - "hostClusterConfig": { - "properties": { - "clusterEndpoint": { - "properties": { - "config": { - "properties": { - "ingressConfig": { - "description": "Ingress configuration for exposing the virtual cluster's kube-apiserver", - "properties": { - "host": { - "type": "string" - }, - "port": { - "type": "integer", - "format": "int64" - } - } - }, - "loadBalancerConfig": { - "description": "Load balancer configuration for exposing the virtual cluster's kube-apiserver", - "properties": { - "externalIPs": { - "type": "array", - "items": { - "type": "string" - } - }, - "externalTrafficPolicy": { - "type": "string" - }, - "loadBalancerSourceRanges": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - } - }, - "type": { - "description": "is enabled as host cluster", - "type": "string", - "enum": [ - "Ingress", - "LoadBalancer" - ] - } - } - }, - "clusterGroup": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", - "type": "string" - } - } - }, - "hostCluster": { - "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", - "type": "object", - "properties": { - "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "Name of the referent.", - "type": "string" - }, - "uid": { - "description": "UID of the referent.", - "type": "string" - } - } - }, - "isHostCluster": { - "description": "is enabled as host cluster", - "type": "boolean", - "default": false, - "x-omitempty": false - } - } - }, - "lifecycleConfig": { - "properties": { - "pause": { - "description": "enable pause life cycle config", - "type": "boolean", - "default": false, - "x-omitempty": false - } - } - }, - "location": { - "description": "Cluster location information", - "type": "object", - "properties": { - "countryCode": { - "description": "country code for cluster location", - "type": "string" - }, - "countryName": { - "description": "country name for cluster location", - "type": "string" - }, - "geoLoc": { - "description": "Geolocation Latlong entity", - "type": "object", - "properties": { - "latitude": { - "description": "Latitude of a resource", - "type": "number", - "format": "float64", - "x-omitempty": false - }, - "longitude": { - "description": "Longitude of a resource", - "type": "number", - "format": "float64", - "x-omitempty": false - } - } - }, - "regionCode": { - "description": "region code for cluster location", - "type": "string" - }, - "regionName": { - "description": "region name for cluster location", - "type": "string" - } - } - }, - "machineManagementConfig": { - "type": "object", - "properties": { - "osPatchConfig": { - "type": "object", - "properties": { - "onDemandPatchAfter": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "patchOnBoot": { - "description": "PatchOnBoot indicates need to do patch when node first boot up, only once", - "type": "boolean", - "x-omitempty": false - }, - "rebootIfRequired": { - "description": "Reboot once the OS patch is applied", - "type": "boolean", - "x-omitempty": false - }, - "schedule": { - "description": "The schedule at which security patches will be applied to OS. Schedule should be in Cron format, see https://en.wikipedia.org/wiki/Cron for more help.", - "type": "string" - } - } - } - } - }, - "resources": { - "type": "object", - "properties": { - "namespaces": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Cluster Namespace resource defintion", - "type": "object", - "properties": { - "metadata": { - "description": "ObjectMeta update entity with uid as input", - "type": "object", - "properties": { - "annotations": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - }, - "spec": { - "description": "Cluster namespace spec", - "properties": { - "isRegex": { - "type": "boolean", - "x-omitempty": false - }, - "relatedObject": { - "description": "Object for which the resource is related", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "spectrocluster", - "machine", - "cloudconfig", - "clusterprofile", - "pack", - "appprofile", - "appdeployment", - "edgehost" - ] - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - }, - "resourceAllocation": { - "description": "Cluster namespace resource allocation", - "properties": { - "cpuCores": { - "type": "number", - "minimum": 0, - "exclusiveMinimum": true - }, - "memoryMiB": { - "type": "number", - "minimum": 0, - "exclusiveMinimum": true - } - } - } - } - } - } - } - }, - "rbacs": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Cluster RBAC role binding defintion", - "type": "object", - "properties": { - "metadata": { - "description": "ObjectMeta update entity with uid as input", - "type": "object", - "properties": { - "annotations": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - }, - "spec": { - "description": "Cluster RBAC spec", - "type": "object", - "properties": { - "bindings": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Cluster RBAC binding", - "type": "object", - "properties": { - "namespace": { - "type": "string" - }, - "role": { - "description": "Cluster role ref", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "Role", - "ClusterRole" - ] - }, - "name": { - "type": "string" - } - } - }, - "subjects": { - "type": "array", - "uniqueItems": true, - "items": { - "description": "Cluster role ref", - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "namespace": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "User", - "Group", - "ServiceAccount" - ] - } - } - } - }, - "type": { - "type": "string", - "enum": [ - "RoleBinding", - "ClusterRoleBinding" - ] - } - } - } - }, - "relatedObject": { - "description": "Object for which the resource is related", - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": [ - "spectrocluster", - "machine", - "cloudconfig", - "clusterprofile", - "pack", - "appprofile", - "appdeployment", - "edgehost" - ] - }, - "name": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - } - } - } - } - } - } - } - }, - "updateWorkerPoolsInParallel": { - "type": "boolean" - } - } - }, - "machinepoolconfig": { - "type": "array", - "items": { - "type": "object", - "properties": { - "cloudConfig": { - "required": [ - "edgeHosts" - ], - "properties": { - "edgeHosts": { - "type": "array", - "uniqueItems": true, - "items": { - "required": [ - "hostUid" - ], - "properties": { - "hostUid": { - "type": "string" - } - } - } - } - } }, - "poolConfig": { - "description": "Machine pool configuration for the cluster", - "type": "object", - "required": [ - "name", - "size", - "labels" - ], - "properties": { - "additionalLabels": { - "description": "Additional labels to be part of the machine pool", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "additionalTags": { - "description": "AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "isControlPlane": { - "description": "Whether this pool is for control plane", - "type": "boolean", - "x-omitempty": false - }, - "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", - "type": "array", - "items": { - "type": "string" - } - }, - "machinePoolProperties": { - "description": "Machine pool specific properties", - "type": "object", - "properties": { - "archType": { - "type": "string", - "default": "amd64", - "enum": [ - "amd64", - "arm64" - ] - } - } - }, - "maxSize": { - "description": "Max size of the pool, for scaling", - "type": "integer", - "format": "int32" - }, - "minSize": { - "description": "Min size of the pool, for scaling", - "type": "integer", - "format": "int32" - }, - "name": { - "type": "string" - }, - "nodeRepaveInterval": { - "description": "Minimum number of seconds a node should be Ready, before the next node is selected for repave. Applicable only for workerpools in infrastructure cluster", - "type": "integer", - "format": "int32" - }, - "size": { - "description": "Size of the pool, number of nodes/machines", - "type": "integer", - "format": "int32" - }, - "taints": { - "description": "Master or worker taints", - "type": "array", - "uniqueItems": true, - "items": { - "description": "Taint", - "type": "object", - "properties": { - "effect": { - "type": "string", - "enum": [ - "NoSchedule", - "PreferNoSchedule", - "NoExecute" - ] - }, - "key": { - "description": "The taint key to be applied to a node", - "type": "string" - }, - "timeAdded": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, - "value": { - "description": "The taint value corresponding to the taint key.", - "type": "string" - } - } - } - }, - "updateStrategy": { - "description": "UpdatesStrategy will be used to translate to RollingUpdateStrategy of a MachineDeployment We'll start with default values for the translation, can expose more details later Following is details of parameters translated from the type ScaleOut =\u003e maxSurge=1, maxUnavailable=0 ScaleIn =\u003e maxSurge=0, maxUnavailable=1", - "type": "object", - "properties": { - "type": { - "description": "update strategy, either ScaleOut or ScaleIn if empty, will default to RollingUpdateScaleOut", - "type": "string", - "enum": [ - "RollingUpdateScaleOut", - "RollingUpdateScaleIn" - ] - } - } - }, - "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", - "type": "boolean", - "x-omitempty": false - } - } - } - } - } - }, - "policies": { - "description": "Cluster policies", - "type": "object", - "properties": { - "backupPolicy": { - "description": "Cluster backup config", - "properties": { - "backupLocationName": { - "type": "string" - }, - "backupLocationUid": { - "type": "string" - }, - "backupName": { - "type": "string" - }, - "backupPrefix": { - "type": "string" - }, - "durationInHours": { - "type": "number", - "format": "int64" - }, - "includeAllDisks": { - "type": "boolean" - }, - "includeClusterResources": { - "type": "boolean" - }, - "locationType": { - "type": "string" - }, - "namespaces": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - }, - "schedule": { - "description": "Cluster feature schedule", - "properties": { - "scheduledRunTime": { - "type": "string" - } - } - } - } - }, - "scanPolicy": { - "description": "Cluster compliance scan schedule configuration", - "properties": { - "kubeBench": { - "description": "Cluster compliance scan schedule config for kube bench driver", - "properties": { - "schedule": { - "description": "Cluster feature schedule", - "properties": { - "scheduledRunTime": { - "type": "string" - } - } - } - } - }, - "kubeHunter": { - "description": "Cluster compliance scan schedule config for kube hunter driver", - "properties": { - "schedule": { - "description": "Cluster feature schedule", - "properties": { - "scheduledRunTime": { - "type": "string" - } - } - } - } - }, - "sonobuoy": { - "description": "Cluster compliance scan schedule config for sonobuoy driver", - "properties": { - "schedule": { - "description": "Cluster feature schedule", - "properties": { - "scheduledRunTime": { - "type": "string" - } - } - } - } - } - } - } - } - }, - "profiles": { - "type": "array", - "items": { - "description": "Cluster profile request payload", - "type": "object", - "properties": { - "packValues": { - "description": "Cluster profile packs array", + "variables": { "type": "array", - "uniqueItems": true, "items": { - "description": "Pack values entity to refer the existing pack for the values override", + "description": "Variable with value which will be used within the packs of cluster profile", "type": "object", "required": [ "name" ], "properties": { - "manifests": { - "description": "Pack manifests are additional content as part of the profile", - "type": "array", - "items": { - "description": "Manifest update request payload", - "required": [ - "name" - ], - "properties": { - "content": { - "description": "Manifest content in yaml", - "type": "string" - }, - "name": { - "description": "Manifest name", - "type": "string" - }, - "uid": { - "description": "Manifest uid", - "type": "string" - } - } - } - }, "name": { - "description": "Pack name", - "type": "string" - }, - "tag": { - "description": "Pack version tag", - "type": "string" - }, - "type": { - "type": "string", - "default": "spectro", - "enum": [ - "spectro", - "helm", - "manifest", - "oci" - ] - }, - "values": { - "description": "Pack values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", - "type": "string" - } - } - } - }, - "replaceWithProfile": { - "description": "Cluster profile uid to be replaced with new profile", - "type": "string" - }, - "uid": { - "description": "Cluster profile uid", - "type": "string" - } - } - } - } - } - } - } - }, - "v1SpectroEdgeClusterImportEntity": { - "description": "Spectro Edge cluster import request payload", - "type": "object", - "properties": { - "metadata": { - "description": "ObjectMeta input entity for object creation", - "type": "object", - "properties": { - "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "name": { - "description": "Name of the resource.", - "type": "string" - } - } - }, - "spec": { - "type": "object", - "properties": { - "clusterConfig": { - "type": "object", - "properties": { - "importMode": { - "description": "If the importMode is empty then cluster is imported with full permission mode. By default importMode is empty and cluster is imported in full permission mode.", - "type": "string", - "enum": [ - "read-only" - ] - }, - "proxy": { - "description": "cluster proxy config spec", - "type": "object", - "properties": { - "caContainerMountPath": { - "description": "Location to mount Proxy CA cert inside container", - "type": "string" - }, - "caHostPath": { - "description": "Location for Proxy CA cert on host nodes", - "type": "string" - }, - "httpProxy": { - "description": "URL for HTTP requests unless overridden by NoProxy", - "type": "string" - }, - "httpsProxy": { - "description": "HTTPS requests unless overridden by NoProxy", - "type": "string" - }, - "noProxy": { - "description": "NoProxy represents the NO_PROXY or no_proxy environment", - "type": "string" - } - } - } - } - } - } - } - } - }, - "v1SpectroEdgeClusterRateEntity": { - "description": "Edge cluster request payload for estimating rate", - "type": "object", - "properties": { - "cloudConfig": { - "description": "EdgeClusterConfig defines Edge Cluster specific Spec", - "type": "object", - "properties": { - "sshKeys": { - "description": "SSHKeys specifies a list of ssh authorized keys to access the vms as a 'spectro' user", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "machinepoolconfig": { - "type": "array", - "items": { - "type": "object", - "properties": { - "cloudConfig": { - "required": [ - "edgeHosts" - ], - "properties": { - "edgeHosts": { - "type": "array", - "uniqueItems": true, - "items": { - "required": [ - "hostUid" - ], - "properties": { - "hostUid": { - "type": "string" - } - } - } - } - } - }, - "poolConfig": { - "description": "Machine pool configuration for the cluster", - "type": "object", - "required": [ - "name", - "size", - "labels" - ], - "properties": { - "additionalLabels": { - "description": "Additional labels to be part of the machine pool", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "additionalTags": { - "description": "AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "isControlPlane": { - "description": "Whether this pool is for control plane", - "type": "boolean", - "x-omitempty": false - }, - "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", - "type": "array", - "items": { - "type": "string" - } - }, - "machinePoolProperties": { - "description": "Machine pool specific properties", - "type": "object", - "properties": { - "archType": { - "type": "string", - "default": "amd64", - "enum": [ - "amd64", - "arm64" - ] - } - } - }, - "maxSize": { - "description": "Max size of the pool, for scaling", - "type": "integer", - "format": "int32" - }, - "minSize": { - "description": "Min size of the pool, for scaling", - "type": "integer", - "format": "int32" - }, - "name": { - "type": "string" - }, - "nodeRepaveInterval": { - "description": "Minimum number of seconds a node should be Ready, before the next node is selected for repave. Applicable only for workerpools in infrastructure cluster", - "type": "integer", - "format": "int32" - }, - "size": { - "description": "Size of the pool, number of nodes/machines", - "type": "integer", - "format": "int32" - }, - "taints": { - "description": "Master or worker taints", - "type": "array", - "uniqueItems": true, - "items": { - "description": "Taint", - "type": "object", - "properties": { - "effect": { - "type": "string", - "enum": [ - "NoSchedule", - "PreferNoSchedule", - "NoExecute" - ] - }, - "key": { - "description": "The taint key to be applied to a node", + "description": "Variable name", "type": "string" }, - "timeAdded": { - "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", - "type": "string", - "format": "date-time" - }, "value": { - "description": "The taint value corresponding to the taint key.", + "description": "Actual value of the variable to be used within the cluster", "type": "string" } } } - }, - "updateStrategy": { - "description": "UpdatesStrategy will be used to translate to RollingUpdateStrategy of a MachineDeployment We'll start with default values for the translation, can expose more details later Following is details of parameters translated from the type ScaleOut =\u003e maxSurge=1, maxUnavailable=0 ScaleIn =\u003e maxSurge=0, maxUnavailable=1", - "type": "object", - "properties": { - "type": { - "description": "update strategy, either ScaleOut or ScaleIn if empty, will default to RollingUpdateScaleOut", - "type": "string", - "enum": [ - "RollingUpdateScaleOut", - "RollingUpdateScaleIn" - ] - } - } - }, - "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", - "type": "boolean", - "x-omitempty": false } } } @@ -362002,7 +343493,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -362019,7 +343510,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -362031,11 +343522,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -362169,11 +343660,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -362187,11 +343678,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -362204,6 +343695,16 @@ } } }, + "lifecycleConfig": { + "properties": { + "pause": { + "description": "enable pause life cycle config", + "type": "boolean", + "default": false, + "x-omitempty": false + } + } + }, "location": { "description": "Cluster location information", "type": "object", @@ -362244,6 +343745,35 @@ } } }, + "machineManagementConfig": { + "type": "object", + "properties": { + "osPatchConfig": { + "type": "object", + "properties": { + "onDemandPatchAfter": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "patchOnBoot": { + "description": "PatchOnBoot indicates need to do patch when node first boot up, only once", + "type": "boolean", + "x-omitempty": false + }, + "rebootIfRequired": { + "description": "Reboot once the OS patch is applied", + "type": "boolean", + "x-omitempty": false + }, + "schedule": { + "description": "The schedule at which security patches will be applied to OS. Schedule should be in Cron format, see https://en.wikipedia.org/wiki/Cron for more help.", + "type": "string" + } + } + } + } + }, "resources": { "type": "object", "properties": { @@ -362567,7 +344097,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -362611,7 +344141,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -362657,7 +344187,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -362834,6 +344364,26 @@ "uid": { "description": "Cluster profile uid", "type": "string" + }, + "variables": { + "type": "array", + "items": { + "description": "Variable with value which will be used within the packs of cluster profile", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Variable name", + "type": "string" + }, + "value": { + "description": "Actual value of the variable to be used within the cluster", + "type": "string" + } + } + } } } } @@ -362851,21 +344401,21 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } @@ -363081,7 +344631,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -363125,7 +344675,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -363171,7 +344721,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -363191,7 +344741,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -363208,7 +344758,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -363220,11 +344770,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -363417,11 +344967,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -363435,11 +344985,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -364003,7 +345553,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -364047,7 +345597,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -364093,7 +345643,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -364270,6 +345820,26 @@ "uid": { "description": "Cluster profile uid", "type": "string" + }, + "variables": { + "type": "array", + "items": { + "description": "Variable with value which will be used within the packs of cluster profile", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Variable name", + "type": "string" + }, + "value": { + "description": "Actual value of the variable to be used within the cluster", + "type": "string" + } + } + } } } } @@ -364590,7 +346160,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -364634,7 +346204,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -364680,7 +346250,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -364700,7 +346270,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -364717,7 +346287,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -364729,11 +346299,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -364855,11 +346425,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -364873,11 +346443,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -365263,7 +346833,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -365307,7 +346877,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -365353,7 +346923,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -365530,6 +347100,26 @@ "uid": { "description": "Cluster profile uid", "type": "string" + }, + "variables": { + "type": "array", + "items": { + "description": "Variable with value which will be used within the packs of cluster profile", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Variable name", + "type": "string" + }, + "value": { + "description": "Actual value of the variable to be used within the cluster", + "type": "string" + } + } + } } } } @@ -365547,21 +347137,21 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } @@ -365727,7 +347317,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -365771,7 +347361,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -365817,7 +347407,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -365837,21 +347427,21 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } @@ -366019,7 +347609,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -366063,7 +347653,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -366109,7 +347699,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -366129,7 +347719,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -366146,7 +347736,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -366158,11 +347748,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -366286,21 +347876,21 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } @@ -366423,7 +348013,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -366440,7 +348030,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -366452,11 +348042,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -366609,7 +348199,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -366626,7 +348216,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -366638,11 +348228,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -366759,11 +348349,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -366777,11 +348367,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -367304,7 +348894,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -367348,7 +348938,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -367394,7 +348984,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -367571,6 +349161,26 @@ "uid": { "description": "Cluster profile uid", "type": "string" + }, + "variables": { + "type": "array", + "items": { + "description": "Variable with value which will be used within the packs of cluster profile", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Variable name", + "type": "string" + }, + "value": { + "description": "Actual value of the variable to be used within the cluster", + "type": "string" + } + } + } } } } @@ -367588,21 +349198,21 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } @@ -367909,7 +349519,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -367953,7 +349563,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -367999,7 +349609,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -368019,7 +349629,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -368036,7 +349646,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -368048,11 +349658,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -368158,11 +349768,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -368176,11 +349786,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -368568,7 +350178,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -368612,7 +350222,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -368658,7 +350268,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -368835,6 +350445,26 @@ "uid": { "description": "Cluster profile uid", "type": "string" + }, + "variables": { + "type": "array", + "items": { + "description": "Variable with value which will be used within the packs of cluster profile", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Variable name", + "type": "string" + }, + "value": { + "description": "Actual value of the variable to be used within the cluster", + "type": "string" + } + } + } } } } @@ -368852,21 +350482,21 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } @@ -369018,7 +350648,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -369062,7 +350692,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -369108,7 +350738,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -369128,7 +350758,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -369145,7 +350775,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -369157,11 +350787,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -369762,7 +351392,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -369779,7 +351409,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -369791,11 +351421,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -369951,11 +351581,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -369969,11 +351599,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -370298,7 +351928,7 @@ ], "properties": { "azs": { - "description": "for master pool, this will be the failure domains for kcp", + "description": "for control plane pool, this will be the failure domains for kcp", "type": "array", "items": { "type": "string" @@ -370377,7 +352007,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -370421,7 +352051,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -370467,7 +352097,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -370644,6 +352274,26 @@ "uid": { "description": "Cluster profile uid", "type": "string" + }, + "variables": { + "type": "array", + "items": { + "description": "Variable with value which will be used within the packs of cluster profile", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Variable name", + "type": "string" + }, + "value": { + "description": "Actual value of the variable to be used within the cluster", + "type": "string" + } + } + } } } } @@ -370661,21 +352311,21 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } @@ -370815,7 +352465,7 @@ ], "properties": { "azs": { - "description": "for master pool, this will be the failure domains for kcp", + "description": "for control plane pool, this will be the failure domains for kcp", "type": "array", "items": { "type": "string" @@ -370894,7 +352544,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -370938,7 +352588,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -370984,7 +352634,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -371054,7 +352704,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -371071,7 +352721,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -371083,11 +352733,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -371232,11 +352882,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -371250,11 +352900,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -371630,7 +353280,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -371674,7 +353324,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -371720,7 +353370,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -371897,6 +353547,26 @@ "uid": { "description": "Cluster profile uid", "type": "string" + }, + "variables": { + "type": "array", + "items": { + "description": "Variable with value which will be used within the packs of cluster profile", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Variable name", + "type": "string" + }, + "value": { + "description": "Actual value of the variable to be used within the cluster", + "type": "string" + } + } + } } } } @@ -372034,7 +353704,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -372078,7 +353748,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -372124,7 +353794,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -372144,7 +353814,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -372161,7 +353831,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -372173,11 +353843,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -372313,11 +353983,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -372331,11 +354001,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -372867,6 +354537,26 @@ "uid": { "description": "Cluster profile uid", "type": "string" + }, + "variables": { + "type": "array", + "items": { + "description": "Variable with value which will be used within the packs of cluster profile", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Variable name", + "type": "string" + }, + "value": { + "description": "Actual value of the variable to be used within the cluster", + "type": "string" + } + } + } } } } @@ -372884,7 +354574,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -372901,7 +354591,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -372913,11 +354603,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -373107,11 +354797,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -373125,11 +354815,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -373571,7 +355261,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -373615,7 +355305,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -373661,7 +355351,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -373838,6 +355528,26 @@ "uid": { "description": "Cluster profile uid", "type": "string" + }, + "variables": { + "type": "array", + "items": { + "description": "Variable with value which will be used within the packs of cluster profile", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Variable name", + "type": "string" + }, + "value": { + "description": "Actual value of the variable to be used within the cluster", + "type": "string" + } + } + } } } } @@ -373855,21 +355565,21 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } @@ -374157,7 +355867,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -374201,7 +355911,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -374247,7 +355957,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -375166,7 +356876,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -375183,7 +356893,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -375195,11 +356905,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -375308,21 +357018,21 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } @@ -375396,21 +357106,21 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } @@ -375539,7 +357249,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -375556,7 +357266,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -375568,11 +357278,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -376126,6 +357836,191 @@ } } }, + "v1SystemFeature": { + "type": "object", + "properties": { + "metadata": { + "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", + "type": "object", + "properties": { + "annotations": { + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "creationTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "deletionTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "labels": { + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "lastModifiedTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "name": { + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + }, + "uid": { + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", + "type": "string" + } + } + }, + "spec": { + "type": "object", + "properties": { + "description": { + "description": "Feature description", + "type": "string" + }, + "docLink": { + "description": "Feature doc link", + "type": "string" + }, + "isAllowed": { + "description": "Flag which specifies if feature is allowed or not", + "type": "boolean", + "x-omitempty": false + }, + "key": { + "description": "Unique Feature key", + "type": "string" + } + } + } + } + }, + "v1SystemFeatures": { + "type": "object", + "required": [ + "items" + ], + "properties": { + "items": { + "description": "List of system features", + "type": "array", + "uniqueItems": true, + "items": { + "type": "object", + "properties": { + "metadata": { + "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", + "type": "object", + "properties": { + "annotations": { + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "creationTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "deletionTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "labels": { + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "lastModifiedTimestamp": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "name": { + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + }, + "uid": { + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", + "type": "string" + } + } + }, + "spec": { + "type": "object", + "properties": { + "description": { + "description": "Feature description", + "type": "string" + }, + "docLink": { + "description": "Feature doc link", + "type": "string" + }, + "isAllowed": { + "description": "Flag which specifies if feature is allowed or not", + "type": "boolean", + "x-omitempty": false + }, + "key": { + "description": "Unique Feature key", + "type": "string" + } + } + } + } + } + } + } + }, + "v1SystemFeaturesOperation": { + "type": "object", + "properties": { + "isAllowed": { + "description": "Flag which specifies if feature is allowed or not", + "type": "boolean", + "x-omitempty": false + } + } + }, + "v1SystemFeaturesSpec": { + "type": "object", + "properties": { + "description": { + "description": "Feature description", + "type": "string" + }, + "docLink": { + "description": "Feature doc link", + "type": "string" + }, + "isAllowed": { + "description": "Flag which specifies if feature is allowed or not", + "type": "boolean", + "x-omitempty": false + }, + "key": { + "description": "Unique Feature key", + "type": "string" + } + } + }, "v1SystemFtpSpec": { "description": "system ftp config spec", "type": "object", @@ -376903,7 +358798,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -376920,7 +358815,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -376932,11 +358827,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -377810,7 +359705,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -377827,7 +359722,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -377839,11 +359734,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -378016,21 +359911,21 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } @@ -378198,7 +360093,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -378215,7 +360110,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -378227,11 +360122,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -378319,7 +360214,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -378336,7 +360231,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -378348,11 +360243,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -378526,7 +360421,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -378543,7 +360438,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -378555,11 +360450,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -378696,7 +360591,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -378713,7 +360608,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -378725,11 +360620,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -378807,7 +360702,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -378824,7 +360719,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -378836,11 +360731,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -378951,7 +360846,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -378968,7 +360863,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -378980,11 +360875,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -379093,7 +360988,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -379110,7 +361005,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -379122,11 +361017,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -379258,7 +361153,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -379275,7 +361170,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -379287,11 +361182,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -379555,7 +361450,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -379572,7 +361467,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -379584,11 +361479,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -379630,7 +361525,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -379647,7 +361542,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -379659,11 +361554,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -379817,7 +361712,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -379834,7 +361729,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -379846,11 +361741,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -380708,7 +362603,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -380725,7 +362620,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -380737,11 +362632,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -381016,11 +362911,11 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", + "description": "Cloud account api version", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the account.", + "description": "Cloud account kind", "type": "string" }, "metadata": { @@ -381028,7 +362923,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -381045,7 +362940,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -381057,11 +362952,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -381109,11 +363004,11 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", + "description": "Cloud account api version", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the account.", + "description": "Cloud account kind", "type": "string" }, "metadata": { @@ -381121,7 +363016,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -381138,7 +363033,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -381150,11 +363045,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -381356,7 +363251,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -381373,7 +363268,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -381385,11 +363280,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -381407,11 +363302,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -381538,7 +363433,7 @@ "type": "boolean" }, "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", + "description": "labels for this pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -381594,7 +363489,7 @@ } }, "taints": { - "description": "master or worker taints", + "description": "control plane or worker taints", "type": "array", "items": { "description": "Taint", @@ -381639,7 +363534,7 @@ } }, "useControlPlaneAsWorker": { - "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean" } } @@ -381662,11 +363557,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -381793,7 +363688,7 @@ "type": "boolean" }, "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", + "description": "labels for this pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -381849,7 +363744,7 @@ } }, "taints": { - "description": "master or worker taints", + "description": "control plane or worker taints", "type": "array", "items": { "description": "Taint", @@ -381894,7 +363789,7 @@ } }, "useControlPlaneAsWorker": { - "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean" } } @@ -382108,11 +364003,9 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -382120,7 +364013,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -382137,7 +364030,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -382149,11 +364042,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -382379,7 +364272,7 @@ "type": "boolean" }, "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", + "description": "labels for this pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -382435,7 +364328,7 @@ } }, "taints": { - "description": "master or worker taints", + "description": "control plane or worker taints", "type": "array", "items": { "description": "Taint", @@ -382480,7 +364373,7 @@ } }, "useControlPlaneAsWorker": { - "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean" } } @@ -382549,7 +364442,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -382593,7 +364486,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -382639,7 +364532,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -382722,11 +364615,9 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -382734,7 +364625,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -382751,7 +364642,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -382763,11 +364654,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -383645,7 +365536,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -383662,7 +365553,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -383674,11 +365565,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -383777,7 +365668,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -383794,7 +365685,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -383806,11 +365697,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -383835,21 +365726,21 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } @@ -383883,7 +365774,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -383900,7 +365791,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -383912,11 +365803,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -383954,21 +365845,21 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } @@ -384128,21 +366019,21 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } @@ -384176,6 +366067,10 @@ "type": "string" } } + }, + "projectId": { + "description": "GCP project id", + "type": "string" } } }, @@ -384220,6 +366115,10 @@ "type": "string" } } + }, + "projectId": { + "description": "GCP project id", + "type": "string" } } }, @@ -384242,21 +366141,21 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } @@ -384516,7 +366415,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -384533,7 +366432,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -384545,11 +366444,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -384600,7 +366499,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -384617,7 +366516,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -384629,11 +366528,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -384671,7 +366570,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -384688,7 +366587,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -384700,11 +366599,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -384878,7 +366777,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -384895,7 +366794,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -384907,11 +366806,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -385132,7 +367031,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -385149,7 +367048,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -385161,11 +367060,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -385250,7 +367149,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -385267,7 +367166,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -385279,11 +367178,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -385577,7 +367476,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -385594,7 +367493,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -385606,11 +367505,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -385756,7 +367655,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -385773,7 +367672,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -385785,11 +367684,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -385860,7 +367759,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -385877,7 +367776,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -385889,11 +367788,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -386077,7 +367976,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -386094,7 +367993,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -386106,11 +368005,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -386251,7 +368150,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -386268,7 +368167,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -386280,11 +368179,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -387828,11 +369727,11 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", "type": "string" }, "kind": { - "description": "Cloud type of the cloud config", + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", "type": "string" }, "metadata": { @@ -387840,7 +369739,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -387857,7 +369756,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -387869,11 +369768,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -388013,7 +369912,7 @@ "type": "boolean" }, "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", + "description": "labels for this pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -388055,7 +369954,7 @@ "format": "int32" }, "taints": { - "description": "master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -388101,7 +370000,7 @@ } }, "useControlPlaneAsWorker": { - "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean" } } @@ -388294,7 +370193,7 @@ "type": "boolean" }, "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", + "description": "labels for this pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -388336,7 +370235,7 @@ "format": "int32" }, "taints": { - "description": "master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -388382,7 +370281,7 @@ } }, "useControlPlaneAsWorker": { - "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean" } } @@ -388578,7 +370477,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -388595,7 +370494,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -388607,11 +370506,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -388805,7 +370704,7 @@ "type": "boolean" }, "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", + "description": "labels for this pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -388847,7 +370746,7 @@ "format": "int32" }, "taints": { - "description": "master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -388893,7 +370792,7 @@ } }, "useControlPlaneAsWorker": { - "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean" } } @@ -389792,7 +371691,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -389809,7 +371708,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -389821,11 +371720,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -404761,11 +386660,11 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", + "description": "Cloud account api version", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the account.", + "description": "Cloud account kind", "type": "string" }, "metadata": { @@ -404773,7 +386672,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -404790,7 +386689,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -404802,11 +386701,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -404862,11 +386761,11 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", + "description": "Cloud account api version", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the account.", + "description": "Cloud account kind", "type": "string" }, "metadata": { @@ -404874,7 +386773,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -404891,7 +386790,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -404903,11 +386802,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -405120,11 +387019,11 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", "type": "string" }, "kind": { - "description": "Cloud type of the cloud config", + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", "type": "string" }, "metadata": { @@ -405132,7 +387031,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -405149,7 +387048,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -405161,11 +387060,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -405187,11 +387086,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -405360,11 +387259,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -405411,11 +387310,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -405474,7 +387373,7 @@ "x-omitempty": false }, "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", + "description": "labels for this pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -405644,11 +387543,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -405680,7 +387579,7 @@ "format": "int32" }, "taints": { - "description": "master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -405726,7 +387625,7 @@ } }, "useControlPlaneAsWorker": { - "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -405841,11 +387740,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -406014,11 +387913,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -406065,11 +387964,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -406128,7 +388027,7 @@ "x-omitempty": false }, "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", + "description": "labels for this pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -406298,11 +388197,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -406334,7 +388233,7 @@ "format": "int32" }, "taints": { - "description": "master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -406380,7 +388279,7 @@ } }, "useControlPlaneAsWorker": { - "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -406688,11 +388587,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -406981,7 +388880,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -406998,7 +388897,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -407010,11 +388909,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -407106,7 +389005,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -407123,7 +389022,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -407135,11 +389034,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -407235,11 +389134,9 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -407247,7 +389144,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -407264,7 +389161,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -407276,11 +389173,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -407499,11 +389396,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -407748,7 +389645,7 @@ "x-omitempty": false }, "labels": { - "description": "labels for this pool, example: master/worker, gpu, windows", + "description": "labels for this pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -407918,11 +389815,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -407954,7 +389851,7 @@ "format": "int32" }, "taints": { - "description": "master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -408000,7 +389897,7 @@ } }, "useControlPlaneAsWorker": { - "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -408132,7 +390029,7 @@ "x-omitempty": false }, "labels": { - "description": "Labels for this machine pool, example: master/worker, gpu, windows", + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", "type": "array", "items": { "type": "string" @@ -408176,7 +390073,7 @@ "format": "int32" }, "taints": { - "description": "Master or worker taints", + "description": "control plane or worker taints", "type": "array", "uniqueItems": true, "items": { @@ -408222,7 +390119,7 @@ } }, "useControlPlaneAsWorker": { - "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools", + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", "type": "boolean", "x-omitempty": false } @@ -408444,11 +390341,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -408494,11 +390391,9 @@ "type": "object", "properties": { "apiVersion": { - "description": "Deprecated. Not used for the resource info.", "type": "string" }, "kind": { - "description": "Deprecated. Cloud type of the machine.", "type": "string" }, "metadata": { @@ -408506,7 +390401,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -408523,7 +390418,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -408535,11 +390430,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -408758,11 +390653,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -408998,11 +390893,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -409294,11 +391189,11 @@ "type": "string" }, "name": { - "description": "Name of the referent.", + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", "type": "string" }, "uid": { - "description": "UID of the referent.", + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", "type": "string" } } @@ -409389,7 +391284,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -409406,7 +391301,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -409418,11 +391313,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -409517,7 +391412,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -409534,7 +391429,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -409546,11 +391441,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -409810,7 +391705,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -409827,7 +391722,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -409839,11 +391734,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -412162,21 +394057,21 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } @@ -412300,21 +394195,21 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } @@ -412440,21 +394335,21 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } @@ -412599,21 +394494,21 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } @@ -412716,21 +394611,21 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } @@ -413001,21 +394896,21 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } @@ -413165,21 +395060,21 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } @@ -413305,21 +395200,21 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" } }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" } }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" } } @@ -413334,7 +395229,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -413351,7 +395246,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -413363,11 +395258,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -413462,7 +395357,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -413479,7 +395374,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -413491,11 +395386,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -414020,7 +395915,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -414037,7 +395932,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -414049,11 +395944,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } @@ -414595,7 +396490,7 @@ "type": "object", "properties": { "annotations": { - "description": "Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.", + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "type": "object", "additionalProperties": { "type": "string" @@ -414612,7 +396507,7 @@ "format": "date-time" }, "labels": { - "description": "Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag", + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", "additionalProperties": { "type": "string" @@ -414624,11 +396519,11 @@ "format": "date-time" }, "name": { - "description": "Name of the resource.", + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" }, "uid": { - "description": "UID is the unique identifier generated for the resource. This is not an input field for any request.", + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", "type": "string" } } diff --git a/docs/api-content/api-docs/v1/api.json b/docs/api-content/api-docs/v1/api.json index 79b47ddde2..d8375ff770 100644 --- a/docs/api-content/api-docs/v1/api.json +++ b/docs/api-content/api-docs/v1/api.json @@ -1 +1,82081 @@ -{"consumes":["application/json"],"definitions":{"URLEncodedBase64":{"format":"url-encoded-base64","type":"string"},"V1AwsAccountSts":{"description":"AWS cloud account sts","properties":{"accountId":{"description":"A 12-digit number, such as 123456789012, that uniquely identifies an AWS account","type":"string"},"externalId":{"description":"It can be passed to the AssumeRole API of the STS. It can be used in the condition element in a role's trust policy, allowing the role to be assumed only when a certain value is present in the external ID","type":"string"},"partition":{"$ref":"#/definitions/v1AwsPartition"}},"type":"object"},"V1AwsPropertiesValidateSpec":{"description":"AWS properties validate spec","properties":{"cloudAccountUid":{"type":"string"},"region":{"type":"string"},"sshKeyName":{"type":"string"}},"type":"object"},"V1EksPropertiesValidateSpec":{"description":"Eks properties validate spec","properties":{"cloudAccountUid":{"type":"string"},"name":{"type":"string"},"region":{"type":"string"},"sshKeyName":{"type":"string"},"subnets":{"items":{"type":"string"},"type":"array"},"vpcId":{"type":"string"}},"type":"object"},"V1GcpPropertiesValidateSpec":{"description":"Gcp properties validate spec","properties":{"azs":{"items":{"type":"string"},"type":"array"},"cloudAccountUid":{"type":"string"},"projectId":{"type":"string"},"region":{"type":"string"}},"type":"object"},"V1PasswordsBlockList":{"description":"List of blocklisted passwords","properties":{"spec":{"$ref":"#/definitions/v1PasswordsBlockListEntity"}},"type":"object"},"urlEncodedBase64":{"format":"url-encoded-base64","type":"string"},"v1.AzureAccountEntitySpec":{"properties":{"clientCloud":{"default":"public","description":"Contains configuration for Azure cloud","enum":["azure-china","azure-government","public"],"type":"string"},"clientId":{"type":"string"},"clientSecret":{"type":"string"},"subscriptionId":{"type":"string"},"tenantId":{"type":"string"}},"type":"object"},"v1.CloudWatchConfig":{"description":"Cloud watch config entity","properties":{"credentials":{"$ref":"#/definitions/v1AwsCloudAccount"},"group":{"description":"Name of the group","type":"string"},"region":{"description":"Name of the region","type":"string"},"stream":{"description":"Name of the stream","type":"string"}},"type":"object"},"v1.DataSinkCloudWatchConfig":{"description":"Data sink cloud watch config","properties":{"payload":{"$ref":"#/definitions/v1.DataSinkPayloads"},"spec":{"$ref":"#/definitions/v1.CloudWatchConfig"}},"type":"object"},"v1.DataSinkPayload":{"additionalProperties":{"type":"object"},"description":"Data sink payload entity","properties":{"refUid":{"description":"RefUid of the data sink payload","type":"string"},"timestamp":{"$ref":"#/definitions/v1Time"}},"type":"object"},"v1.DataSinkPayloads":{"description":"List of data sink payload entities","items":{"$ref":"#/definitions/v1.DataSinkPayload"},"type":"array","uniqueItems":true},"v1.GcpAccountEntitySpec":{"properties":{"jsonCredentials":{"type":"string"},"jsonCredentialsFileUid":{"type":"string"}},"type":"object"},"v1AADProfile":{"description":"AADProfile - AAD integration is managed by AKS.","properties":{"adminGroupObjectIDs":{"description":"AdminGroupObjectIDs - AAD group object IDs that will have admin role of the cluster.","items":{"type":"string"},"type":"array"},"managed":{"description":"Managed - Whether to enable managed AAD.","type":"boolean","x-omitempty":false}},"required":["managed","adminGroupObjectIDs"],"type":"object"},"v1APIEndpoint":{"description":"APIEndpoint represents a reachable Kubernetes API endpoint.","properties":{"host":{"description":"The hostname on which the API server is serving.","type":"string"},"port":{"description":"The port on which the API server is serving.","format":"int32","type":"integer"}},"required":["host","port"],"type":"object"},"v1APIServerAccessProfile":{"description":"APIServerAccessProfile - access profile for AKS API server.","properties":{"authorizedIPRanges":{"description":"AuthorizedIPRanges - Authorized IP Ranges to kubernetes API server.","items":{"default":"","type":"string"},"type":"array"},"enablePrivateCluster":{"description":"EnablePrivateCluster - Whether to create the cluster as a private cluster or not.","type":"boolean"},"enablePrivateClusterPublicFQDN":{"description":"EnablePrivateClusterPublicFQDN - Whether to create additional public FQDN for private cluster or not.","type":"boolean"},"privateDNSZone":{"description":"PrivateDNSZone - Private dns zone mode for private cluster.","type":"string"}},"type":"object"},"v1AWSVolumeTypes":{"description":"AWS Volume Types","properties":{"volumeTypes":{"items":{"$ref":"#/definitions/v1AwsVolumeType"},"type":"array"}},"type":"object"},"v1AclMeta":{"description":"Resource access control information (Read-only response data)","properties":{"ownerUid":{"description":"User or service uid which created the resource","type":"string"},"projectUid":{"description":"Project's uid if the resource is under a project","type":"string"},"tenantUid":{"description":"Tenant's uid","type":"string"}},"type":"object"},"v1ActiveTenantResources":{"description":"Active resources of tenant","properties":{"activeResources":{"additionalProperties":{"items":{"type":"string"},"type":"array"},"type":"object"}},"type":"object"},"v1Address":{"description":"Tenant Address","properties":{"addressLine1":{"type":"string"},"addressLine2":{"type":"string"},"city":{"type":"string"},"country":{"type":"string"},"pincode":{"type":"string"},"state":{"type":"string"}},"type":"object"},"v1Alert":{"properties":{"channels":{"items":{"$ref":"#/definitions/v1Channel"},"type":"array"},"component":{"type":"string"}},"type":"object"},"v1AlertEntity":{"properties":{"channels":{"items":{"$ref":"#/definitions/v1Channel"},"type":"array"}},"type":"object"},"v1AlertNotificationStatus":{"properties":{"isSucceeded":{"type":"boolean","x-omitempty":false},"message":{"type":"string"},"time":{"$ref":"#/definitions/v1Time"}},"type":"object"},"v1Alerts":{"items":{"$ref":"#/definitions/v1Alert"},"type":"array"},"v1ApiEndpoint":{"description":"APIEndpoint represents a reachable Kubernetes API endpoint.","properties":{"host":{"description":"The hostname on which the API server is serving.","type":"string"},"port":{"description":"The port on which the API server is serving.","format":"int32","type":"integer"}},"required":["host","port"],"type":"object"},"v1ApiKey":{"description":"API key information","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1ApiKeySpec"},"status":{"$ref":"#/definitions/v1ApiKeyStatus"}},"type":"object"},"v1ApiKeyActiveState":{"properties":{"isActive":{"description":"API key active state","type":"boolean"}}},"v1ApiKeyCreateResponse":{"description":"Response of create API key","properties":{"apiKey":{"description":"Api key is used for authentication","type":"string"},"uid":{"description":"User uid","type":"string"}},"type":"object"},"v1ApiKeyEntity":{"description":"API key request payload","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1ApiKeySpecEntity"}},"type":"object"},"v1ApiKeySpec":{"description":"API key specification","properties":{"expiry":{"$ref":"#/definitions/v1Time","description":"API key expiry date"},"key":{"description":"Deprecated: API key field will be no longer available","type":"string"},"user":{"$ref":"#/definitions/v1ApiKeyUser","description":"User to whom the API key is created"}},"type":"object"},"v1ApiKeySpecEntity":{"description":"API key specification","properties":{"expiry":{"$ref":"#/definitions/v1Time","description":"API key expiry date"},"userUid":{"description":"User to whom the API key has to be created","type":"string"}},"type":"object"},"v1ApiKeySpecUpdate":{"description":"API key update request specification","properties":{"expiry":{"$ref":"#/definitions/v1Time","description":"API key expiry date"}}},"v1ApiKeyStatus":{"description":"API key status","properties":{"isActive":{"description":"API key active state","type":"boolean"}},"type":"object"},"v1ApiKeyUpdate":{"description":"API key update request payload","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1ApiKeySpecUpdate"}},"type":"object"},"v1ApiKeyUser":{"description":"API key user information","properties":{"firstName":{"description":"First name of user","type":"string"},"lastName":{"description":"Last name of user","type":"string"},"uid":{"description":"User uid","type":"string"}},"type":"object"},"v1ApiKeys":{"properties":{"items":{"description":"List of API keys","items":{"$ref":"#/definitions/v1ApiKey"},"type":"array","uniqueItems":true}},"required":["items"],"type":"object"},"v1ApiProfiler":{"properties":{"api":{"type":"string"},"endTime":{"format":"date-time","type":"string"},"ops":{"items":{"type":"string"},"type":"array"},"requestUid":{"type":"string"},"startTime":{"format":"date-time","type":"string"},"timeTaken":{"format":"int64","type":"integer"}},"type":"object"},"v1AppDeployment":{"description":"Application deployment response","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1AppDeploymentSpec"},"status":{"$ref":"#/definitions/v1AppDeploymentStatus"}},"type":"object"},"v1AppDeploymentClusterGroupConfigEntity":{"description":"Application deployment cluster group config","properties":{"targetSpec":{"$ref":"#/definitions/v1AppDeploymentClusterGroupTargetSpec"}},"type":"object"},"v1AppDeploymentClusterGroupEntity":{"description":"Application deployment cluster group request payload","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMetaInputEntity"},"spec":{"$ref":"#/definitions/v1AppDeploymentClusterGroupSpec"}},"type":"object"},"v1AppDeploymentClusterGroupSpec":{"description":"Application deployment cluster group spec","properties":{"config":{"$ref":"#/definitions/v1AppDeploymentClusterGroupConfigEntity"},"profile":{"$ref":"#/definitions/v1AppDeploymentProfileEntity"}},"type":"object"},"v1AppDeploymentClusterGroupTargetSpec":{"description":"Application deployment cluster group target spec","properties":{"clusterGroupUid":{"description":"Application deployment cluster group uid","type":"string"},"clusterLimits":{"$ref":"#/definitions/v1AppDeploymentTargetClusterLimits"},"clusterName":{"description":"Application deployment virtual cluster name","type":"string"}},"required":["clusterName","clusterGroupUid"],"type":"object"},"v1AppDeploymentClusterHealth":{"description":"Application deployment cluster health status","properties":{"state":{"type":"string"}}},"v1AppDeploymentClusterRef":{"description":"Application deployment cluster reference","properties":{"deploymentClusterType":{"description":"Application deployment source cluster type[ \"virtualCluster\", \"hostCluster\" ]","enum":["virtual","host"],"type":"string"},"name":{"description":"Application deployment cluster name","type":"string"},"uid":{"description":"Application deployment cluster uid","type":"string"}},"type":"object"},"v1AppDeploymentClusterRefSummary":{"description":"Application deployment cluster reference","properties":{"deploymentClusterType":{"description":"Application deployment source cluster type[ \"virtualCluster\", \"hostCluster\" ]","enum":["virtual","host"],"type":"string"},"name":{"description":"Application deployment source cluster name","type":"string"},"uid":{"description":"Application deployment source cluster uid","type":"string"}}},"v1AppDeploymentClusterStatus":{"description":"Application deployment cluster status","properties":{"health":{"$ref":"#/definitions/v1AppDeploymentClusterHealth"},"state":{"type":"string"}}},"v1AppDeploymentConfig":{"description":"Application deployment config response","properties":{"target":{"$ref":"#/definitions/v1AppDeploymentTargetConfig"}},"type":"object"},"v1AppDeploymentConfigSummary":{"description":"Application deployment config summary","properties":{"target":{"$ref":"#/definitions/v1AppDeploymentTargetConfigSummary"}}},"v1AppDeploymentFilterSpec":{"description":"Application deployment filter spec","properties":{"appDeploymentName":{"$ref":"#/definitions/v1FilterString"},"clusterUids":{"$ref":"#/definitions/v1FilterArray"},"tags":{"$ref":"#/definitions/v1FilterArray"}}},"v1AppDeploymentNotifications":{"description":"Application deployment notifications","properties":{"isAvailable":{"type":"boolean","x-omitempty":false}}},"v1AppDeploymentProfile":{"description":"Application deployment profile","properties":{"metadata":{"$ref":"#/definitions/v1AppDeploymentProfileMeta"},"template":{"$ref":"#/definitions/v1AppProfileTemplate"}},"type":"object"},"v1AppDeploymentProfileEntity":{"description":"Application deployment profile request payload","properties":{"appProfileUid":{"description":"Application deployment profile uid","type":"string"}},"required":["appProfileUid"],"type":"object"},"v1AppDeploymentProfileMeta":{"description":"Application deployment profile metadata","properties":{"name":{"description":"Application deployment profile name","type":"string"},"uid":{"description":"Application deployment profile uid","type":"string"},"version":{"description":"Application deployment profile version","type":"string"}},"type":"object"},"v1AppDeploymentProfileMetadataSummary":{"description":"Application deployment profile metadata summary","properties":{"name":{"type":"string"},"uid":{"type":"string"},"version":{"type":"string"}}},"v1AppDeploymentProfileSpec":{"description":"Application deployment profile spec","properties":{"metadata":{"$ref":"#/definitions/v1AppDeploymentProfileMeta"},"template":{"$ref":"#/definitions/v1AppProfileTemplateSpec"}},"type":"object"},"v1AppDeploymentProfileSummary":{"description":"Application deployment profile summary","properties":{"metadata":{"$ref":"#/definitions/v1AppDeploymentProfileMetadataSummary"},"template":{"$ref":"#/definitions/v1AppProfileTemplateSummary"}}},"v1AppDeploymentProfileVersion":{"description":"Application deployment profile version","properties":{"uid":{"description":"Application deployment profile uid","type":"string"},"version":{"description":"Application deployment profile version","type":"string"}},"type":"object"},"v1AppDeploymentProfileVersions":{"description":"Application deployment profile versions","properties":{"availableVersions":{"description":"Application deployment profile available versions","items":{"$ref":"#/definitions/v1AppDeploymentProfileVersion"},"type":"array"},"latestVersions":{"description":"Application deployment profile latest versions","items":{"$ref":"#/definitions/v1AppDeploymentProfileVersion"},"type":"array"},"metadata":{"$ref":"#/definitions/v1AppDeploymentProfileMeta"}},"type":"object"},"v1AppDeploymentSortFields":{"enum":["appDeploymentName","creationTimestamp","lastModifiedTimestamp"],"type":"string","x-nullable":true},"v1AppDeploymentSortSpec":{"properties":{"field":{"$ref":"#/definitions/v1AppDeploymentSortFields"},"order":{"$ref":"#/definitions/v1SortOrder"}}},"v1AppDeploymentSpec":{"description":"Application deployment spec","properties":{"config":{"$ref":"#/definitions/v1AppDeploymentConfig"},"profile":{"$ref":"#/definitions/v1AppDeploymentProfile"}},"type":"object"},"v1AppDeploymentStatus":{"description":"Application deployment status","properties":{"appTiers":{"description":"Application deployment tiers","items":{"$ref":"#/definitions/v1ClusterPackStatus"},"type":"array"},"lifecycleStatus":{"$ref":"#/definitions/v1LifecycleStatus"},"state":{"description":"Application deployment state [ \"Pending\", \"Deploying\", \"Deployed\", \"Updating\" ]","type":"string"}},"type":"object"},"v1AppDeploymentStatusSummary":{"description":"Application deployment status summary","properties":{"cluster":{"$ref":"#/definitions/v1AppDeploymentClusterStatus"},"notifications":{"$ref":"#/definitions/v1AppDeploymentNotifications"},"state":{"type":"string"}},"type":"object"},"v1AppDeploymentSummary":{"description":"Application deployment summary","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"description":"Application deployment spec summary","properties":{"config":{"$ref":"#/definitions/v1AppDeploymentConfigSummary"},"profile":{"$ref":"#/definitions/v1AppDeploymentProfileSummary"}},"type":"object"},"status":{"$ref":"#/definitions/v1AppDeploymentStatusSummary"}},"type":"object"},"v1AppDeploymentTargetClusterLimits":{"description":"Application deployment target cluster limits","properties":{"cpu":{"description":"CPU cores","format":"int32","type":"integer"},"memoryMiB":{"description":"Memory in MiB","format":"int32","type":"integer"},"storageGiB":{"description":"Storage in GiB","format":"int32","type":"integer"}}},"v1AppDeploymentTargetConfig":{"description":"Application deployment target config response","properties":{"clusterRef":{"$ref":"#/definitions/v1AppDeploymentClusterRef"},"envRef":{"$ref":"#/definitions/v1AppDeploymentTargetEnvironmentRef"}},"type":"object"},"v1AppDeploymentTargetConfigSummary":{"description":"Application deployment target config summary","properties":{"clusterRef":{"$ref":"#/definitions/v1AppDeploymentClusterRefSummary"}}},"v1AppDeploymentTargetEnvironmentRef":{"description":"Application deployment target environment reference","properties":{"name":{"description":"Application deployment target resource name","type":"string"},"type":{"description":"Application deployment target resource type [ \"nestedCluster\", \"clusterGroup\" ]","type":"string"},"uid":{"description":"Application deployment target resource uid","type":"string"}},"type":"object"},"v1AppDeploymentVirtualClusterConfigEntity":{"description":"Application deployment virtual cluster config","properties":{"targetSpec":{"$ref":"#/definitions/v1AppDeploymentVirtualClusterTargetSpec"}},"type":"object"},"v1AppDeploymentVirtualClusterEntity":{"description":"Application deployment virtual cluster request payload","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMetaInputEntity"},"spec":{"$ref":"#/definitions/v1AppDeploymentVirtualClusterSpec"}},"type":"object"},"v1AppDeploymentVirtualClusterSpec":{"description":"Application deployment virtual cluster spec","properties":{"config":{"$ref":"#/definitions/v1AppDeploymentVirtualClusterConfigEntity"},"profile":{"$ref":"#/definitions/v1AppDeploymentProfileEntity"}},"type":"object"},"v1AppDeploymentVirtualClusterTargetSpec":{"description":"Application deployment virtual cluster target spec","properties":{"clusterUid":{"description":"Application deployment virtual cluster uid","type":"string"}},"required":["clusterUid"],"type":"object"},"v1AppDeploymentsFilterSpec":{"description":"Application deployment filter summary spec","properties":{"filter":{"$ref":"#/definitions/v1AppDeploymentFilterSpec"},"sort":{"items":{"$ref":"#/definitions/v1AppDeploymentSortSpec"},"type":"array","uniqueItems":true}}},"v1AppDeploymentsSummary":{"properties":{"appDeployments":{"items":{"$ref":"#/definitions/v1AppDeploymentSummary"},"type":"array","uniqueItems":true},"listmeta":{"$ref":"#/definitions/v1ListMetaData"}},"type":"object"},"v1AppFeatureFreemium":{"description":"Freemium information","properties":{"activeClustersLimit":{"type":"integer","x-omitempty":false},"isFreemium":{"type":"boolean","x-omitempty":false},"overageUsageLimit":{"format":"float64","type":"number","x-omitempty":false},"totalUsageLimit":{"format":"float64","type":"number","x-omitempty":false}}},"v1AppFeatures":{"description":"System app features","properties":{"developerCredit":{"$ref":"#/definitions/v1DeveloperCredit"},"freeCloudCredit":{"type":"boolean","x-omitempty":false},"freemium":{"$ref":"#/definitions/v1AppFeatureFreemium"}}},"v1AppProfile":{"description":"Application profile response","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"properties":{"parentUid":{"description":"Application profile parent profile uid","type":"string"},"template":{"$ref":"#/definitions/v1AppProfileTemplate"},"version":{"description":"Application profile version","type":"string"},"versions":{"description":"Application profile versions list","items":{"$ref":"#/definitions/v1AppProfileVersion"},"type":"array"}},"type":"object"},"status":{"description":"Application profile status","properties":{"inUseApps":{"description":"Application profile apps array","items":{"$ref":"#/definitions/v1ObjectResReference"},"type":"array"}},"type":"object"}},"type":"object"},"v1AppProfileCloneEntity":{"description":"Application profile clone request payload","properties":{"metadata":{"$ref":"#/definitions/v1AppProfileCloneMetaInputEntity"}},"type":"object"},"v1AppProfileCloneMetaInputEntity":{"description":"Application profile clone metadata","properties":{"name":{"description":"Application profile name","type":"string"},"target":{"$ref":"#/definitions/v1AppProfileCloneTarget"},"version":{"description":"Application profile version","type":"string"}},"required":["name"],"type":"object"},"v1AppProfileCloneTarget":{"description":"Application profile clone target","properties":{"projectUid":{"description":"Application profile clone target project uid","type":"string"}},"type":"object"},"v1AppProfileEntity":{"description":"Application profile request payload","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMetaInputEntity"},"spec":{"description":"Application profile spec","properties":{"template":{"$ref":"#/definitions/v1AppProfileTemplateEntity"},"version":{"description":"Application profile version","type":"string"}},"type":"object"}},"type":"object"},"v1AppProfileFilterSpec":{"description":"Application profile filter spec","properties":{"profileName":{"$ref":"#/definitions/v1FilterString"},"tags":{"$ref":"#/definitions/v1FilterArray"},"version":{"$ref":"#/definitions/v1FilterVersionString"}}},"v1AppProfileMetaEntity":{"description":"Application profile metadata request payload","properties":{"metadata":{"$ref":"#/definitions/v1AppProfileMetaUpdateEntity"},"version":{"description":"Application profile version","type":"string"}},"required":["metadata"],"type":"object"},"v1AppProfileMetaUpdateEntity":{"description":"Application profile metadata update request payload","properties":{"annotations":{"additionalProperties":{"type":"string"},"description":"Application profile annotations","type":"object"},"labels":{"additionalProperties":{"type":"string"},"description":"Application profile labels","type":"object"}},"type":"object"},"v1AppProfileMetadata":{"description":"Application profile metadata summary","properties":{"metadata":{"$ref":"#/definitions/v1ObjectEntity"},"spec":{"properties":{"version":{"type":"string"}}}},"type":"object"},"v1AppProfileSortFields":{"enum":["profileName","creationTimestamp","lastModifiedTimestamp"],"type":"string","x-nullable":true},"v1AppProfileSortSpec":{"properties":{"field":{"$ref":"#/definitions/v1AppProfileSortFields"},"order":{"$ref":"#/definitions/v1SortOrder"}}},"v1AppProfileSummary":{"description":"Application profile summary","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"description":"Application profile spec summary","properties":{"parentUid":{"type":"string"},"template":{"$ref":"#/definitions/v1AppProfileTemplateSummary"},"version":{"type":"string"},"versions":{"description":"Application profile's list of all the versions","items":{"$ref":"#/definitions/v1AppProfileVersion"},"type":"array"}},"type":"object"}},"type":"object"},"v1AppProfileTemplate":{"description":"Application profile template information","properties":{"appTiers":{"description":"Application profile tiers","items":{"$ref":"#/definitions/v1AppTierRef"},"type":"array","uniqueItems":true},"registryRefs":{"description":"Application profile registries reference","items":{"$ref":"#/definitions/v1ObjectReference"},"type":"array"}},"type":"object"},"v1AppProfileTemplateEntity":{"description":"Application profile template spec","properties":{"appTiers":{"description":"Application profile tiers","items":{"$ref":"#/definitions/v1AppTierEntity"},"type":"array","uniqueItems":true}},"type":"object"},"v1AppProfileTemplateSpec":{"description":"Application profile template specs","properties":{"appTiers":{"description":"Application profile tiers","items":{"$ref":"#/definitions/v1AppTier"},"type":"array","uniqueItems":true},"registryRefs":{"description":"Application profile registries reference","items":{"$ref":"#/definitions/v1ObjectReference"},"type":"array"}},"type":"object"},"v1AppProfileTemplateSummary":{"description":"Application profile template summary","properties":{"appTiers":{"items":{"$ref":"#/definitions/v1AppTierSummary"},"type":"array"}},"type":"object"},"v1AppProfileTiers":{"description":"Application profile tiers information","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1AppProfileTiersSpec"}},"type":"object"},"v1AppProfileTiersSpec":{"description":"Application profile tiers information","properties":{"appTiers":{"description":"Application profile tiers","items":{"$ref":"#/definitions/v1AppTier"},"type":"array","uniqueItems":true}},"type":"object"},"v1AppProfileVersion":{"description":"Application profile version","properties":{"uid":{"type":"string"},"version":{"type":"string"}},"type":"object"},"v1AppProfilesFilterSpec":{"description":"Application profile filter summary spec","properties":{"filter":{"$ref":"#/definitions/v1AppProfileFilterSpec"},"sort":{"items":{"$ref":"#/definitions/v1AppProfileSortSpec"},"type":"array","uniqueItems":true}}},"v1AppProfilesMetadata":{"properties":{"appProfiles":{"items":{"$ref":"#/definitions/v1AppProfileMetadata"},"type":"array","uniqueItems":true}},"type":"object"},"v1AppProfilesSummary":{"properties":{"appProfiles":{"items":{"$ref":"#/definitions/v1AppProfileSummary"},"type":"array","uniqueItems":true},"listmeta":{"$ref":"#/definitions/v1ListMetaData"}},"type":"object"},"v1AppTier":{"properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1AppTierSpec"}}},"v1AppTierEntity":{"description":"Application tier request payload","properties":{"containerRegistryUid":{"description":"Application tier container registry uid","type":"string"},"installOrder":{"description":"Application tier installation order","format":"int32","type":"integer"},"manifests":{"description":"Application tier manifests","items":{"$ref":"#/definitions/v1ManifestInputEntity"},"type":"array"},"name":{"description":"Application tier name","type":"string"},"properties":{"description":"Application tier properties","items":{"$ref":"#/definitions/v1AppTierPropertyEntity"},"type":"array"},"registryUid":{"description":"Application tier registry uid","type":"string"},"sourceAppTierUid":{"description":"Application tier source pack uid","type":"string"},"type":{"$ref":"#/definitions/v1AppTierType"},"values":{"description":"Application tier configuration values in yaml format","type":"string"},"version":{"description":"Application tier version","type":"string"}},"required":["name"],"type":"object"},"v1AppTierManifests":{"description":"Application tier manifests data","properties":{"manifests":{"description":"Application tier manifests array","items":{"$ref":"#/definitions/v1Manifest"},"type":"array"}}},"v1AppTierPatchEntity":{"description":"Application tier patch request payload","properties":{"appTier":{"$ref":"#/definitions/v1AppTierEntity"},"replaceWithAppTier":{"description":"Application tier UID to be replaced with new tier","type":"string"}}},"v1AppTierProperty":{"description":"Application tier property object","properties":{"format":{"description":"Application tier property format","type":"string"},"name":{"description":"Application tier property name","type":"string"},"type":{"description":"Application tier property data type","type":"string"},"value":{"description":"Application tier property value","type":"string"}}},"v1AppTierPropertyEntity":{"description":"Application tier property object","properties":{"name":{"description":"Application tier property name","type":"string"},"value":{"description":"Application tier property value","type":"string"}}},"v1AppTierRef":{"description":"Application tier reference","properties":{"name":{"description":"Application tier name","type":"string"},"type":{"$ref":"#/definitions/v1AppTierType"},"uid":{"description":"Application tier uid to uniquely identify the tier","type":"string"},"version":{"description":"Application tier version","type":"string"}},"type":"object"},"v1AppTierResolvedValues":{"description":"Application tier resolved macro values","properties":{"resolved":{"additionalProperties":{"type":"string"},"description":"Application tier resolved macro values map","type":"object"}}},"v1AppTierSourceSummary":{"description":"Application profile's tier source information","properties":{"addonSubType":{"type":"string"},"addonType":{"type":"string"},"logoUrl":{"type":"string"},"name":{"type":"string"},"type":{"type":"string"},"uid":{"type":"string"}}},"v1AppTierSpec":{"description":"Application tier specs","properties":{"containerRegistryUid":{"description":"Application tier container registry uid","type":"string"},"installOrder":{"description":"Application tier installation order","format":"int32","type":"integer"},"manifests":{"description":"Application tier attached manifest content in yaml format","items":{"$ref":"#/definitions/v1ObjectReference"},"type":"array"},"properties":{"description":"Application tier properties","items":{"$ref":"#/definitions/v1AppTierProperty"},"type":"array"},"registryUid":{"description":"Registry uid","type":"string"},"sourceAppTierUid":{"description":"Application tier source pack uid","type":"string"},"type":{"$ref":"#/definitions/v1AppTierType","description":"Application tier type"},"values":{"description":"Application tier configuration values in yaml format","type":"string"},"version":{"description":"Application tier version","type":"string"}},"type":"object"},"v1AppTierSummary":{"description":"Application profile's tier summary","properties":{"name":{"type":"string"},"source":{"$ref":"#/definitions/v1AppTierSourceSummary"},"type":{"type":"string"},"uid":{"type":"string"},"version":{"type":"string"}}},"v1AppTierType":{"default":"manifest","enum":["manifest","helm","operator-instance","container"],"type":"string"},"v1AppTierUpdateEntity":{"description":"Application tier update request payload","properties":{"containerRegistryUid":{"description":"Application tier container registry uid","type":"string"},"installOrder":{"description":"Application tier installation order","format":"int32","type":"integer"},"manifests":{"description":"Application tier manifests","items":{"$ref":"#/definitions/v1ManifestRefUpdateEntity"},"type":"array"},"name":{"description":"Application tier name","type":"string"},"properties":{"description":"Application tier properties","items":{"$ref":"#/definitions/v1AppTierPropertyEntity"},"type":"array"},"values":{"description":"Application tier configuration values in yaml format","type":"string"},"version":{"description":"Application tier version","type":"string"}},"type":"object"},"v1AppVersion":{"description":"spectro application management app version information","properties":{"intermediateVersions":{"items":{"$ref":"#/definitions/v1ReleaseVersion"},"type":"array","uniqueItems":true},"latestVerson":{"$ref":"#/definitions/v1ReleaseVersion"}}},"v1ArchType":{"default":"amd64","enum":["amd64","arm64"],"type":"string"},"v1AsyncOperationIdEntity":{"description":"Async operation id","properties":{"operationId":{"description":"OperationId for a particular sync operation id","type":"string"}},"type":"object"},"v1AsyncResult":{"properties":{"data":{"type":"object"},"error":{"type":"string"},"isSuccess":{"type":"boolean"}},"type":"object"},"v1AsyncStatus":{"properties":{"endTime":{"$ref":"#/definitions/v1Time"},"result":{"$ref":"#/definitions/v1AsyncResult","type":"object"},"stage":{"type":"string"},"startTime":{"$ref":"#/definitions/v1Time"}},"type":"object"},"v1Audit":{"description":"Audit response payload","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1AuditSpec"}},"type":"object"},"v1AuditActor":{"description":"Audit actor object","properties":{"actorType":{"enum":["user","system","service"],"type":"string"},"project":{"$ref":"#/definitions/v1ProjectMeta"},"serviceName":{"type":"string"},"user":{"$ref":"#/definitions/v1UserMeta"}}},"v1AuditMsgUpdate":{"description":"Audit user message update request payload","properties":{"userMsg":{"description":"User message","maxLength":255,"minLength":3,"type":"string"}},"type":"object"},"v1AuditResourceReference":{"description":"Audit resource reference object","properties":{"kind":{"description":"Audit resource type","type":"string"},"label":{"description":"Audit resource label","type":"string"},"name":{"description":"Audit resource name","type":"string"},"uid":{"description":"Audit resource uid","type":"string"}},"required":["uid"],"type":"object"},"v1AuditSpec":{"description":"Audit specifications","properties":{"actionMsg":{"description":"Audit action message","type":"string"},"actionType":{"enum":["create","update","delete","publish","deploy"],"type":"string"},"actor":{"$ref":"#/definitions/v1AuditActor"},"contentMsg":{"description":"Audit content message","type":"string"},"resource":{"$ref":"#/definitions/v1AuditResourceReference"},"userMsg":{"description":"Audit user message","type":"string"}}},"v1AuditSysMsg":{"description":"Audit system message","properties":{"actionMsg":{"description":"Audit resource action message","type":"string"},"contentMsg":{"description":"Audit resource content message","type":"string"}},"type":"object"},"v1Audits":{"properties":{"items":{"description":"List of audit message","items":{"$ref":"#/definitions/v1Audit"},"type":"array","uniqueItems":true},"listmeta":{"$ref":"#/definitions/v1ListMetaData"}},"required":["items"],"type":"object"},"v1AuthAllyTokenRequest":{"properties":{"edgeAuthToken":{"type":"string"},"edgeHostUid":{"type":"string"},"spectroClusterUid":{"type":"string"}},"type":"object"},"v1AuthCertsGet":{"description":"Auth certs get","properties":{"caCert":{"type":"string","x-omitempty":false},"insecureSkipVerify":{"type":"boolean","x-omitempty":false}}},"v1AuthEdgeJetKeyRequest":{"properties":{"edgeAuthToken":{"type":"string"},"edgeHostUid":{"type":"string"},"spectroClusterUid":{"type":"string"}},"required":["edgeAuthToken","edgeHostUid"],"type":"object"},"v1AuthJetKeyRequest":{"properties":{"allyAuthToken":{"type":"string"},"hostClusterUid":{"type":"string"}},"required":["allyAuthToken","hostClusterUid"],"type":"object"},"v1AuthLogin":{"description":"Describes the credential details required for authentication","properties":{"emailId":{"description":"Describes the email id required for the user to authenticate","type":"string"},"org":{"description":"Describes the user's organization name to login","type":"string"},"password":{"description":"Describes the password required for the user to authenticate","format":"password","type":"string"}},"type":"object"},"v1AuthLoginEntity":{"description":"Auth login entity","properties":{"authType":{"enum":["password","sso"],"type":"string"},"orgName":{"type":"string"},"redirectUrl":{"type":"string","x-omitempty":false}},"type":"object"},"v1AuthLogins":{"description":"Deprecated. Applicable auth logins with multiple orgs","properties":{"appEnv":{"type":"string"},"authType":{"description":"Deprecated.","enum":["password","sso"],"type":"string"},"orgName":{"description":"Deprecated.","type":"string"},"orgs":{"items":{"$ref":"#/definitions/v1AuthLoginEntity"},"type":"array"},"redirectUrl":{"description":"Deprecated.","type":"string","x-omitempty":false}},"type":"object"},"v1AuthMfaLoginFinishRequest":{"properties":{"_type":{"type":"string"},"authenticatorAttachment":{"type":"string"},"clientExtensionResults":{"additionalProperties":{"type":"object"},"type":"object"},"deviceName":{"type":"string"},"id":{"type":"string"},"rawId":{"$ref":"#/definitions/urlEncodedBase64"},"response":{"properties":{"authenticatorData":{"$ref":"#/definitions/urlEncodedBase64"},"clientDataJSON":{"$ref":"#/definitions/urlEncodedBase64"},"signature":{"$ref":"#/definitions/urlEncodedBase64"},"userHandle":{"$ref":"#/definitions/urlEncodedBase64"}},"type":"object"}},"type":"object"},"v1AuthServiceTokenRequest":{"properties":{"authKey":{"type":"string"},"edgeHostUid":{"type":"string"},"hostClusterUid":{"type":"string"},"isSystem":{"type":"boolean"},"jetUid":{"type":"string"},"overlordUid":{"type":"string"},"serviceVersion":{"type":"string"},"spectroClusterUid":{"type":"string"},"tenantUid":{"type":"string"}},"type":"object"},"v1AuthServiceTokenResponse":{"properties":{"token":{"type":"string"}},"type":"object"},"v1AuthShellyLoginRequest":{"properties":{"secret":{"type":"string"}},"type":"object"},"v1AuthToken":{"properties":{"token":{"type":"string"}},"type":"object"},"v1AuthTokenRevoke":{"properties":{"tokens":{"items":{"type":"string"},"type":"array","uniqueItems":true}}},"v1AuthTokenSettings":{"description":"System auth token settings","properties":{"expiryTimeMinutes":{"description":"Auth token expiry time in minutes","format":"int32","maximum":1440,"minimum":15,"type":"integer","x-omitempty":false}}},"v1AwsAMI":{"properties":{"id":{"type":"string"},"os":{"type":"string"},"region":{"type":"string"},"state":{"type":"string"}},"type":"object"},"v1AwsAccount":{"description":"Aws cloud account information","properties":{"apiVersion":{"description":"Deprecated. Not used for the resource info.","type":"string"},"kind":{"description":"Deprecated. Cloud type of the account.","type":"string"},"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1AwsCloudAccount"},"status":{"$ref":"#/definitions/v1CloudAccountStatus"}},"type":"object"},"v1AwsAccounts":{"description":"List of AWS accounts","properties":{"items":{"items":{"$ref":"#/definitions/v1AwsAccount"},"type":"array","uniqueItems":true},"listmeta":{"$ref":"#/definitions/v1ListMetaData"}},"required":["items"],"type":"object"},"v1AwsAmiReference":{"description":"AMI is the reference to the AMI from which to create the machine instance","properties":{"eksOptimizedLookupType":{"description":"EKSOptimizedLookupType If specified, will look up an EKS Optimized image in SSM Parameter store","enum":["AmazonLinux","AmazonLinuxGPU"],"type":"string"},"id":{"description":"ID of resource","type":"string"}},"type":"object"},"v1AwsAvailabilityZone":{"description":"Distinct locations within an AWS Region that are engineered to be isolated from failures in other Zones","properties":{"name":{"description":"AWS availability zone name","type":"string"},"state":{"description":"AWS availability zone state","type":"string"},"zoneId":{"description":"AWS availability zone id","type":"string"}},"type":"object"},"v1AwsAvailabilityZones":{"properties":{"zones":{"description":"List of AWS Zones","items":{"$ref":"#/definitions/v1AwsAvailabilityZone"},"type":"array"}},"required":["zones"],"type":"object"},"v1AwsCloudAccount":{"description":"AWS cloud account which includes access key and secret key in case of 'secret' credentials type. It includes policyARNS, ARN and externalId in case of sts. Partition is a group of AWS Region and Service objects","properties":{"accessKey":{"description":"AWS account access key","type":"string"},"credentialType":{"$ref":"#/definitions/v1AwsCloudAccountCredentialType"},"partition":{"default":"aws","description":"AWS accounts are scoped to a single partition. Allowed values [aws, aws-us-gov], Default values","enum":["aws","aws-us-gov"],"type":"string"},"policyARNs":{"description":"List of policy ARNs required in case of credentialType sts.","items":{"type":"string"},"type":"array"},"secretKey":{"description":"AWS account secret key","type":"string"},"sts":{"$ref":"#/definitions/v1AwsStsCredentials","description":"AWS STS credentials in case of credentialType sts, will be empty in case of credential type secret"}},"type":"object"},"v1AwsCloudAccountCredentialType":{"default":"secret","description":"Allowed Values [secret, sts]. STS type will be used for role assumption for sts type, accessKey/secretKey contains the source account, Arn is the target account.","enum":["secret","sts"],"type":"string"},"v1AwsCloudClusterConfigEntity":{"description":"AWS cloud cluster config entity","properties":{"clusterConfig":{"$ref":"#/definitions/v1AwsClusterConfig"}},"type":"object"},"v1AwsCloudConfig":{"description":"AwsCloudConfig is the Schema for the awscloudconfigs API","properties":{"apiVersion":{"description":"Deprecated. Not used for the resource info. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources","type":"string"},"kind":{"description":"Cloud type of the cloud config","type":"string"},"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1AwsCloudConfigSpec"},"status":{"$ref":"#/definitions/v1AwsCloudConfigStatus"}},"type":"object"},"v1AwsCloudConfigSpec":{"description":"AwsCloudConfigSpec defines the cloud configuration input by user This will translate to clusterspec/machinespec for cluster-api","properties":{"cloudAccountRef":{"$ref":"#/definitions/v1ObjectReference","description":"cloudAccountRef should point to the secret which contains AwsCloudAccount"},"clusterConfig":{"$ref":"#/definitions/v1AwsClusterConfig"},"machinePoolConfig":{"items":{"$ref":"#/definitions/v1AwsMachinePoolConfig"},"type":"array"}},"type":"object"},"v1AwsCloudConfigStatus":{"description":"AwsCloudConfigStatus defines the observed state of AwsCloudConfig The cloudimage info built by Mold is stored here image should be mapped to a specific machinepool","properties":{"ansibleRoleDigest":{"description":"For mold controller to identify if is there any changes in Pack","type":"string"},"conditions":{"items":{"$ref":"#/definitions/v1ClusterCondition"},"type":"array"},"images":{"description":"Images array items should be 1-to-1 mapping to Spec.MachinePoolConfig","items":{"$ref":"#/definitions/v1AwsAMI"},"type":"array"},"isAddonLayer":{"description":"addon layers present in spc","type":"boolean"},"roleDigest":{"additionalProperties":{"type":"string"},"description":"this map will be for ansible roles present in eack pack","type":"object"},"sourceImageId":{"description":"sourceImageId, it can be from packref's annotations or from pack.json","type":"string"},"useCapiImage":{"description":"PackerVariableDigest string `json:\"packerDigest,omitempty\"` If no ansible roles found in Packs then Mold should tell Drive to use capi image and not create custom image, because there is nothing to add","type":"boolean"}},"type":"object"},"v1AwsCloudCostSpec":{"description":"Aws cloud account usage cost payload spec","properties":{"accountId":{"description":"AccountId of AWS cloud cost","type":"string"},"credentials":{"$ref":"#/definitions/v1AwsCloudAccount"},"filter":{"$ref":"#/definitions/v1AwsCloudCostSpecFilter"}},"required":["credentials"],"type":"object"},"v1AwsCloudCostSpecFilter":{"description":"Aws cloud account usage cost payload filter. startTime and endTime should be within 12 months range from now.","properties":{"endTime":{"$ref":"#/definitions/v1Time"},"iamUserId":{"description":"IAM UserId of AWS account","type":"string"},"startTime":{"$ref":"#/definitions/v1Time"}},"required":["startTime"],"type":"object"},"v1AwsCloudCostSummary":{"description":"AWS cloud account usage cost summary response data","properties":{"cost":{"$ref":"#/definitions/v1AwsCloudCostSummaryCloudCost"}},"type":"object"},"v1AwsCloudCostSummaryCloudCost":{"description":"AWS cloud account usage cost summary of monthlyCosts and totalCost","properties":{"monthlyCosts":{"description":"Monthly cost of AWS cost","items":{"$ref":"#/definitions/v1AwsCloudCostSummaryMonthlyCost"},"type":"array"},"total":{"description":"Total cost of AWS cost","format":"float64","type":"number","x-omitempty":false}},"type":"object"},"v1AwsCloudCostSummaryMonthlyCost":{"properties":{"amount":{"description":"Amount for aws cloud cost","format":"float64","type":"number","x-omitempty":false},"timestamp":{"description":"Time duration for aws cloud cost","type":"integer"}},"type":"object"},"v1AwsClusterConfig":{"description":"Cluster level configuration for aws cloud and applicable for all the machine pools","properties":{"bastionDisabled":{"description":"Create bastion node option we have earlier supported creation of bastion by default capa seems to favour session manager against bastion node https://github.com/kubernetes-sigs/cluster-api-provider-aws/issues/947","type":"boolean"},"controlPlaneLoadBalancer":{"description":"ControlPlaneLoadBalancer specifies how API server elb will be configured, this field is optional, not provided, \"\", default =\u003e \"Internet-facing\" \"Internet-facing\" =\u003e \"Internet-facing\" \"internal\" =\u003e \"internal\" For spectro saas setup we require to talk to the apiserver from our cluster so ControlPlaneLoadBalancer should be \"\", not provided or \"Internet-facing\"","type":"string"},"region":{"type":"string"},"sshKeyName":{"type":"string"},"vpcId":{"description":"VPC Id to deploy cluster into should have one public and one private subnet for the the cluster creation, this field is optional, If VPC Id is not provided a fully managed VPC will be created","type":"string"}},"required":["region"],"type":"object"},"v1AwsCreditAccount":{"properties":{"creditLimitInDollars":{"format":"float64","type":"number"},"loginCredentials":{"$ref":"#/definitions/v1AwsLoginCredentials"},"userCloudAccount":{"$ref":"#/definitions/v1AwsUserCloudAccount"}},"type":"object"},"v1AwsCreditAccountEntity":{"properties":{"creditLimitInDollars":{"format":"float64","type":"number","x-omitempty":false},"creditUsedInDollars":{"format":"float64","type":"number","x-omitempty":false},"loginCredentials":{"$ref":"#/definitions/v1AwsLoginCredentials"},"userCloudAccount":{"$ref":"#/definitions/v1AwsUserCloudAccount"}},"type":"object"},"v1AwsFindImageRequest":{"description":"AWS image name and credentials","properties":{"amiName":{"description":"AWS image ami name","type":"string"},"awsAccount":{"$ref":"#/definitions/v1AwsCloudAccount"}},"type":"object"},"v1AwsIamPolicy":{"description":"Aws policy","properties":{"arn":{"type":"string"},"policyId":{"type":"string"},"policyName":{"type":"string"}},"type":"object"},"v1AwsImage":{"description":"AWS image name and ami","properties":{"id":{"description":"AWS image id","type":"string"},"name":{"description":"AWS image name","type":"string"},"owner":{"description":"AWS image owner id","type":"string"}},"type":"object"},"v1AwsInstanceTypes":{"description":"List of AWS instance types","properties":{"instanceTypes":{"items":{"$ref":"#/definitions/v1InstanceType"},"type":"array"}},"type":"object"},"v1AwsKeyPairs":{"description":"List of AWS keypairs","properties":{"keyNames":{"description":"Array of Aws Keypair names","items":{"type":"string"},"type":"array"}},"type":"object"},"v1AwsKmsKey":{"description":"AWS KMS Key - gives you centralized control over the cryptographic keys used to protect your data.","properties":{"keyAlias":{"description":"AWS KMS alias","type":"string"},"keyArn":{"description":"AWS KMS arn","type":"string"},"keyId":{"description":"AWS KMS keyid","type":"string"}},"required":["keyId","keyArn"],"type":"object"},"v1AwsKmsKeyEntity":{"description":"List of AWS Keys","properties":{"awsAccountId":{"description":"The twelve-digit account ID of the Amazon Web Services account that owns the KMS key","type":"string"},"enabled":{"description":"Specifies whether the KMS key is enabled.","type":"boolean"},"keyId":{"description":"The globally unique identifier for the KMS key","type":"string"}},"type":"object"},"v1AwsKmsKeys":{"description":"List of AWS Keys","properties":{"kmsKeys":{"items":{"$ref":"#/definitions/v1AwsKmsKey"},"type":"array"}},"required":["kmsKeys"],"type":"object"},"v1AwsLaunchTemplate":{"description":"AWSLaunchTemplate specifies the launch template to use to create the managed node group","properties":{"additionalSecurityGroups":{"description":"AdditionalSecurityGroups is an array of references to security groups that should be applied to the instances","items":{"$ref":"#/definitions/v1AwsResourceReference"},"type":"array","uniqueItems":true},"ami":{"$ref":"#/definitions/v1AwsAmiReference"},"imageLookupBaseOS":{"description":"ImageLookupBaseOS is the name of the base operating system to use for image lookup the AMI is not set","type":"string"},"imageLookupFormat":{"description":"ImageLookupFormat is the AMI naming format to look up the image","type":"string"},"imageLookupOrg":{"description":"ImageLookupOrg is the AWS Organization ID to use for image lookup if AMI is not set","type":"string"},"rootVolume":{"$ref":"#/definitions/v1AwsRootVolume"}},"type":"object"},"v1AwsLoginCredentials":{"properties":{"iamUser":{"type":"string"},"password":{"format":"password","type":"string"}},"type":"object"},"v1AwsMachine":{"description":"AWS cloud VM definition","properties":{"apiVersion":{"description":"Deprecated. Not used for the resource info.","type":"string"},"kind":{"description":"Deprecated. Cloud type of the machine.","type":"string"},"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1AwsMachineSpec"},"status":{"$ref":"#/definitions/v1CloudMachineStatus"}},"type":"object"},"v1AwsMachinePoolCloudConfigEntity":{"properties":{"additionalSecurityGroups":{"description":"Additional Security groups","items":{"$ref":"#/definitions/v1AwsResourceReference"},"type":"array"},"azs":{"items":{"type":"string"},"type":"array"},"capacityType":{"default":"on-demand","description":"EC2 instance capacity type","enum":["on-demand","spot"],"type":"string"},"instanceType":{"description":"instance type","type":"string"},"rootDeviceSize":{"description":"rootDeviceSize in GBs","format":"int64","maximum":2000,"minimum":1,"type":"integer"},"spotMarketOptions":{"$ref":"#/definitions/v1SpotMarketOptions","description":"SpotMarketOptions allows users to configure instances to be run using AWS Spot instances."},"subnets":{"items":{"$ref":"#/definitions/v1AwsSubnetEntity"},"type":"array"}},"required":["instanceType"],"type":"object"},"v1AwsMachinePoolConfig":{"properties":{"additionalLabels":{"additionalProperties":{"type":"string"},"description":"additionalLabels","type":"object"},"additionalSecurityGroups":{"description":"Additional Security groups","items":{"$ref":"#/definitions/v1AwsResourceReference"},"type":"array"},"additionalTags":{"additionalProperties":{"type":"string"},"description":"AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole","type":"object"},"azs":{"description":"AZs is only used for dynamic placement","items":{"type":"string"},"type":"array"},"capacityType":{"default":"on-demand","description":"EC2 instance capacity type","enum":["on-demand","spot"],"type":"string"},"instanceConfig":{"$ref":"#/definitions/v1InstanceConfig"},"instanceType":{"description":"instance type","type":"string"},"isControlPlane":{"description":"whether this pool is for control plane","type":"boolean","x-omitempty":false},"labels":{"description":"labels for this pool, example: master/worker, gpu, windows","items":{"type":"string"},"type":"array"},"machinePoolProperties":{"$ref":"#/definitions/v1MachinePoolProperties"},"maxSize":{"description":"max size of the pool, for scaling","format":"int32","type":"integer"},"minSize":{"description":"min size of the pool, for scaling","format":"int32","type":"integer"},"name":{"type":"string"},"nodeRepaveInterval":{"description":"Minimum number of seconds a node should be Ready, before the next node is selected for repave. Applicable only for workerpools in infrastructure cluster","format":"int32","type":"integer"},"rootDeviceSize":{"description":"rootDeviceSize in GBs","format":"int64","type":"integer"},"size":{"description":"size of the pool, number of machines","format":"int32","type":"integer"},"spotMarketOptions":{"$ref":"#/definitions/v1SpotMarketOptions","description":"SpotMarketOptions allows users to configure instances to be run using AWS Spot instances."},"subnetIds":{"additionalProperties":{"type":"string"},"description":"AZ to subnet mapping filled by ally from hubble SubnetIDs [\"us-west-2d\"] = \"subnet-079b6061\" This field is optional If we don't provide a subnetId then by default the first private subnet from the AZ will be picked up for deployment","type":"object"},"taints":{"description":"master or worker taints","items":{"$ref":"#/definitions/v1Taint"},"type":"array","uniqueItems":true},"updateStrategy":{"$ref":"#/definitions/v1UpdateStrategy","description":"rolling update strategy for this machinepool if not specified, will use ScaleOut"},"useControlPlaneAsWorker":{"description":"if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools","type":"boolean","x-omitempty":false}},"required":["isControlPlane"],"type":"object"},"v1AwsMachinePoolConfigEntity":{"properties":{"cloudConfig":{"$ref":"#/definitions/v1AwsMachinePoolCloudConfigEntity"},"poolConfig":{"$ref":"#/definitions/v1MachinePoolConfigEntity"}},"required":["cloudConfig"],"type":"object"},"v1AwsMachineSpec":{"description":"AWS cloud VM definition spec","properties":{"additionalSecurityGroups":{"description":"Additional Security groups","items":{"$ref":"#/definitions/v1AwsResourceReference"},"type":"array"},"ami":{"type":"string"},"az":{"type":"string"},"dnsName":{"type":"string"},"iamProfile":{"type":"string"},"instanceType":{"type":"string"},"nics":{"items":{"$ref":"#/definitions/v1AwsNic"},"type":"array"},"phase":{"type":"string"},"sshKeyName":{"type":"string"},"subnetId":{"type":"string"},"type":{"type":"string"},"vpcId":{"type":"string"}},"required":["instanceType","vpcId","ami"],"type":"object"},"v1AwsMachines":{"description":"AWS machine list","properties":{"items":{"items":{"$ref":"#/definitions/v1AwsMachine"},"type":"array","uniqueItems":true},"listmeta":{"$ref":"#/definitions/v1ListMetaData"}},"required":["items"],"type":"object"},"v1AwsNic":{"description":"AWS network interface","properties":{"index":{"format":"int8","type":"integer"},"privateIPs":{"items":{"type":"string"},"type":"array"},"publicIp":{"type":"string"}},"type":"object"},"v1AwsPartition":{"default":"aws","description":"AWS accounts are scoped to a single partition. Allowed values [aws, aws-us-gov], Default values","enum":["aws","aws-us-gov"],"type":"string"},"v1AwsPolicies":{"properties":{"policies":{"items":{"$ref":"#/definitions/v1AwsIamPolicy"},"type":"array"}},"required":["policies"],"type":"object"},"v1AwsPolicyArnsSpec":{"description":"Aws policy ARNs spec","properties":{"account":{"$ref":"#/definitions/v1AwsCloudAccount"},"policyArns":{"items":{"type":"string"},"type":"array"}},"required":["policyArns","account"],"type":"object"},"v1AwsRegion":{"description":"AWS region which represents separate geographic area.","properties":{"endpoint":{"description":"AWS offer a regional endpoint that can used to make requests","type":"string"},"name":{"description":"Name of the AWS region","type":"string"},"optInStatus":{"description":"Enable your account to operate in the particular regions","type":"string"}},"type":"object"},"v1AwsRegions":{"properties":{"regions":{"description":"List of AWS regions","items":{"$ref":"#/definitions/v1AwsRegion"},"type":"array"}},"required":["regions"],"type":"object"},"v1AwsResourceFilter":{"description":"Filter is a filter used to identify an AWS resource","properties":{"name":{"description":"Name of the filter. Filter names are case-sensitive","type":"string"},"values":{"description":"Values includes one or more filter values. Filter values are case-sensitive","items":{"type":"string"},"type":"array","uniqueItems":true}},"type":"object"},"v1AwsResourceReference":{"description":"AWSResourceReference is a reference to a specific AWS resource by ID or filters","properties":{"arn":{"description":"ARN of resource","type":"string"},"filters":{"description":"Filters is a set of key/value pairs used to identify a resource","items":{"$ref":"#/definitions/v1AwsResourceFilter"},"type":"array","uniqueItems":true},"id":{"description":"ID of resource","type":"string"}},"type":"object"},"v1AwsRootVolume":{"description":"Volume encapsulates the configuration options for the storage device.","properties":{"deviceName":{"description":"Device name","type":"string"},"encrypted":{"description":"EncryptionKey is the KMS key to use to encrypt the volume. Can be either a KMS key ID or ARN","type":"boolean"},"encryptionKey":{"description":"EncryptionKey is the KMS key to use to encrypt the volume. Can be either a KMS key ID or ARN","type":"string"},"iops":{"description":"IOPS is the number of IOPS requested for the disk. Not applicable to all types","format":"int64","type":"integer"},"throughput":{"description":"Throughput to provision in MiB/s supported for the volume type. Not applicable to all types.","format":"int64","type":"integer"},"type":{"description":"Type is the type of the volume (e.g. gp2, io1, etc...)","type":"string"}},"type":"object"},"v1AwsS3BucketCredentials":{"description":"AWS S3 Bucket credentials","properties":{"bucket":{"description":"Name of AWS S3 bucket","type":"string"},"credentials":{"$ref":"#/definitions/v1AwsCloudAccount"},"folder":{"description":"Name of the folder in the specified AWS S3 bucket.","type":"string"},"region":{"description":"Name of the available AWS region.","type":"string"}},"required":["credentials","bucket","region"],"type":"object"},"v1AwsSecurityGroups":{"properties":{"groups":{"items":{"$ref":"#/definitions/v1AwsSecuritygroup"},"type":"array"}},"required":["groups"],"type":"object"},"v1AwsSecuritygroup":{"description":"Aws security group","properties":{"groupId":{"type":"string"},"groupName":{"type":"string"},"ownerId":{"type":"string"}},"type":"object"},"v1AwsStorageTypes":{"properties":{"storageTypes":{"description":"List of AWS storage types","items":{"$ref":"#/definitions/v1StorageType"},"type":"array"}},"type":"object"},"v1AwsStsCredentials":{"description":"Aws sts credentials","properties":{"arn":{"description":"Arn for the aws sts credentials in cloud account","type":"string"},"externalId":{"description":"ExternalId for the aws sts credentials in cloud account","type":"string"}},"type":"object"},"v1AwsSubnet":{"description":"A subnet is a range of IP addresses in a AWS VPC","properties":{"az":{"description":"Every subnet can only be associated with only one Availability Zone","type":"string"},"isPrivate":{"description":"Is this subnet private","type":"boolean"},"mapPublicIpOnLaunch":{"description":"Indicates whether instances launched in this subnet receive a public IPv4 address.","type":"boolean","x-omitempty":false},"name":{"description":"Name of the subnet","type":"string"},"subnetId":{"description":"Id of the subnet","type":"string"}}},"v1AwsSubnetEntity":{"properties":{"az":{"type":"string"},"id":{"type":"string"}}},"v1AwsUserCloudAccount":{"properties":{"accountId":{"type":"string"},"cloudAccount":{"$ref":"#/definitions/v1AwsCloudAccount"}}},"v1AwsVolumeSize":{"description":"AWS Volume Size entity","properties":{"sizeGB":{"description":"AWS volume size","type":"integer"}},"type":"object"},"v1AwsVolumeType":{"description":"AWS Volume Type entity","properties":{"id":{"description":"AWS volume type id","type":"string"},"maxIops":{"description":"Iops through put of volume type","type":"string"},"maxThroughPut":{"description":"Max through put of volume type","type":"string"},"name":{"description":"AWS Volume Type Name","type":"string"}},"type":"object"},"v1AwsVpc":{"description":"A virtual network dedicated to a AWS account","properties":{"cidrBlock":{"type":"string"},"name":{"description":"Name of the virtual network","type":"string"},"subnets":{"description":"List of subnets associated to a AWS VPC","items":{"$ref":"#/definitions/v1AwsSubnet"},"type":"array"},"vpcId":{"description":"Id of the virtual network","type":"string"}},"required":["vpcId"],"type":"object"},"v1AwsVpcs":{"description":"List of AWS VPCs","properties":{"vpcs":{"items":{"$ref":"#/definitions/v1AwsVpc"},"type":"array"}},"required":["vpcs"],"type":"object"},"v1AzValidateEntity":{"description":"Az validate entity","properties":{"azs":{"description":"Gcp Azs","items":{"type":"string"},"type":"array"},"project":{"description":"Gcp project","type":"string"},"region":{"description":"Gcp region","type":"string"},"uid":{"description":"Cloud account uid","type":"string"}},"type":"object"},"v1AzureAccount":{"description":"Azure account information","properties":{"apiVersion":{"description":"Deprecated. Not used for the resource info.","type":"string"},"kind":{"description":"Deprecated. Cloud type of the account.","type":"string"},"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1AzureCloudAccount"},"status":{"$ref":"#/definitions/v1CloudAccountStatus"}},"type":"object"},"v1AzureAccounts":{"properties":{"items":{"items":{"$ref":"#/definitions/v1AzureAccount"},"type":"array","uniqueItems":true},"listmeta":{"$ref":"#/definitions/v1ListMetaData"}},"required":["items"],"type":"object"},"v1AzureAvailabilityZone":{"description":"Azure availability zone","properties":{"name":{"description":"Azure availability zone name","type":"string"}},"type":"object"},"v1AzureCloudAccount":{"properties":{"azureEnvironment":{"default":"AzurePublicCloud","description":"Contains configuration for Azure cloud","enum":["AzureChinaCloud","AzurePublicCloud","AzureUSGovernment","AzureUSGovernmentCloud"],"type":"string"},"clientId":{"description":"Client ID(Directory ID) is a unique identifier generated by Azure AD that is tied to an application","type":"string"},"clientSecret":{"description":"ClientSecret is the secret associated with Client","type":"string"},"settings":{"$ref":"#/definitions/v1CloudAccountSettings","description":"Palette internal cloud settings"},"tenantId":{"description":"Tenant ID is the ID for the Azure AD tenant that the user belongs to.","type":"string"},"tenantName":{"description":"Tenant ID is the ID for the Azure AD tenant that the user belongs to.","type":"string"}},"required":["tenantId","clientId","clientSecret"],"type":"object"},"v1AzureCloudClusterConfigEntity":{"description":"Azure cloud cluster config entity","properties":{"clusterConfig":{"$ref":"#/definitions/v1AzureClusterConfig"}},"type":"object"},"v1AzureCloudConfig":{"description":"AzureCloudConfig is the Schema for the azurecloudconfigs API","properties":{"apiVersion":{"description":"Deprecated. Not used for the resource info. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources","type":"string"},"kind":{"description":"Cloud type of the cloud config","type":"string"},"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1AzureCloudConfigSpec"},"status":{"$ref":"#/definitions/v1AzureCloudConfigStatus"}},"type":"object"},"v1AzureCloudConfigSpec":{"description":"AzureCloudConfigSpec defines the cloud configuration input by user This will translate to clusterspec/machinespec for cluster-api","properties":{"cloudAccountRef":{"$ref":"#/definitions/v1ObjectReference","description":"cloudAccountRef should point to the secret which contains AzureCloudAccount"},"clusterConfig":{"$ref":"#/definitions/v1AzureClusterConfig"},"machinePoolConfig":{"items":{"$ref":"#/definitions/v1AzureMachinePoolConfig"},"type":"array"}},"type":"object"},"v1AzureCloudConfigStatus":{"description":"AzureCloudConfigStatus defines the observed state of AzureCloudConfig The cloudimage info built by Mold is stored here image should be mapped to a specific machinepool","properties":{"ansibleRoleDigest":{"description":"For mold controller to identify if is there any changes in Pack","type":"string"},"conditions":{"description":"spectroAnsibleProvisioner: should be added only once, subsequent recocile will use the same provisioner SpectroAnsiblePacker bool `json:\"spectroAnsiblePacker,omitempty\"`","items":{"$ref":"#/definitions/v1ClusterCondition"},"type":"array"},"images":{"$ref":"#/definitions/v1AzureImage","description":"Images array items should be 1-to-1 mapping to Spec.MachinePoolConfig"},"isAddonLayer":{"description":"addon layers present in spc","type":"boolean"},"roleDigest":{"additionalProperties":{"type":"string"},"description":"this map will be for ansible roles present in eack pack","type":"object"},"sourceImageId":{"description":"sourceImageId, it can be from packref's annotations or from pack.json","type":"string"},"useCapiImage":{"description":"PackerVariableDigest string `json:\"packerDigest,omitempty\"` If no ansible roles found in Packs then Mold should tell Drive to use capi image and not create custom image, because there is nothing to add","type":"boolean"},"vhdImage":{"$ref":"#/definitions/v1AzureVHDImage"}},"type":"object"},"v1AzureClusterConfig":{"description":"Cluster level configuration for Azure cloud and applicable for all the machine pools","properties":{"aadProfile":{"$ref":"#/definitions/v1AADProfile","description":"AadProfile is Azure Active Directory configuration to integrate with AKS for aad authentication."},"apiServerAccessProfile":{"$ref":"#/definitions/v1APIServerAccessProfile","description":"APIServerAccessProfile is the access profile for AKS API server."},"containerName":{"type":"string"},"controlPlaneSubnet":{"$ref":"#/definitions/v1Subnet","description":"Subnet for Kubernetes control-plane node"},"enablePrivateCluster":{"description":"Deprecated. use apiServerAccessProfile.enablePrivateCluster","type":"boolean"},"infraLBConfig":{"$ref":"#/definitions/v1InfraLBConfig","description":"APIServerLB is the configuration for the control-plane load balancer."},"location":{"description":"Location is the Azure datacenter location","type":"string"},"resourceGroup":{"type":"string"},"sshKey":{"type":"string"},"storageAccountName":{"type":"string"},"subscriptionId":{"description":"Subscription ID is unique identifier for the subscription used to access Azure services","type":"string"},"vnetCidrBlock":{"type":"string"},"vnetName":{"description":"VNETName is the virtual network in which the cluster is to be provisioned.","type":"string"},"vnetResourceGroup":{"type":"string"},"workerSubnet":{"$ref":"#/definitions/v1Subnet","description":"Subnet for Kubernetes worker node"}},"required":["subscriptionId","location","sshKey"],"type":"object"},"v1AzureGroup":{"description":"Azure group entity","properties":{"id":{"description":"Azure group id","type":"string"},"name":{"description":"Azure group name","type":"string"}},"type":"object"},"v1AzureGroups":{"description":"List of Azure groups","properties":{"groups":{"items":{"$ref":"#/definitions/v1AzureGroup"},"type":"array"}},"required":["groups"],"type":"object"},"v1AzureImage":{"description":"Refers to Azure Shared Gallery image","properties":{"gallery":{"type":"string"},"name":{"type":"string"},"resourceGroup":{"type":"string"},"state":{"type":"string"},"subscriptionID":{"type":"string"},"version":{"type":"string"}},"type":"object"},"v1AzureInstanceTypes":{"description":"List of Azure instance types","properties":{"instanceTypes":{"items":{"$ref":"#/definitions/v1InstanceType"},"type":"array"}},"type":"object"},"v1AzureMachine":{"description":"Azure cloud VM definition","properties":{"apiVersion":{"description":"Deprecated. Not used for the resource info.","type":"string"},"kind":{"description":"Deprecated. Cloud type of the machine.","type":"string"},"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1AzureMachineSpec"},"status":{"$ref":"#/definitions/v1CloudMachineStatus"}},"type":"object"},"v1AzureMachinePoolCloudConfigEntity":{"properties":{"azs":{"items":{"type":"string"},"type":"array"},"instanceType":{"description":"Instance type stands for VMSize in Azure","type":"string"},"isSystemNodePool":{"description":"whether this pool is for system node Pool","type":"boolean"},"osDisk":{"$ref":"#/definitions/v1AzureOSDisk"}},"type":"object"},"v1AzureMachinePoolConfig":{"properties":{"additionalLabels":{"additionalProperties":{"type":"string"},"description":"additionalLabels","type":"object"},"additionalTags":{"additionalProperties":{"type":"string"},"description":"AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole","type":"object"},"azs":{"items":{"type":"string"},"type":"array"},"instanceConfig":{"$ref":"#/definitions/v1InstanceConfig"},"instanceType":{"description":"Instance type stands for VMSize in Azure","type":"string"},"isControlPlane":{"description":"whether this pool is for control plane","type":"boolean","x-omitempty":false},"isSystemNodePool":{"description":"whether this pool is for system node Pool","type":"boolean","x-omitempty":false},"labels":{"description":"labels for this pool, example: master/worker, gpu, windows","items":{"type":"string"},"type":"array"},"machinePoolProperties":{"$ref":"#/definitions/v1MachinePoolProperties"},"maxSize":{"description":"max size of the pool, for scaling","format":"int32","type":"integer"},"minSize":{"description":"min size of the pool, for scaling","format":"int32","type":"integer"},"name":{"type":"string"},"nodeRepaveInterval":{"description":"Minimum number of seconds a node should be Ready, before the next node is selected for repave. Applicable only for workerpools in infrastructure cluster","format":"int32","type":"integer"},"osDisk":{"$ref":"#/definitions/v1AzureOSDisk"},"osType":{"$ref":"#/definitions/v1OsType","type":"string"},"size":{"description":"size of the pool, number of machines","format":"int32","type":"integer"},"spotVMOptions":{"$ref":"#/definitions/v1SpotVMOptions","description":"SpotVMOptions allows the ability to specify the Machine should use a Spot VM"},"taints":{"description":"master or worker taints","items":{"$ref":"#/definitions/v1Taint"},"type":"array","uniqueItems":true},"updateStrategy":{"$ref":"#/definitions/v1UpdateStrategy","description":"rolling update strategy for this machinepool if not specified, will use ScaleOut"},"useControlPlaneAsWorker":{"description":"if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools","type":"boolean","x-omitempty":false}},"required":["isControlPlane"],"type":"object"},"v1AzureMachinePoolConfigEntity":{"properties":{"cloudConfig":{"$ref":"#/definitions/v1AzureMachinePoolCloudConfigEntity"},"managedPoolConfig":{"$ref":"#/definitions/v1AzureManagedMachinePoolConfig"},"poolConfig":{"$ref":"#/definitions/v1MachinePoolConfigEntity"}},"required":["cloudConfig"],"type":"object"},"v1AzureMachineSpec":{"description":"Azure cloud VM definition spec","properties":{"additionalTags":{"additionalProperties":{"type":"string"},"type":"object"},"allocatePublicIP":{"type":"boolean"},"availabilityZone":{"$ref":"#/definitions/v1AzureMachineSpecAvailabilityZone"},"image":{"$ref":"#/definitions/v1AzureMachineSpecImage"},"instanceType":{"type":"string"},"location":{"type":"string"},"nics":{"items":{"$ref":"#/definitions/v1AzureNic"},"type":"array"},"osDisk":{"$ref":"#/definitions/v1AzureOSDisk"},"sshPublicKey":{"type":"string"}},"required":["instanceType","location","osDisk"],"type":"object"},"v1AzureMachineSpecAvailabilityZone":{"description":"Azure Machine Spec Availability zone","properties":{"enabled":{"type":"boolean"},"id":{"type":"string"}},"type":"object"},"v1AzureMachineSpecImage":{"description":"Azure Machine Spec Image","properties":{"gallery":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"},"offer":{"type":"string"},"publisher":{"type":"string"},"resourceGroup":{"type":"string"},"sku":{"type":"string"},"subscriptionId":{"type":"string"},"version":{"type":"string"}},"type":"object"},"v1AzureMachines":{"description":"Azure machine list","properties":{"items":{"items":{"$ref":"#/definitions/v1AzureMachine"},"type":"array","uniqueItems":true},"listmeta":{"$ref":"#/definitions/v1ListMetaData"}},"required":["items"],"type":"object"},"v1AzureManagedMachinePoolConfig":{"properties":{"isSystemNodePool":{"description":"whether this pool is for system node Pool","type":"boolean","x-omitempty":false},"osType":{"$ref":"#/definitions/v1OsType","type":"string"}},"type":"object"},"v1AzureNic":{"description":"AWS network interface","properties":{"index":{"format":"int8","type":"integer"},"privateIPs":{"items":{"type":"string"},"type":"array"},"publicIp":{"type":"string"}},"type":"object"},"v1AzureOSDisk":{"properties":{"diskSizeGB":{"format":"int32","type":"integer"},"managedDisk":{"$ref":"#/definitions/v1ManagedDisk"},"osType":{"$ref":"#/definitions/v1OsType","type":"string"}},"type":"object"},"v1AzurePrivateDnsZone":{"description":"Azure Private DNS zone entity","properties":{"id":{"description":"Fully qualified resource Id for the resource","type":"string"},"location":{"description":"The Azure Region where the resource lives","type":"string"},"name":{"description":"The name of the resource","type":"string"}},"type":"object"},"v1AzurePrivateDnsZones":{"description":"List of Azure storage accounts","properties":{"privateDnsZones":{"items":{"$ref":"#/definitions/v1AzurePrivateDnsZone"},"type":"array"}},"type":"object"},"v1AzureRegion":{"description":"Azure region entity","properties":{"displayName":{"description":"Azure region displayname","type":"string"},"name":{"description":"Azure region name","type":"string"},"zones":{"description":"List of zones associated to a particular Azure region","items":{"$ref":"#/definitions/v1AzureAvailabilityZone"},"type":"array"}},"type":"object"},"v1AzureRegions":{"description":"List of Azure regions","properties":{"regions":{"items":{"$ref":"#/definitions/v1AzureRegion"},"type":"array"}},"required":["regions"],"type":"object"},"v1AzureResourceGroupList":{"description":"List of Azure resource group","properties":{"resourceGroupList":{"items":{"$ref":"#/definitions/v1ResourceGroup"},"type":"array"}},"type":"object"},"v1AzureStorageAccountEntity":{"description":"Azure Storage Account Entity","properties":{"storageAccountTypes":{"items":{"$ref":"#/definitions/v1StorageAccountEntity"},"type":"array"}},"type":"object"},"v1AzureStorageAccounts":{"description":"List of Azure storage accounts","properties":{"accounts":{"items":{"$ref":"#/definitions/v1StorageAccount"},"type":"array"}},"type":"object"},"v1AzureStorageConfig":{"description":"Azure storage config object","properties":{"containerName":{"description":"Azure container name","type":"string"},"credentials":{"$ref":"#/definitions/v1.AzureAccountEntitySpec","description":"Azure cloud account credentials"},"resourceGroup":{"description":"Azure resource group name, to which the storage account is mapped","type":"string"},"sku":{"description":"Azure sku","type":"string"},"storageName":{"description":"Azure storage name","type":"string"}},"required":["resourceGroup","containerName","storageName","credentials"],"type":"object"},"v1AzureStorageContainers":{"description":"List of Azure storage containers","properties":{"containers":{"items":{"$ref":"#/definitions/v1StorageContainer"},"type":"array"}},"type":"object"},"v1AzureStorageTypes":{"description":"List of Azure storage types","properties":{"storageTypes":{"items":{"$ref":"#/definitions/v1StorageType"},"type":"array"}},"type":"object"},"v1AzureSubscriptionList":{"description":"List of Azure subscription","properties":{"subscriptionList":{"items":{"$ref":"#/definitions/v1Subscription"},"type":"array"}},"type":"object"},"v1AzureVHDImage":{"description":"Mold always create VHD image for custom image, and this can be use as golden images","properties":{"id":{"type":"string"},"name":{"type":"string"},"os":{"type":"string"},"region":{"type":"string"},"state":{"type":"string"}},"type":"object"},"v1AzureVhdUrlEntity":{"description":"Azure vhd url entity","properties":{"name":{"description":"The name of the resource","type":"string"},"url":{"description":"The url of the Azure Vhd","type":"string"}},"type":"object"},"v1AzureVirtualNetworkList":{"description":"List of Azure virtual network","properties":{"virtualNetworkList":{"items":{"$ref":"#/definitions/v1VirtualNetwork"},"type":"array"}},"type":"object"},"v1AzureZoneEntity":{"description":"List of Azure zone","properties":{"zoneList":{"items":{"$ref":"#/definitions/v1ZoneEntity"},"type":"array"}},"type":"object"},"v1BackupLocationConfig":{"description":"Backup location configuration","properties":{"name":{"type":"string"},"type":{"type":"string"},"uid":{"type":"string"}}},"v1BackupRestoreStatusMeta":{"description":"Backup restored status","properties":{"backupName":{"type":"string"},"destinationClusterRef":{"$ref":"#/definitions/v1ResourceReference"},"restoreState":{"type":"string"}}},"v1BackupState":{"description":"Backup state","properties":{"backupTime":{"$ref":"#/definitions/v1Time"},"deleteState":{"type":"string"},"msg":{"type":"string"},"state":{"type":"string"}}},"v1BackupStatusConfig":{"description":"Backup config","properties":{"includeAllDisks":{"type":"boolean"},"includeClusterResources":{"type":"boolean"},"namespaces":{"items":{"type":"string"},"type":"array","uniqueItems":true}}},"v1BackupStatusMeta":{"description":"Backup status meta","properties":{"backupName":{"type":"string"},"backupState":{"$ref":"#/definitions/v1BackupState"},"backupedNamespaces":{"items":{"type":"string"},"type":"array","uniqueItems":true},"expiryDate":{"$ref":"#/definitions/v1Time"}}},"v1BasicOciRegistry":{"description":"Basic oci registry information","properties":{"kind":{"type":"string"},"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1BasicOciRegistrySpec"}},"type":"object"},"v1BasicOciRegistrySpec":{"description":"Basic oci registry spec","properties":{"auth":{"$ref":"#/definitions/v1RegistryAuth"},"baseContentPath":{"description":"OCI registry content base path","type":"string"},"basePath":{"description":"OCI registry api base path","type":"string"},"endpoint":{"description":"OCI registry endpoint","type":"string"},"providerType":{"default":"helm","enum":["helm","zarf","pack"],"type":"string"},"registryUid":{"description":"Basic oci registry uid","type":"string"},"scope":{"type":"string"}},"required":["endpoint","auth"],"type":"object"},"v1Billing":{"description":"billing preference","properties":{"billingDay":{"type":"integer"},"tierPricing":{"$ref":"#/definitions/v1TierPrice"}}},"v1BrokerLogin":{"description":"Request for broker login request","properties":{"subscriberSubjects":{"description":"subjects that client need to subscribe","items":{"type":"string"},"type":"array"}},"type":"object"},"v1BrokerToken":{"description":"Response for broker login request","properties":{"msgCtxData":{"additionalProperties":{"type":"string"},"description":"message context data can be used as contextual information for the message exchange"},"publisherSubjects":{"description":"subjects that client can publish","items":{"type":"string"},"type":"array"},"subscriberSubjects":{"description":"subjects that client has subscribed","items":{"type":"string"},"type":"array"}},"type":"object"},"v1BulkDeleteFailure":{"properties":{"errMsg":{"type":"string"},"name":{"type":"string"},"uid":{"type":"string"}}},"v1BulkDeleteRequest":{"properties":{"uids":{"items":{"type":"string"},"type":"array","uniqueItems":true}},"required":["uids"]},"v1BulkDeleteResponse":{"properties":{"deletedCount":{"type":"integer","x-omitempty":false},"failures":{"items":{"$ref":"#/definitions/v1BulkDeleteFailure"},"type":"array","uniqueItems":true,"x-omitempty":false},"isSucceeded":{"type":"boolean","x-omitempty":false},"message":{"type":"string","x-omitempty":false}}},"v1BulkEvents":{"description":"Describes a list component events' details","items":{"$ref":"#/definitions/v1Event"},"type":"array","uniqueItems":true},"v1CPU":{"properties":{"cores":{"description":"number of cpu cores","format":"int32","type":"integer"}},"type":"object"},"v1CPUPassthroughSpec":{"properties":{"cachePassthrough":{"type":"boolean"},"isEnabled":{"description":"Enables the CPU Passthrough for the libvirt domain","type":"boolean"}},"type":"object"},"v1Card":{"description":"Card details object","properties":{"brand":{"description":"Card brand","type":"string"},"country":{"description":"Country name the card belongs","type":"string"},"expMonth":{"description":"Expiry month of the card","format":"uint64","type":"number"},"expYear":{"description":"Expiry year of the card","format":"uint64","type":"number"},"fingerPrint":{"description":"Finger print","type":"string"},"funding":{"description":"Funding","type":"string"},"last4":{"description":"Last 4 digit of the card","type":"string"}}},"v1Cert":{"properties":{"certificate":{"type":"string","x-omitempty":false},"isCA":{"type":"boolean","x-omitempty":false},"key":{"type":"string","x-omitempty":false}},"type":"object"},"v1Certificate":{"description":"Certificate details","properties":{"expiry":{"$ref":"#/definitions/v1Time","description":"Certificate expiry time"},"name":{"type":"string"}},"type":"object"},"v1CertificateAuthority":{"description":"Certificate Authority","properties":{"certificates":{"items":{"$ref":"#/definitions/v1Certificate"},"type":"array"},"expiry":{"$ref":"#/definitions/v1Time","description":"Certificate expiry time"},"name":{"type":"string"}},"type":"object"},"v1Channel":{"properties":{"alertAllUsers":{"type":"boolean","x-omitempty":false},"createdBy":{"type":"string"},"http":{"properties":{"body":{"type":"string"},"headers":{"additionalProperties":{"type":"string"}},"method":{"type":"string"},"url":{"type":"string"}},"type":"object"},"identifiers":{"items":{"type":"string"},"type":"array","uniqueItems":true},"isActive":{"type":"boolean","x-omitempty":false},"status":{"$ref":"#/definitions/v1AlertNotificationStatus"},"type":{"enum":["email","app","http"],"type":"string"},"uid":{"type":"string"}},"type":"object"},"v1CleanUpResource":{"description":"Resources of tenant","properties":{"activeResources":{"$ref":"#/definitions/v1ActiveTenantResources"},"tenantStatus":{"$ref":"#/definitions/v1TenantCleanUpStatus"}},"type":"object"},"v1CloudAccountMeta":{"description":"Cloud account meta information","properties":{"name":{"type":"string"},"uid":{"type":"string"}},"type":"object"},"v1CloudAccountMetadata":{"description":"Cloud account metadata summary","properties":{"kind":{"type":"string"},"metadata":{"$ref":"#/definitions/v1ObjectMeta"}}},"v1CloudAccountSettings":{"description":"Cloud account settings","properties":{"disablePropertiesRequest":{"description":"Will disable certain properties request to cloud and the input is collected directly from the user","type":"boolean","x-omitempty":false}},"type":"object"},"v1CloudAccountStatus":{"description":"Status of the account","properties":{"state":{"description":"Cloud account status","type":"string"}},"type":"object"},"v1CloudAccountSummary":{"description":"Cloud account summary","properties":{"kind":{"type":"string"},"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"specSummary":{"description":"Cloud account spec summary","properties":{"accountId":{"type":"string"}},"type":"object"},"status":{"$ref":"#/definitions/v1CloudAccountStatus"}},"type":"object"},"v1CloudAccountUidEntity":{"description":"Cloud account uid entity","properties":{"uid":{"description":"Cloud account uid","type":"string"}},"type":"object"},"v1CloudAccountsMetadata":{"properties":{"items":{"items":{"$ref":"#/definitions/v1CloudAccountMetadata"},"type":"array","uniqueItems":true}},"required":["items"],"type":"object"},"v1CloudAccountsPatch":{"items":{"$ref":"#/definitions/v1HttpPatch"},"type":"array"},"v1CloudAccountsSummary":{"properties":{"items":{"items":{"$ref":"#/definitions/v1CloudAccountSummary"},"type":"array","uniqueItems":true},"listmeta":{"$ref":"#/definitions/v1ListMetaData"}},"required":["items"],"type":"object"},"v1CloudCategory":{"default":"cloud","description":"Cloud category description","enum":["datacenter","cloud","edge"],"type":"string"},"v1CloudConfigMeta":{"properties":{"cloudType":{"type":"string"},"machinePools":{"description":"Machine pool meta information","items":{"$ref":"#/definitions/v1MachinePoolMeta"},"type":"array"},"uid":{"description":"Cluster's cloud config uid","type":"string"}},"type":"object"},"v1CloudCost":{"description":"Cloud cost information","properties":{"compute":{"format":"float64","type":"number","x-omitempty":false},"storage":{"format":"float64","type":"number","x-omitempty":false},"total":{"format":"float64","type":"number","x-omitempty":false}},"type":"object"},"v1CloudCostDataPoint":{"description":"Cloud cost data point information","properties":{"compute":{"format":"float64","type":"number","x-omitempty":false},"storage":{"format":"float64","type":"number","x-omitempty":false},"timestamp":{"format":"int64","type":"number"},"total":{"format":"float64","type":"number","x-omitempty":false}},"type":"object"},"v1CloudInstanceRateConfig":{"description":"Cloud instance rate config","properties":{"computeRateProportion":{"format":"float","type":"number"},"memoryRateProportion":{"format":"float","type":"number"}}},"v1CloudMachineStatus":{"description":"cloud machine status","properties":{"health":{"$ref":"#/definitions/v1MachineHealth"},"instanceState":{"enum":["Pending","Provisioning","Provisioned","Running","Deleting","Deleted","Failed","Unknown"],"type":"string"},"maintenanceStatus":{"$ref":"#/definitions/v1MachineMaintenanceStatus"}},"type":"object"},"v1CloudRate":{"description":"Cloud estimated rate information","properties":{"compute":{"$ref":"#/definitions/v1ComputeRate"},"storage":{"items":{"$ref":"#/definitions/v1StorageRate"},"type":"array"},"total":{"format":"float64","type":"number","x-omitempty":false}},"type":"object"},"v1CloudResourceMetadata":{"description":"Cloud resource metadata","properties":{"instanceTypes":{"additionalProperties":{"$ref":"#/definitions/v1InstanceType"},"type":"object"},"storageTypes":{"additionalProperties":{"$ref":"#/definitions/v1StorageType"},"type":"object"}},"type":"object"},"v1CloudSpotPrice":{"description":"Spot price entity of a particular cloud type","properties":{"spotPrice":{"description":"Spot price of a resource for a particular cloud","format":"float64","type":"number","x-omitempty":false}},"type":"object"},"v1CloudWatch":{"properties":{"credentials":{"$ref":"#/definitions/v1AwsCloudAccount"},"group":{"type":"string"},"region":{"type":"string"},"stream":{"type":"string"}},"type":"object"},"v1ClusterBackup":{"description":"Cluster Backup","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1ClusterBackupSpec"},"status":{"$ref":"#/definitions/v1ClusterBackupStatus"}}},"v1ClusterBackupConfig":{"description":"Cluster backup config","properties":{"backupLocationName":{"type":"string"},"backupLocationUid":{"type":"string"},"backupName":{"type":"string"},"backupPrefix":{"type":"string"},"durationInHours":{"format":"int64","type":"number"},"includeAllDisks":{"type":"boolean"},"includeClusterResources":{"type":"boolean"},"locationType":{"type":"string"},"namespaces":{"items":{"type":"string"},"type":"array","uniqueItems":true},"schedule":{"$ref":"#/definitions/v1ClusterFeatureSchedule"}}},"v1ClusterBackupLocationType":{"description":"Cluster backup location type","properties":{"locationType":{"type":"string"}},"required":["locationType"]},"v1ClusterBackupSpec":{"description":"Cluster Backup Spec","properties":{"clusterUid":{"type":"string"},"config":{"$ref":"#/definitions/v1ClusterBackupConfig"}}},"v1ClusterBackupStatus":{"description":"Cluster Backup Status","properties":{"clusterBackupStatuses":{"items":{"$ref":"#/definitions/v1ClusterBackupStatusMeta"},"type":"array"}}},"v1ClusterBackupStatusMeta":{"description":"Cluster Backup Status Meta","properties":{"actor":{"$ref":"#/definitions/v1ClusterFeatureActor"},"backupConfig":{"$ref":"#/definitions/v1BackupStatusConfig"},"backupLocationConfig":{"$ref":"#/definitions/v1BackupLocationConfig"},"backupRequestUid":{"type":"string"},"backupStatusMeta":{"items":{"$ref":"#/definitions/v1BackupStatusMeta"},"type":"array"},"restoreStatusMeta":{"items":{"$ref":"#/definitions/v1BackupRestoreStatusMeta"},"type":"array"},"state":{"type":"string"}}},"v1ClusterComplianceOnDemandConfig":{"description":"Cluster compliance scan on demand configuration","properties":{"kubeBench":{"$ref":"#/definitions/v1ClusterComplianceScanKubeBenchConfig"},"kubeHunter":{"$ref":"#/definitions/v1ClusterComplianceScanKubeHunterConfig"},"sonobuoy":{"$ref":"#/definitions/v1ClusterComplianceScanSonobuoyConfig"},"syft":{"$ref":"#/definitions/v1ClusterComplianceScanSyftConfig"}}},"v1ClusterComplianceScan":{"description":"Cluster Compliance Scan","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1ClusterComplianceScanSpec"}}},"v1ClusterComplianceScanKubeBenchConfig":{"description":"Cluster compliance scan config for kube bench driver","properties":{"runScan":{"type":"boolean"}}},"v1ClusterComplianceScanKubeBenchScheduleConfig":{"description":"Cluster compliance scan schedule config for kube bench driver","properties":{"schedule":{"$ref":"#/definitions/v1ClusterFeatureSchedule"}}},"v1ClusterComplianceScanKubeHunterConfig":{"description":"Cluster compliance scan config for kube hunter driver","properties":{"runScan":{"type":"boolean"}}},"v1ClusterComplianceScanKubeHunterScheduleConfig":{"description":"Cluster compliance scan schedule config for kube hunter driver","properties":{"schedule":{"$ref":"#/definitions/v1ClusterFeatureSchedule"}}},"v1ClusterComplianceScanLogSpec":{"description":"Cluster compliance scan logs spec","properties":{"clusterUid":{"type":"string"},"driverType":{"type":"string"}}},"v1ClusterComplianceScanLogs":{"description":"Cluster compliance scan Logs","properties":{"kubeBenchLogs":{"items":{"$ref":"#/definitions/v1ClusterScanLogKubeBench"},"type":"array"},"kubeHunterLogs":{"items":{"$ref":"#/definitions/v1ClusterScanLogKubeHunter"},"type":"array"},"sonobuoyLogs":{"items":{"$ref":"#/definitions/v1ClusterScanLogSonobuoy"},"type":"array"},"syftLogs":{"items":{"$ref":"#/definitions/v1ClusterScanLogSyft"},"type":"array"}}},"v1ClusterComplianceScanSonobuoyConfig":{"description":"Cluster compliance scan config for sonobuoy driver","properties":{"runScan":{"type":"boolean"}}},"v1ClusterComplianceScanSonobuoyScheduleConfig":{"description":"Cluster compliance scan schedule config for sonobuoy driver","properties":{"schedule":{"$ref":"#/definitions/v1ClusterFeatureSchedule"}}},"v1ClusterComplianceScanSpec":{"description":"Cluster compliance scan Spec","properties":{"clusterUid":{"type":"string"},"driverSpec":{"additionalProperties":{"$ref":"#/definitions/v1ComplianceScanDriverSpec"},"type":"object"}}},"v1ClusterComplianceScanSyftConfig":{"description":"Cluster compliance scan config for syft driver","properties":{"config":{"$ref":"#/definitions/v1ClusterComplianceScanSyftDriverConfig"},"runScan":{"type":"boolean"}}},"v1ClusterComplianceScanSyftDriverConfig":{"description":"Cluster compliance scan specification","properties":{"format":{"enum":["cyclonedx-json","github-json","spdx-json","syft-json"],"type":"string"},"labelSelector":{"type":"string"},"location":{"$ref":"#/definitions/v1ObjectEntity"},"namespace":{"type":"string"},"podName":{"type":"string"},"scope":{"enum":["cluster","namespace","label-selector","pod"],"type":"string"}}},"v1ClusterComplianceScheduleConfig":{"description":"Cluster compliance scan schedule configuration","properties":{"kubeBench":{"$ref":"#/definitions/v1ClusterComplianceScanKubeBenchScheduleConfig"},"kubeHunter":{"$ref":"#/definitions/v1ClusterComplianceScanKubeHunterScheduleConfig"},"sonobuoy":{"$ref":"#/definitions/v1ClusterComplianceScanSonobuoyScheduleConfig"}}},"v1ClusterCondition":{"properties":{"lastProbeTime":{"$ref":"#/definitions/v1Time"},"lastTransitionTime":{"$ref":"#/definitions/v1Time"},"message":{"description":"Human-readable message indicating details about last transition.","type":"string"},"reason":{"description":"Unique, one-word, CamelCase reason for the condition's last transition.","type":"string"},"status":{"type":"string"},"type":{"type":"string"}},"required":["type","status"],"type":"object"},"v1ClusterConfig":{"properties":{"clusterMetaAttribute":{"description":"ClusterMetaAttribute contains additional cluster metadata information.","type":"string"},"clusterRbac":{"description":"Deprecated. Use clusterResources","items":{"$ref":"#/definitions/v1ResourceReference"},"type":"array"},"clusterResources":{"$ref":"#/definitions/v1ClusterResources","description":"ClusterResources defines the managment of namespace resource allocations, role bindings."},"controlPlaneHealthCheckTimeout":{"description":"ControlPlaneHealthCheckTimeout is the timeout to check for ready state of the control plane nodes. If the node is not ready within the time out set, the node will be deleted and a new node will be launched.","type":"string"},"hostClusterConfig":{"$ref":"#/definitions/v1HostClusterConfig","description":"HostClusterConfiguration defines the configuration of host clusters, where virtual clusters be deployed"},"lifecycleConfig":{"$ref":"#/definitions/v1LifecycleConfig"},"machineHealthConfig":{"$ref":"#/definitions/v1MachineHealthCheckConfig","description":"MachineHealthCheckConfig defines the healthcheck timeouts for the node. The timeouts are configured by the user to overide the default healthchecks."},"machineManagementConfig":{"$ref":"#/definitions/v1MachineManagementConfig","description":"MachineManagementConfig defines the management configurations for the node. Patching OS security updates etc can be configured by user."},"updateWorkerPoolsInParallel":{"description":"UpdateWorkerPoolsInParallel is used to decide if the update of workerpools happen in parallel. When this flag is false, the workerpools are updated sequentially.","type":"boolean"}},"type":"object"},"v1ClusterConfigEntity":{"properties":{"clusterMetaAttribute":{"description":"ClusterMetaAttribute can be used to set additional cluster metadata information.","type":"string"},"controlPlaneHealthCheckTimeout":{"type":"string"},"hostClusterConfig":{"$ref":"#/definitions/v1HostClusterConfig"},"lifecycleConfig":{"$ref":"#/definitions/v1LifecycleConfig"},"location":{"$ref":"#/definitions/v1ClusterLocation"},"machineManagementConfig":{"$ref":"#/definitions/v1MachineManagementConfig"},"resources":{"$ref":"#/definitions/v1ClusterResourcesEntity"},"updateWorkerPoolsInParallel":{"type":"boolean"}},"type":"object"},"v1ClusterConfigParamEntity":{"properties":{"clusterMetaAttribute":{"description":"ClusterMetaAttribute can be used to set additional cluster metadata information.","type":"string"},"controlPlaneHealthCheckTimeout":{"type":"string"},"hostClusterConfig":{"$ref":"#/definitions/v1HostClusterConfig"},"location":{"$ref":"#/definitions/v1ClusterLocation"},"resources":{"$ref":"#/definitions/v1ClusterResourcesEntity"},"updateWorkerPoolsInParallel":{"type":"boolean"}},"type":"object"},"v1ClusterConfigResponse":{"properties":{"hostClusterConfig":{"$ref":"#/definitions/v1HostClusterConfigResponse","description":"HostClusterConfig defines the configuration entity of host clusters config entity"}},"type":"object"},"v1ClusterDefinitionEntity":{"description":"Cluster definition entity","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMetaInputEntity"},"spec":{"$ref":"#/definitions/v1ClusterDefinitionSpecEntity"}},"type":"object"},"v1ClusterDefinitionProfileEntity":{"description":"Cluster definition profile entity","properties":{"packs":{"description":"Cluster profile packs array","items":{"$ref":"#/definitions/v1PackValuesEntity"},"type":"array","uniqueItems":true},"uid":{"description":"Cluster profile uid","type":"string"}},"required":["uid"],"type":"object"},"v1ClusterDefinitionSpecEntity":{"description":"Cluster definition spec entity","properties":{"cloudType":{"type":"string"},"profiles":{"description":"Cluster definition profiles","items":{"$ref":"#/definitions/v1ClusterDefinitionProfileEntity"},"type":"array","uniqueItems":true}},"required":["profiles","cloudType"],"type":"object"},"v1ClusterEdgeInstallerConfig":{"properties":{"installerDownloadLinks":{"additionalProperties":{"type":"string"}}}},"v1ClusterFeatureActor":{"description":"Compliance Scan actor","properties":{"actorType":{"type":"string"},"uid":{"type":"string"}}},"v1ClusterFeatureSchedule":{"description":"Cluster feature schedule","properties":{"scheduledRunTime":{"type":"string"}}},"v1ClusterFips":{"properties":{"mode":{"$ref":"#/definitions/v1ClusterFipsMode"}}},"v1ClusterFipsMode":{"default":"none","enum":["full","none","partial","unknown"],"type":"string"},"v1ClusterGroup":{"description":"Cluster group information","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1ClusterGroupSpec"},"status":{"$ref":"#/definitions/v1ClusterGroupStatus"}}},"v1ClusterGroupClusterRef":{"description":"Cluster group cluster reference","properties":{"clusterName":{"type":"string"},"clusterUid":{"type":"string"}}},"v1ClusterGroupClustersConfig":{"description":"Clusters config of cluster group","properties":{"endpointType":{"description":"Host cluster endpoint type","enum":["Ingress","LoadBalancer"],"type":"string"},"hostClustersConfig":{"items":{"$ref":"#/definitions/v1ClusterGroupHostClusterConfig"},"type":"array","uniqueItems":true},"kubernetesDistroType":{"$ref":"#/definitions/v1ClusterKubernetesDistroType"},"limitConfig":{"$ref":"#/definitions/v1ClusterGroupLimitConfig"},"values":{"type":"string"}}},"v1ClusterGroupEntity":{"description":"Cluster group information","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1ClusterGroupSpecEntity"}}},"v1ClusterGroupHostClusterConfig":{"properties":{"clusterUid":{"type":"string"},"endpointConfig":{"$ref":"#/definitions/v1HostClusterEndpointConfig","description":"host cluster endpoint configuration"}}},"v1ClusterGroupHostClusterEntity":{"description":"Clusters and clusters config of cluster group","properties":{"clusterRefs":{"items":{"$ref":"#/definitions/v1ClusterGroupClusterRef"},"type":"array","uniqueItems":true},"clustersConfig":{"$ref":"#/definitions/v1ClusterGroupClustersConfig"}}},"v1ClusterGroupLimitConfig":{"description":"Cluster group limit config","properties":{"cpu":{"description":"Deprecated. Use field cpuMilliCore","format":"int32","type":"integer"},"cpuMilliCore":{"description":"CPU in milli cores","format":"int32","type":"integer"},"memory":{"description":"Deprecated. Use field memoryMiB","format":"int32","type":"integer"},"memoryMiB":{"description":"Memory in MiB","format":"int32","type":"integer"},"overSubscription":{"description":"Over subscription percentage","format":"int32","type":"integer"},"storageGiB":{"description":"Storage in GiB","format":"int32","type":"integer"}}},"v1ClusterGroupResource":{"description":"Cluster group resource allocated and usage information","properties":{"allocated":{"format":"float64","type":"number","x-omitempty":false},"used":{"format":"float64","type":"number","x-omitempty":false}}},"v1ClusterGroupSpec":{"description":"Cluster group specifications","properties":{"clusterProfileTemplates":{"description":"ClusterProfileTemplate is a copy of the draft version or latest published version of the clusterprofileSpec. It consists of list of add on profiles at a cluster group level which will be enforced on all virtual cluster. ClusterProfileTemplate will be updated from the clusterprofile pointed by ClusterProfileRef","items":{"$ref":"#/definitions/v1ClusterProfileTemplate"},"type":"array"},"clusterRefs":{"items":{"$ref":"#/definitions/v1ClusterGroupClusterRef"},"type":"array","uniqueItems":true},"clustersConfig":{"$ref":"#/definitions/v1ClusterGroupClustersConfig"},"type":{"enum":["hostCluster"],"type":"string"}}},"v1ClusterGroupSpecEntity":{"description":"Cluster group specifications request entity","properties":{"clusterRefs":{"items":{"$ref":"#/definitions/v1ClusterGroupClusterRef"},"type":"array","uniqueItems":true},"clustersConfig":{"$ref":"#/definitions/v1ClusterGroupClustersConfig"},"profiles":{"items":{"$ref":"#/definitions/v1SpectroClusterProfileEntity"},"type":"array"},"type":{"enum":["hostCluster"],"type":"string"}}},"v1ClusterGroupStatus":{"description":"Cluster group status","properties":{"isActive":{"type":"boolean","x-omitempty":false}}},"v1ClusterGroupSummary":{"description":"Cluster group summay","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1ClusterGroupSummarySpec"}}},"v1ClusterGroupSummarySpec":{"description":"Cluster group summay spec","properties":{"clusterProfileTemplates":{"items":{"$ref":"#/definitions/v1ClusterProfileTemplateMeta"},"type":"array"},"cpu":{"$ref":"#/definitions/v1ClusterGroupResource","description":"Deprecated"},"endpointType":{"enum":["Ingress","LoadBalancer"],"type":"string"},"hostClusters":{"items":{"$ref":"#/definitions/v1ObjectResReference"},"type":"array","uniqueItems":true},"hostClustersCount":{"type":"integer","x-omitempty":false},"memory":{"$ref":"#/definitions/v1ClusterGroupResource","description":"Deprecated"},"scope":{"type":"string"},"virtualClustersCount":{"type":"integer","x-omitempty":false}}},"v1ClusterGroupsDeveloperCreditUsage":{"description":"Cluster group resource allocated and usage information","properties":{"allocatedCredit":{"$ref":"#/definitions/v1DeveloperCredit"},"usedCredit":{"$ref":"#/definitions/v1DeveloperCredit"}}},"v1ClusterGroupsHostClusterMetadata":{"properties":{"items":{"items":{"$ref":"#/definitions/v1ObjectScopeEntity"},"type":"array","uniqueItems":true}},"required":["items"],"type":"object"},"v1ClusterGroupsHostClusterSummary":{"properties":{"summaries":{"items":{"$ref":"#/definitions/v1ClusterGroupSummary"},"type":"array","uniqueItems":true}},"required":["summaries"],"type":"object"},"v1ClusterHelmChart":{"description":"Cluster helm chart metadata","properties":{"localName":{"type":"string"},"matchedRegistries":{"items":{"$ref":"#/definitions/v1ClusterHelmRegistry"},"type":"array","uniqueItems":true},"name":{"type":"string"},"values":{"type":"string"},"version":{"type":"string"}}},"v1ClusterHelmCharts":{"description":"Cluster helm charts metadata","properties":{"charts":{"items":{"$ref":"#/definitions/v1ClusterHelmChart"},"type":"array","uniqueItems":true}}},"v1ClusterHelmRegistry":{"description":"Cluster helm registry information","properties":{"name":{"type":"string"},"uid":{"type":"string"}}},"v1ClusterImport":{"properties":{"importLink":{"description":"import link to download and install ally-lite, palette-lite","type":"string"},"isBrownfield":{"description":"Deprecated. Use the 'spec.clusterType'","type":"boolean","x-omitempty":false},"state":{"description":"cluster import status","type":"string"}},"type":"object"},"v1ClusterKubeBenchLogStatus":{"description":"Cluster compliance scan KubeBench Log Status","properties":{"actor":{"$ref":"#/definitions/v1ClusterFeatureActor"},"message":{"type":"string"},"reports":{"additionalProperties":{"$ref":"#/definitions/v1KubeBenchReport"},"type":"object"},"requestUid":{"type":"string"},"scanTime":{"$ref":"#/definitions/v1ClusterScanTime"},"state":{"type":"string"}}},"v1ClusterKubeHunterLogStatus":{"description":"Cluster compliance scan KubeHunter Log Status","properties":{"actor":{"$ref":"#/definitions/v1ClusterFeatureActor"},"message":{"type":"string"},"reports":{"additionalProperties":{"$ref":"#/definitions/v1KubeHunterReport"},"type":"object"},"requestUid":{"type":"string"},"scanTime":{"$ref":"#/definitions/v1ClusterScanTime"},"state":{"type":"string"}}},"v1ClusterKubernetesDistroType":{"default":"k3s","enum":["k3s","cncf_k8s"],"type":"string"},"v1ClusterLocation":{"description":"Cluster location information","properties":{"countryCode":{"description":"country code for cluster location","type":"string"},"countryName":{"description":"country name for cluster location","type":"string"},"geoLoc":{"$ref":"#/definitions/v1GeolocationLatlong"},"regionCode":{"description":"region code for cluster location","type":"string"},"regionName":{"description":"region name for cluster location","type":"string"}},"type":"object"},"v1ClusterLogFetcher":{"description":"Cluster Log Fetcher","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1ClusterLogFetcherSpec"},"status":{"$ref":"#/definitions/v1ClusterLogFetcherStatus"}}},"v1ClusterLogFetcherK8sRequest":{"description":"Cluster Log Fetcher K8s","properties":{"labelSelector":{"items":{"type":"string"},"type":"array","uniqueItems":true},"namespaces":{"items":{"type":"string"},"type":"array","uniqueItems":true}}},"v1ClusterLogFetcherNodeRequest":{"description":"Cluster Log Fetcher Node Request","properties":{"logs":{"description":"Array of logs","items":{"type":"string"},"type":"array","uniqueItems":true}}},"v1ClusterLogFetcherRequest":{"description":"Cluster Log Fetcher Request","properties":{"duration":{"default":10,"description":"Duration for which log is requested","format":"int64","type":"integer"},"k8s":{"$ref":"#/definitions/v1ClusterLogFetcherK8sRequest"},"mode":{"default":"cluster","description":"Accepted Values - [\"cluster\", \"app\"]. if \"app\" then logs will be fetched from the virtual cluster","enum":["cluster","app"],"type":"string"},"noOfLines":{"default":1000,"description":"No of lines of logs requested","format":"int64","type":"integer"},"node":{"$ref":"#/definitions/v1ClusterLogFetcherNodeRequest"}}},"v1ClusterLogFetcherSpec":{"description":"Cluster Log Fetcher Spec","properties":{"clusterUid":{"type":"string"},"log":{"type":"string"}}},"v1ClusterLogFetcherStatus":{"description":"Cluster Log Fetcher Status","properties":{"state":{"type":"string"}}},"v1ClusterManifest":{"description":"Cluster manifest information","properties":{"content":{"type":"string"},"name":{"type":"string"},"namespace":{"type":"string"},"type":{"type":"string"}}},"v1ClusterManifests":{"description":"Cluster manifests information","properties":{"manifests":{"items":{"$ref":"#/definitions/v1ClusterManifest"},"type":"array","uniqueItems":true}}},"v1ClusterMeta":{"description":"Active cluster meta","properties":{"cloudType":{"type":"string"},"clusterType":{"type":"string"},"creationTimestamp":{"$ref":"#/definitions/v1Time"},"duration":{"type":"string"},"name":{"type":"string"},"projectName":{"type":"string"},"state":{"$ref":"#/definitions/v1ClusterState"},"uid":{"type":"string"}},"type":"object"},"v1ClusterMetaAttributeEntity":{"description":"Cluster additional metadata entity","properties":{"clusterMetaAttribute":{"type":"string"}},"type":"object"},"v1ClusterMetaSpecLocation":{"description":"Cluster location information","properties":{"coordinates":{"items":{"format":"float64","type":"number"},"type":"array"},"countryCode":{"type":"string"},"countryName":{"type":"string"},"regionCode":{"type":"string"},"regionName":{"type":"string"}},"type":"object"},"v1ClusterMetaStatusCost":{"description":"Cluster meta Cost information","properties":{"total":{"format":"float64","type":"number","x-omitempty":false}},"type":"object"},"v1ClusterMetaStatusHealth":{"description":"Cluster meta health information","properties":{"isHeartBeatFailed":{"type":"boolean","x-omitempty":false},"state":{"type":"string"}},"type":"object"},"v1ClusterMetaStatusUpdates":{"description":"Cluster meta updates information","properties":{"isUpdatesPending":{"type":"boolean","x-omitempty":false}},"type":"object"},"v1ClusterNamespace":{"description":"Cluster's namespace","properties":{"namespace":{"type":"string"},"pvcCount":{"format":"int32","type":"number"}}},"v1ClusterNamespaceResource":{"description":"Cluster Namespace resource defintion","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1ClusterNamespaceSpec"},"status":{"$ref":"#/definitions/v1ClusterNamespaceStatus"}},"type":"object"},"v1ClusterNamespaceResourceAllocation":{"description":"Cluster namespace resource allocation","properties":{"cpuCores":{"exclusiveMinimum":true,"minimum":0,"type":"number"},"memoryMiB":{"exclusiveMinimum":true,"minimum":0,"type":"number"}}},"v1ClusterNamespaceResourceInputEntity":{"description":"Cluster Namespace resource defintion","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMetaUpdateEntity"},"spec":{"$ref":"#/definitions/v1ClusterNamespaceSpec"}},"type":"object"},"v1ClusterNamespaceResources":{"properties":{"items":{"items":{"$ref":"#/definitions/v1ClusterNamespaceResource"},"type":"array","uniqueItems":true}},"required":["items"],"type":"object"},"v1ClusterNamespaceResourcesUpdateEntity":{"properties":{"namespaces":{"items":{"$ref":"#/definitions/v1ClusterNamespaceResourceInputEntity"},"type":"array","uniqueItems":true}},"type":"object"},"v1ClusterNamespaceSpec":{"description":"Cluster namespace spec","properties":{"isRegex":{"type":"boolean","x-omitempty":false},"relatedObject":{"$ref":"#/definitions/v1RelatedObject"},"resourceAllocation":{"$ref":"#/definitions/v1ClusterNamespaceResourceAllocation"}}},"v1ClusterNamespaceStatus":{"description":"Cluster namespace status","properties":{"errors":{"items":{"$ref":"#/definitions/v1ClusterResourceError"},"type":"array","uniqueItems":true}}},"v1ClusterNamespaces":{"description":"Cluster's available namespaces","properties":{"namespaces":{"items":{"$ref":"#/definitions/v1ClusterNamespace"},"type":"array"}}},"v1ClusterNotificationUpdateEntity":{"description":"Cluster input for notification update","properties":{"profiles":{"items":{"$ref":"#/definitions/v1ClusterProfileNotificationUpdateEntity"},"type":"array","uniqueItems":true},"spcApplySettings":{"$ref":"#/definitions/v1SpcApplySettings"}},"type":"object"},"v1ClusterPackManifestStatus":{"properties":{"condition":{"$ref":"#/definitions/v1ClusterCondition"},"name":{"type":"string"},"uid":{"type":"string"}},"type":"object"},"v1ClusterPackStatus":{"properties":{"condition":{"$ref":"#/definitions/v1ClusterCondition"},"endTime":{"$ref":"#/definitions/v1Time"},"manifests":{"items":{"$ref":"#/definitions/v1ClusterPackManifestStatus"},"type":"array"},"name":{"type":"string"},"profileUid":{"type":"string"},"services":{"items":{"$ref":"#/definitions/v1LoadBalancerService"},"type":"array"},"startTime":{"$ref":"#/definitions/v1Time"},"type":{"type":"string"},"version":{"type":"string"}},"type":"object"},"v1ClusterPreference":{"description":"cluster preference","properties":{"archivalIntervalInHour":{"description":"clusters cleanup interval post deletion","type":"integer"},"deletePeriodInHour":{"description":"clusters deleted before delete period are eligible for cleanup","type":"integer"},"healthPollIntervalInMinutes":{"description":"clusters health poll interval","maximum":60,"minimum":3,"type":"integer"},"monitorIntervalInMinutes":{"description":"clusters state and consistency monitor","type":"integer"}}},"v1ClusterProfile":{"description":"ClusterProfile is the Schema for the clusterprofiles API","properties":{"apiVersion":{"description":"Deprecated. Not used for the resource info. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources","type":"string"},"kind":{"description":"Cloud type of the cloud config","type":"string"},"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1ClusterProfileSpec"},"status":{"$ref":"#/definitions/v1ClusterProfileStatus"}},"type":"object"},"v1ClusterProfileCloneEntity":{"description":"Cluster profile clone request payload","properties":{"metadata":{"$ref":"#/definitions/v1ClusterProfileCloneMetaInputEntity"}},"type":"object"},"v1ClusterProfileCloneMetaInputEntity":{"description":"Cluster profile clone metadata","properties":{"name":{"description":"Cloned cluster profile name","type":"string"},"target":{"$ref":"#/definitions/v1ClusterProfileCloneTarget"},"version":{"description":"Cloned cluster profile version","type":"string"}},"required":["name"],"type":"object"},"v1ClusterProfileCloneTarget":{"description":"Cluster profile clone meta input entity","properties":{"projectUid":{"description":"Cloned cluster profile project uid","type":"string"},"scope":{"$ref":"#/definitions/v1Scope"}},"required":["scope"],"type":"object"},"v1ClusterProfileEntity":{"description":"Cluster profile request payload","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"properties":{"template":{"$ref":"#/definitions/v1ClusterProfileTemplateDraft"},"variables":{"description":"List of unique variable fields defined for a cluster profile with schema constraints","items":{"$ref":"#/definitions/v1Variable"},"type":"array","uniqueItems":true},"version":{"description":"Cluster profile version","type":"string"}},"type":"object"}},"type":"object"},"v1ClusterProfileFilterSpec":{"description":"Cluster profile filter spec","properties":{"environment":{"items":{"type":"string"},"type":"array","uniqueItems":true},"fips":{"$ref":"#/definitions/v1ClusterFipsMode"},"profileName":{"$ref":"#/definitions/v1FilterString"},"profileType":{"items":{"$ref":"#/definitions/v1ProfileType"},"type":"array","uniqueItems":true},"scope":{"$ref":"#/definitions/v1ClusterProfileScope"},"tags":{"$ref":"#/definitions/v1FilterArray"},"version":{"$ref":"#/definitions/v1FilterVersionString"}}},"v1ClusterProfileFips":{"description":"Cluster profile fips compliance status","properties":{"mode":{"$ref":"#/definitions/v1ClusterFipsMode"}}},"v1ClusterProfileImportEntity":{"description":"Cluster profile import request payload","properties":{"metadata":{"$ref":"#/definitions/v1ClusterProfileMetadataImportEntity"},"spec":{"$ref":"#/definitions/v1ClusterProfileSpecImportEntity"}},"type":"object"},"v1ClusterProfileMetadata":{"description":"Cluster profile filter spec","properties":{"metadata":{"$ref":"#/definitions/v1ObjectEntity"},"spec":{"properties":{"cloudType":{"type":"string"},"version":{"type":"string"}}}}},"v1ClusterProfileMetadataImportEntity":{"description":"Cluster profile import metadata","properties":{"description":{"description":"Cluster profile description","type":"string"},"labels":{"additionalProperties":{"type":"string"},"description":"Cluster profile labels","type":"object"},"name":{"description":"Cluster profile name","type":"string"}},"type":"object"},"v1ClusterProfileNotificationUpdateEntity":{"description":"Cluster profile notification update request payload","properties":{"packs":{"description":"Cluster profile packs array","items":{"$ref":"#/definitions/v1PackManifestUpdateEntity"},"type":"array","uniqueItems":true},"uid":{"description":"Cluster profile uid","type":"string"}},"type":"object"},"v1ClusterProfilePackConfigList":{"properties":{"items":{"description":"Cluster profile packs array","items":{"$ref":"#/definitions/v1PackConfig"},"type":"array","uniqueItems":true}},"required":["items"],"type":"object"},"v1ClusterProfilePackManifests":{"description":"Cluster profile pack manifests","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1PackManifestsSpec"},"status":{"$ref":"#/definitions/v1PackSummaryStatus"}},"type":"object"},"v1ClusterProfilePackSummary":{"description":"Cluster profile packs summary about the deprecated, disabled, deleted packs count","properties":{"deleted":{"description":"Total count of deleted packs in a cluster profile","type":"number","x-omitempty":false},"deprecated":{"description":"Total count of deprecated packs in a cluster profile","type":"number","x-omitempty":false},"disabled":{"description":"Total count of disabled packs in a cluster profile","type":"number","x-omitempty":false}},"type":"object"},"v1ClusterProfilePacksEntities":{"description":"List of cluster profile packs","properties":{"items":{"description":"Cluster profile packs array","items":{"$ref":"#/definitions/v1ClusterProfilePacksEntity"},"type":"array","uniqueItems":true}},"required":["items"],"type":"object"},"v1ClusterProfilePacksEntity":{"description":"Cluster profile packs object","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1PackSummarySpec"},"status":{"$ref":"#/definitions/v1PackSummaryStatus"}},"type":"object"},"v1ClusterProfilePacksManifests":{"description":"Cluster profile pack manifests","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"properties":{"packs":{"description":"Cluster profile packs array","items":{"$ref":"#/definitions/v1ClusterProfilePackManifests"},"type":"array","uniqueItems":true}},"type":"object"}},"type":"object"},"v1ClusterProfileScope":{"enum":["system","tenant","project"],"type":"string"},"v1ClusterProfileSortFields":{"enum":["profileName","environment","profileType","creationTimestamp","lastModifiedTimestamp"],"type":"string","x-nullable":true},"v1ClusterProfileSortSpec":{"properties":{"field":{"$ref":"#/definitions/v1ClusterProfileSortFields"},"order":{"$ref":"#/definitions/v1SortOrder"}}},"v1ClusterProfileSpec":{"description":"ClusterProfileTemplate can be in draft mode, or published mode User only see the latest published template, and (or) the draft template User can apply either the draft version or the latest published version to a cluster when user create a draft version, just copy the Published template, increment the version, and keep changing the draft template without increment the draft version when user publish a draft, the version is fixed, and won't be able to make any modification on published template For each clusterprofile that has a published version, there will be a ClusterProfileArchive automatically created when user publish a draft, the published version will also be copied over to the corresponding ClusterProfileArchive it is just in case in the future for whatever reason we may want to expose earlier versions","properties":{"draft":{"$ref":"#/definitions/v1ClusterProfileTemplate"},"published":{"$ref":"#/definitions/v1ClusterProfileTemplate"},"version":{"type":"string"},"versions":{"description":"Cluster profile's list of all the versions","items":{"$ref":"#/definitions/v1ClusterProfileVersion"},"type":"array"}},"type":"object"},"v1ClusterProfileSpecEntity":{"description":"Cluster profile update spec","properties":{"version":{"description":"Cluster profile version","type":"string"}},"type":"object"},"v1ClusterProfileSpecImportEntity":{"description":"Cluster profile import spec","properties":{"template":{"$ref":"#/definitions/v1ClusterProfileTemplateImportEntity"},"variables":{"description":"List of unique variable fields defined for a cluster profile with schema constraints","items":{"$ref":"#/definitions/v1Variable"},"type":"array","uniqueItems":true},"version":{"description":"Cluster profile version","type":"string"}},"type":"object"},"v1ClusterProfileStatus":{"description":"ClusterProfileStatus defines the observed state of ClusterProfile","properties":{"hasUserMacros":{"description":"If it is true then profile pack values has a reference to user defined macros","type":"boolean","x-omitempty":false},"inUseClusterUids":{"description":"Deprecated. Use inUseClusters","items":{"type":"string"},"type":"array"},"inUseClusters":{"items":{"$ref":"#/definitions/v1ObjectResReference"},"type":"array"},"isPublished":{"type":"boolean","x-omitempty":false}},"type":"object"},"v1ClusterProfileStatusSummary":{"description":"ClusterProfileStatusSummary defines the observed state of ClusterProfile","properties":{"fips":{"$ref":"#/definitions/v1ClusterProfileFips"},"inUseClusterUids":{"description":"Deprecated. Use inUseClusters","items":{"type":"string"},"type":"array"},"inUseClusters":{"items":{"$ref":"#/definitions/v1ObjectEntity"},"type":"array"},"isPublished":{"type":"boolean","x-omitempty":false},"pack":{"$ref":"#/definitions/v1ClusterProfilePackSummary"}},"type":"object"},"v1ClusterProfileSummary":{"description":"Cluster profile summary","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"specSummary":{"description":"Cluster profile spec summary","properties":{"draft":{"$ref":"#/definitions/v1ClusterProfileTemplateSummary"},"published":{"$ref":"#/definitions/v1ClusterProfileTemplateSummary"},"version":{"description":"Cluster profile's latest version","type":"string"},"versions":{"description":"Cluster profile's list of all the versions","items":{"$ref":"#/definitions/v1ClusterProfileVersion"},"type":"array"}},"type":"object"},"status":{"$ref":"#/definitions/v1ClusterProfileStatusSummary"}},"type":"object"},"v1ClusterProfileTemplate":{"description":"ClusterProfileTemplate contains details of a clusterprofile definition","properties":{"cloudType":{"type":"string"},"name":{"type":"string"},"packServerRefs":{"description":"PackServerRefs is only used on Hubble side it is reference to pack registry servers which PackRef belongs to in hubble, pack server is a top level object, so use a reference to point to it packs within a clusterprofile can come from different pack servers, so this is an array","items":{"$ref":"#/definitions/v1ObjectReference"},"type":"array"},"packServerSecret":{"description":"This secret is used only on Palette side use case is similar to k8s image pull secret this single secret internally should contains all the pack servers in PackServerRefs if empty, means no credential is needed to access the pack server For spectro saas, Ally will set this field before pass to palette","type":"string"},"packs":{"description":"Packs definitions here are final definitions. If ClonedFrom and ParamsOverwrite is present, then Packs are the final merge result of ClonedFrom and ParamsOverwrite So orchestration engine will just take the Packs and do the work, no need to worry about parameters merge","items":{"$ref":"#/definitions/v1PackRef"},"type":"array"},"profileVersion":{"description":"version start from 1.0.0, matching the index of ClusterProfileSpec.Versions[] will be used by clusterSpec to identify which version is applied to the cluster","type":"string"},"relatedObject":{"$ref":"#/definitions/v1ObjectReference","description":"RelatedObject refers to the type of object(clustergroup, cluster or edgeHost) the cluster profile is associated with"},"type":{"type":"string"},"uid":{"type":"string"},"version":{"description":"Deprecated. Use profileVersion","format":"int32","type":"integer"}},"type":"object"},"v1ClusterProfileTemplateDraft":{"description":"Cluster profile template spec","properties":{"cloudType":{"type":"string"},"packs":{"description":"Cluster profile packs array","items":{"$ref":"#/definitions/v1PackManifestEntity"},"type":"array","uniqueItems":true},"type":{"$ref":"#/definitions/v1ProfileType"}},"type":"object"},"v1ClusterProfileTemplateImportEntity":{"description":"Cluster profile import template","properties":{"cloudType":{"description":"Cluster profile cloud type","type":"string"},"packs":{"description":"Cluster profile packs array","items":{"$ref":"#/definitions/v1PackImportEntity"},"type":"array","uniqueItems":true},"type":{"description":"Cluster profile type [ \"cluster\", \"infra\", \"add-on\", \"system\" ]","type":"string"}},"type":"object"},"v1ClusterProfileTemplateMeta":{"description":"Cluster profile template meta information","properties":{"cloudType":{"type":"string"},"name":{"description":"Cluster profile name","type":"string"},"packs":{"description":"Cluster profile packs array","items":{"$ref":"#/definitions/v1PackRef"},"type":"array"},"scope":{"description":"scope or context(system, tenant or project)","type":"string"},"type":{"description":"Cluster profile type [ \"cluster\", \"infra\", \"add-on\", \"system\" ]","type":"string"},"uid":{"description":"Cluster profile uid","type":"string"},"version":{"format":"int32","type":"integer"}},"type":"object"},"v1ClusterProfileTemplateSummary":{"description":"Cluster profile template summary","properties":{"cloudType":{"type":"string"},"packs":{"items":{"$ref":"#/definitions/v1PackRefSummary"},"type":"array"},"type":{"type":"string"}},"type":"object"},"v1ClusterProfileTemplateUpdate":{"description":"Cluster profile template update spec","properties":{"packs":{"description":"Cluster profile packs array","items":{"$ref":"#/definitions/v1PackManifestUpdateEntity"},"type":"array","uniqueItems":true},"type":{"$ref":"#/definitions/v1ProfileType"}},"type":"object"},"v1ClusterProfileUpdateEntity":{"description":"Cluster profile update request payload","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"description":"Cluster profile update spec","properties":{"template":{"$ref":"#/definitions/v1ClusterProfileTemplateUpdate"},"version":{"description":"Cluster profile version","type":"string"}},"type":"object"}},"type":"object"},"v1ClusterProfileValidatorResponse":{"description":"Cluster profile validator response","properties":{"packs":{"$ref":"#/definitions/v1ConstraintValidatorResponse"}},"type":"object"},"v1ClusterProfileVersion":{"description":"Cluster profile with version","properties":{"uid":{"type":"string"},"version":{"type":"string"}}},"v1ClusterProfiles":{"properties":{"items":{"items":{"$ref":"#/definitions/v1ClusterProfile"},"type":"array","uniqueItems":true},"listmeta":{"$ref":"#/definitions/v1ListMetaData"}},"required":["items"],"type":"object"},"v1ClusterProfilesFilterSpec":{"description":"Spectro cluster filter summary spec","properties":{"filter":{"$ref":"#/definitions/v1ClusterProfileFilterSpec"},"sort":{"items":{"$ref":"#/definitions/v1ClusterProfileSortSpec"},"type":"array","uniqueItems":true}}},"v1ClusterProfilesMetadata":{"properties":{"items":{"items":{"$ref":"#/definitions/v1ClusterProfileMetadata"},"type":"array","uniqueItems":true}},"required":["items"],"type":"object"},"v1ClusterProfilesSummary":{"properties":{"items":{"items":{"$ref":"#/definitions/v1ClusterProfileSummary"},"type":"array","uniqueItems":true},"listmeta":{"$ref":"#/definitions/v1ListMetaData"}},"required":["items"],"type":"object"},"v1ClusterProxySpec":{"description":"cluster proxy config spec","properties":{"caContainerMountPath":{"description":"Location to mount Proxy CA cert inside container","type":"string"},"caHostPath":{"description":"Location for Proxy CA cert on host nodes","type":"string"},"httpProxy":{"description":"URL for HTTP requests unless overridden by NoProxy","type":"string"},"httpsProxy":{"description":"HTTPS requests unless overridden by NoProxy","type":"string"},"noProxy":{"description":"NoProxy represents the NO_PROXY or no_proxy environment","type":"string"}},"type":"object"},"v1ClusterRbac":{"description":"Cluster RBAC role binding defintion","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1ClusterRbacSpec"},"status":{"$ref":"#/definitions/v1ClusterRbacStatus"}},"type":"object"},"v1ClusterRbacBinding":{"description":"Cluster RBAC binding","properties":{"namespace":{"type":"string"},"role":{"$ref":"#/definitions/v1ClusterRoleRef"},"subjects":{"items":{"$ref":"#/definitions/v1ClusterRbacSubjects"},"type":"array","uniqueItems":true},"type":{"enum":["RoleBinding","ClusterRoleBinding"],"type":"string"}},"type":"object"},"v1ClusterRbacEntity":{"properties":{"clusterRbac":{"description":"Cluster RBAC role bindings","items":{"$ref":"#/definitions/v1ResourceReference"},"type":"array"}}},"v1ClusterRbacInputEntity":{"description":"Cluster RBAC role binding defintion","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMetaUpdateEntity"},"spec":{"$ref":"#/definitions/v1ClusterRbacSpec"}},"type":"object"},"v1ClusterRbacResourcesUpdateEntity":{"properties":{"rbacs":{"items":{"$ref":"#/definitions/v1ClusterRbacInputEntity"},"type":"array","uniqueItems":true}},"type":"object"},"v1ClusterRbacSpec":{"description":"Cluster RBAC spec","properties":{"bindings":{"items":{"$ref":"#/definitions/v1ClusterRbacBinding"},"type":"array","uniqueItems":true},"relatedObject":{"$ref":"#/definitions/v1RelatedObject"}},"type":"object"},"v1ClusterRbacStatus":{"description":"Cluster rbac status","properties":{"errors":{"items":{"$ref":"#/definitions/v1ClusterResourceError"},"type":"array","uniqueItems":true}}},"v1ClusterRbacSubjects":{"description":"Cluster role ref","properties":{"name":{"type":"string"},"namespace":{"type":"string"},"type":{"enum":["User","Group","ServiceAccount"],"type":"string"}},"type":"object"},"v1ClusterRbacs":{"properties":{"items":{"items":{"$ref":"#/definitions/v1ClusterRbac"},"type":"array","uniqueItems":true}},"required":["items"],"type":"object"},"v1ClusterRefs":{"description":"Cluster Object References","properties":{"clusters":{"items":{"$ref":"#/definitions/v1ObjectReference"},"type":"array"}}},"v1ClusterRepaveSource":{"enum":["user","hubble","palette","stylus"],"type":"string"},"v1ClusterRepaveState":{"default":"Pending","enum":["Pending","Approved","Reverted"],"type":"string"},"v1ClusterRepaveStatus":{"description":"Cluster repave status","properties":{"state":{"$ref":"#/definitions/v1ClusterRepaveState"}}},"v1ClusterResourceAllocation":{"description":"Workspace resource allocation","properties":{"clusterUid":{"type":"string"},"resourceAllocation":{"$ref":"#/definitions/v1WorkspaceResourceAllocation"}}},"v1ClusterResourceError":{"description":"Cluster resource error","properties":{"msg":{"type":"string"},"name":{"type":"string"},"resourceType":{"type":"string"}}},"v1ClusterResources":{"properties":{"namespaces":{"description":"Cluster namespaces","items":{"$ref":"#/definitions/v1ResourceReference"},"type":"array"},"rbacs":{"description":"Cluster RBAC role bindings","items":{"$ref":"#/definitions/v1ResourceReference"},"type":"array"}},"type":"object"},"v1ClusterResourcesEntity":{"properties":{"namespaces":{"items":{"$ref":"#/definitions/v1ClusterNamespaceResourceInputEntity"},"type":"array","uniqueItems":true},"rbacs":{"items":{"$ref":"#/definitions/v1ClusterRbacInputEntity"},"type":"array","uniqueItems":true}},"type":"object"},"v1ClusterRestore":{"description":"Cluster Restore","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1ClusterRestoreSpec"},"status":{"$ref":"#/definitions/v1ClusterRestoreStatus"}}},"v1ClusterRestoreConfig":{"description":"Cluster restore config","properties":{"backupName":{"type":"string"},"backupRequestUid":{"type":"string"},"destinationClusterUid":{"type":"string"},"includeClusterResources":{"type":"boolean"},"includeNamespaces":{"items":{"type":"string"},"type":"array","uniqueItems":true},"preserveNodePorts":{"type":"boolean"},"restorePVs":{"type":"boolean"}},"required":["backupRequestUid","backupName","destinationClusterUid"]},"v1ClusterRestoreSpec":{"description":"Cluster Restore Spec","properties":{"clusterUid":{"type":"string"}}},"v1ClusterRestoreStatus":{"description":"Cluster Restore Status","properties":{"clusterRestoreStatuses":{"items":{"$ref":"#/definitions/v1ClusterRestoreStatusMeta"},"type":"array"}}},"v1ClusterRestoreStatusMeta":{"description":"Cluster Restore Status Meta","properties":{"actor":{"$ref":"#/definitions/v1ClusterFeatureActor"},"backupName":{"type":"string"},"backupRequestUid":{"type":"string"},"restoreRequestUid":{"type":"string"},"restoreStatusMeta":{"$ref":"#/definitions/v1RestoreStatusMeta"},"sourceClusterRef":{"$ref":"#/definitions/v1ResourceReference"},"state":{"type":"string"}}},"v1ClusterRoleRef":{"description":"Cluster role ref","properties":{"kind":{"enum":["Role","ClusterRole"],"type":"string"},"name":{"type":"string"}},"type":"object"},"v1ClusterScanLogKubeBench":{"description":"Cluster compliance scan KubeBench Log","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1ClusterComplianceScanLogSpec"},"status":{"$ref":"#/definitions/v1ClusterKubeBenchLogStatus"}}},"v1ClusterScanLogKubeHunter":{"description":"Cluster compliance scan KubeHunter Log","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1ClusterComplianceScanLogSpec"},"status":{"$ref":"#/definitions/v1ClusterKubeHunterLogStatus"}}},"v1ClusterScanLogSonobuoy":{"description":"Cluster compliance scan Sonobuoy Log","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1ClusterComplianceScanLogSpec"},"status":{"$ref":"#/definitions/v1ClusterSonobuoyLogStatus"}}},"v1ClusterScanLogSyft":{"description":"Cluster Compliance Scan Syft Log","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1ClusterComplianceScanLogSpec"},"status":{"$ref":"#/definitions/v1ClusterSyftLogStatus"}}},"v1ClusterScanTime":{"description":"Cluster compliance scan Time","properties":{"endTime":{"$ref":"#/definitions/v1Time"},"startTime":{"$ref":"#/definitions/v1Time"}}},"v1ClusterSearchInputSpec":{"properties":{"inputs":{"additionalProperties":{"$ref":"#/definitions/v1ClusterSearchInputSpecProperty"},"type":"object"}}},"v1ClusterSearchInputSpecProperty":{"properties":{"values":{"items":{"$ref":"#/definitions/v1ObjectEntity"},"type":"array","x-omitempty":true}}},"v1ClusterSonobuoyLogStatus":{"description":"Cluster compliance scan Sonobuoy Log Status","properties":{"actor":{"$ref":"#/definitions/v1ClusterFeatureActor"},"message":{"type":"string"},"reports":{"additionalProperties":{"$ref":"#/definitions/v1SonobuoyReport"},"type":"object"},"requestUid":{"type":"string"},"scanTime":{"$ref":"#/definitions/v1ClusterScanTime"},"state":{"type":"string"}}},"v1ClusterState":{"enum":["Pending","Provisioning","Running","Deleting","Deleted","Error","Importing"],"type":"string"},"v1ClusterSyftLogStatus":{"description":"Cluster compliance scan Syft Log Status","properties":{"actor":{"$ref":"#/definitions/v1ClusterFeatureActor"},"location":{"$ref":"#/definitions/v1ObjectEntity"},"message":{"type":"string"},"reports":{"items":{"$ref":"#/definitions/v1SyftReport"},"type":"array"},"requestUid":{"type":"string"},"scanContext":{"$ref":"#/definitions/v1SyftScanContext"},"scanTime":{"$ref":"#/definitions/v1ClusterScanTime"},"state":{"type":"string"}}},"v1ClusterUpgradeSettingsEntity":{"properties":{"spectroComponents":{"enum":["lock","unlock"],"type":"string"}}},"v1ClusterUsageSummary":{"description":"Cluster usage summary","properties":{"cpuCores":{"type":"number","x-omitempty":false},"isAlloy":{"type":"boolean","x-omitempty":false},"name":{"type":"string"},"uid":{"type":"string"}},"type":"object"},"v1ClusterVirtualMachine":{"description":"VirtualMachine handles the VirtualMachines that are not running\nor are in a stopped state\nThe VirtualMachine contains the template to create the\nVirtualMachineInstance. It also mirrors the running state of the created\nVirtualMachineInstance in its status.","properties":{"apiVersion":{"description":"APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values.","type":"string"},"kind":{"description":"Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase.","type":"string"},"metadata":{"$ref":"#/definitions/v1VmObjectMeta"},"spec":{"$ref":"#/definitions/v1ClusterVirtualMachineSpec"},"status":{"$ref":"#/definitions/v1ClusterVirtualMachineStatus"}},"required":["spec"]},"v1ClusterVirtualMachineList":{"description":"VirtualMachineList is a list of virtual machines","properties":{"apiVersion":{"description":"APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values.","type":"string"},"items":{"items":{"$ref":"#/definitions/v1ClusterVirtualMachine"},"type":"array"},"kind":{"description":"Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds","type":"string"},"metadata":{"$ref":"#/definitions/v1VmListMeta"}},"required":["items"],"type":"object"},"v1ClusterVirtualMachineSpec":{"description":"VirtualMachineSpec describes how the proper VirtualMachine should look like","properties":{"dataVolumeTemplates":{"description":"dataVolumeTemplates is a list of dataVolumes that the VirtualMachineInstance template can reference. DataVolumes in this list are dynamically created for the VirtualMachine and are tied to the VirtualMachine's life-cycle.","items":{"$ref":"#/definitions/v1VmDataVolumeTemplateSpec"},"type":"array"},"instancetype":{"$ref":"#/definitions/v1VmInstancetypeMatcher"},"preference":{"$ref":"#/definitions/v1VmPreferenceMatcher"},"runStrategy":{"description":"Running state indicates the requested running state of the VirtualMachineInstance mutually exclusive with Running","type":"string"},"running":{"description":"Running controls whether the associatied VirtualMachineInstance is created or not Mutually exclusive with RunStrategy","type":"boolean"},"template":{"$ref":"#/definitions/v1VmVirtualMachineInstanceTemplateSpec"}},"required":["template"],"type":"object"},"v1ClusterVirtualMachineStatus":{"description":"VirtualMachineStatus represents the status returned by the controller to describe how the VirtualMachine is doing","properties":{"conditions":{"description":"Hold the state information of the VirtualMachine and its VirtualMachineInstance","items":{"$ref":"#/definitions/v1VmVirtualMachineCondition"},"type":"array"},"created":{"description":"Created indicates if the virtual machine is created in the cluster","type":"boolean"},"memoryDumpRequest":{"$ref":"#/definitions/v1VmVirtualMachineMemoryDumpRequest"},"printableStatus":{"description":"PrintableStatus is a human readable, high-level representation of the status of the virtual machine","type":"string"},"ready":{"description":"Ready indicates if the virtual machine is running and ready","type":"boolean"},"restoreInProgress":{"description":"RestoreInProgress is the name of the VirtualMachineRestore currently executing","type":"string"},"snapshotInProgress":{"description":"SnapshotInProgress is the name of the VirtualMachineSnapshot currently executing","type":"string"},"startFailure":{"$ref":"#/definitions/v1VmVirtualMachineStartFailure"},"stateChangeRequests":{"description":"StateChangeRequests indicates a list of actions that should be taken on a VMI e.g. stop a specific VMI then start a new one.","items":{"$ref":"#/definitions/v1VmVirtualMachineStateChangeRequest"},"type":"array"},"volumeRequests":{"description":"VolumeRequests indicates a list of volumes add or remove from the VMI template and hotplug on an active running VMI.","items":{"$ref":"#/definitions/v1VmVirtualMachineVolumeRequest"},"type":"array","x-kubernetes-list-type":"atomic"},"volumeSnapshotStatuses":{"description":"VolumeSnapshotStatuses indicates a list of statuses whether snapshotting is supported by each volume.","items":{"$ref":"#/definitions/v1VmVolumeSnapshotStatus"},"type":"array"}},"type":"object","x-nullable":true},"v1ClusterVirtualPacksValue":{"description":"Virtual cluster packs value","properties":{"distroType":{"type":"string"},"layer":{"type":"string"},"values":{"type":"string"}},"type":"object"},"v1ClusterVirtualPacksValues":{"description":"Virtual cluster packs values","properties":{"packs":{"items":{"$ref":"#/definitions/v1ClusterVirtualPacksValue"},"type":"array"}},"type":"object"},"v1ClusterWorkload":{"description":"Cluster workload summary","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMetaInputEntity"},"spec":{"$ref":"#/definitions/v1ClusterWorkloadSpec"}},"type":"object"},"v1ClusterWorkloadCondition":{"description":"Cluster workload condition","properties":{"lastTransitionTime":{"$ref":"#/definitions/v1Time"},"lastUpdateTime":{"$ref":"#/definitions/v1Time"},"message":{"type":"string"},"reason":{"type":"string"},"status":{"type":"string"},"type":{"type":"string"}},"type":"object"},"v1ClusterWorkloadCronJob":{"description":"Cluster workload cronjob summary","properties":{"metadata":{"$ref":"#/definitions/v1ClusterWorkloadMetadata"},"spec":{"$ref":"#/definitions/v1ClusterWorkloadCronJobSpec"},"status":{"$ref":"#/definitions/v1ClusterWorkloadCronJobStatus"}},"type":"object"},"v1ClusterWorkloadCronJobSpec":{"description":"Cluster workload cronjob spec","properties":{"schedule":{"type":"string"}},"type":"object"},"v1ClusterWorkloadCronJobStatus":{"description":"Cluster workload cronjob status","properties":{"lastScheduleTime":{"$ref":"#/definitions/v1Time"}},"type":"object"},"v1ClusterWorkloadCronJobs":{"description":"Cluster workload cronjobs summary","properties":{"cronJobs":{"items":{"$ref":"#/definitions/v1ClusterWorkloadCronJob"},"type":"array"}},"type":"object"},"v1ClusterWorkloadDaemonSet":{"description":"Cluster workload daemonset summary","properties":{"metadata":{"$ref":"#/definitions/v1ClusterWorkloadMetadata"},"status":{"$ref":"#/definitions/v1ClusterWorkloadDaemonSetStatus"}},"type":"object"},"v1ClusterWorkloadDaemonSetStatus":{"description":"Cluster workload daemonset status","properties":{"available":{"format":"int32","type":"integer"},"currentScheduled":{"format":"int32","type":"integer"},"desiredScheduled":{"format":"int32","type":"integer"},"misScheduled":{"format":"int32","type":"integer"},"ready":{"format":"int32","type":"integer"},"updatedScheduled":{"format":"int32","type":"integer"}},"type":"object"},"v1ClusterWorkloadDaemonSets":{"description":"Cluster workload daemonset summary","properties":{"daemonSets":{"items":{"$ref":"#/definitions/v1ClusterWorkloadDaemonSet"},"type":"array"}},"type":"object"},"v1ClusterWorkloadDeployment":{"description":"Cluster workload deployment summary","properties":{"metadata":{"$ref":"#/definitions/v1ClusterWorkloadMetadata"},"status":{"$ref":"#/definitions/v1ClusterWorkloadDeploymentStatus"}},"type":"object"},"v1ClusterWorkloadDeploymentStatus":{"description":"Cluster workload deployment status","properties":{"replicas":{"$ref":"#/definitions/v1ClusterWorkloadReplicaStatus"}},"type":"object"},"v1ClusterWorkloadDeployments":{"description":"Cluster workload deployments summary","properties":{"deployments":{"items":{"$ref":"#/definitions/v1ClusterWorkloadDeployment"},"type":"array"}},"type":"object"},"v1ClusterWorkloadJob":{"description":"Cluster workload job summary","properties":{"metadata":{"$ref":"#/definitions/v1ClusterWorkloadMetadata"},"status":{"$ref":"#/definitions/v1ClusterWorkloadJobStatus"}},"type":"object"},"v1ClusterWorkloadJobStatus":{"description":"Cluster workload job status","properties":{"completionTime":{"$ref":"#/definitions/v1Time"},"conditions":{"items":{"$ref":"#/definitions/v1ClusterWorkloadCondition"},"type":"array"},"startTime":{"$ref":"#/definitions/v1Time"},"succeeded":{"format":"int32","type":"integer"}},"type":"object"},"v1ClusterWorkloadJobs":{"description":"Cluster workload jobs summary","properties":{"jobs":{"items":{"$ref":"#/definitions/v1ClusterWorkloadJob"},"type":"array"}},"type":"object"},"v1ClusterWorkloadMetadata":{"description":"Cluster workload metadata","properties":{"creationTimestamp":{"$ref":"#/definitions/v1Time"},"entity":{"$ref":"#/definitions/v1ClusterWorkloadRef"},"labels":{"additionalProperties":{"type":"string"},"type":"object"},"namespace":{"type":"string"}},"type":"object"},"v1ClusterWorkloadNamespace":{"description":"Cluster workload namespace summary","properties":{"metadata":{"$ref":"#/definitions/v1ClusterWorkloadMetadata"},"status":{"$ref":"#/definitions/v1ClusterWorkloadNamespaceStatus"}},"type":"object"},"v1ClusterWorkloadNamespaceStatus":{"description":"Cluster workload namespace status","properties":{"phase":{"type":"string"}},"type":"object"},"v1ClusterWorkloadNamespaces":{"description":"Cluster workload namespaces summary","properties":{"namespaces":{"items":{"$ref":"#/definitions/v1ClusterWorkloadNamespace"},"type":"array"}}},"v1ClusterWorkloadPod":{"description":"Cluster workload pod summary","properties":{"metadata":{"$ref":"#/definitions/v1ClusterWorkloadPodMetadata"},"spec":{"$ref":"#/definitions/v1ClusterWorkloadPodSpec"},"status":{"$ref":"#/definitions/v1ClusterWorkloadPodStatus"}},"type":"object"},"v1ClusterWorkloadPodContainer":{"description":"Cluster workload pod container","properties":{"image":{"type":"string"},"name":{"type":"string"},"resources":{"$ref":"#/definitions/v1ClusterWorkloadPodContainerResources"}},"type":"object"},"v1ClusterWorkloadPodContainerResource":{"description":"Cluster workload pod container resource","properties":{"cpu":{"format":"int32","type":"integer","x-omitempty":false},"cpuUnit":{"type":"string"},"memory":{"format":"int64","type":"integer","x-omitempty":false},"memoryUnit":{"type":"string"}},"type":"object"},"v1ClusterWorkloadPodContainerResources":{"description":"Cluster workload pod container resources","properties":{"limits":{"$ref":"#/definitions/v1ClusterWorkloadPodContainerResource"},"requests":{"$ref":"#/definitions/v1ClusterWorkloadPodContainerResource"}},"type":"object"},"v1ClusterWorkloadPodContainerState":{"description":"Cluster workload pod container state","properties":{"exitCode":{"format":"int32","type":"integer","x-omitempty":false},"finishedAt":{"$ref":"#/definitions/v1Time"},"reason":{"type":"string"},"startedAt":{"$ref":"#/definitions/v1Time"},"state":{"type":"string"}},"type":"object"},"v1ClusterWorkloadPodContainerStatus":{"description":"Cluster workload pod container status","properties":{"image":{"type":"string"},"name":{"type":"string"},"ready":{"type":"boolean","x-omitempty":false},"restartCount":{"format":"int32","type":"integer","x-omitempty":false},"started":{"type":"boolean","x-omitempty":false},"state":{"$ref":"#/definitions/v1ClusterWorkloadPodContainerState"}},"type":"object"},"v1ClusterWorkloadPodMetadata":{"description":"Cluster workload pod metadata","properties":{"associatedRefs":{"items":{"$ref":"#/definitions/v1ClusterWorkloadRef"},"type":"array"},"creationTimestamp":{"$ref":"#/definitions/v1Time"},"entity":{"$ref":"#/definitions/v1ClusterWorkloadRef"},"labels":{"additionalProperties":{"type":"string"},"type":"object"},"machineUid":{"type":"string"},"namespace":{"type":"string"},"nodename":{"type":"string"}},"type":"object"},"v1ClusterWorkloadPodSpec":{"description":"Cluster workload pod spec","properties":{"containers":{"items":{"$ref":"#/definitions/v1ClusterWorkloadPodContainer"},"type":"array"},"volumes":{"items":{"$ref":"#/definitions/v1ClusterWorkloadPodVolume"},"type":"array"}},"type":"object"},"v1ClusterWorkloadPodStatus":{"description":"Cluster workload pod status","properties":{"containers":{"items":{"$ref":"#/definitions/v1ClusterWorkloadPodContainerStatus"},"type":"array"},"phase":{"type":"string"},"podIp":{"type":"string"},"qosClass":{"type":"string"}},"type":"object"},"v1ClusterWorkloadPodVolume":{"description":"Cluster workload pod volume","properties":{"name":{"type":"string"}},"type":"object"},"v1ClusterWorkloadPods":{"description":"Cluster workload pods summary","properties":{"pods":{"items":{"$ref":"#/definitions/v1ClusterWorkloadPod"},"type":"array"}}},"v1ClusterWorkloadRef":{"description":"Cluster workload ref","properties":{"kind":{"type":"string"},"name":{"type":"string"},"uid":{"type":"string"}},"type":"object"},"v1ClusterWorkloadReplicaStatus":{"description":"Cluster workload replica status","properties":{"available":{"format":"int32","type":"integer","x-omitempty":false},"ready":{"format":"int32","type":"integer","x-omitempty":false},"total":{"format":"int32","type":"integer","x-omitempty":false},"updated":{"format":"int32","type":"integer","x-omitempty":false}},"type":"object"},"v1ClusterWorkloadRoleBinding":{"description":"Cluster workload rbac binding summary","properties":{"metadata":{"$ref":"#/definitions/v1ClusterWorkloadMetadata"},"spec":{"$ref":"#/definitions/v1ClusterRbacBinding"}},"type":"object"},"v1ClusterWorkloadRoleBindings":{"description":"Cluster workload rbac bindings summary","properties":{"bindings":{"items":{"$ref":"#/definitions/v1ClusterWorkloadRoleBinding"},"type":"array"}},"type":"object"},"v1ClusterWorkloadSpec":{"description":"Cluster workload spec","properties":{"clusterroleBindings":{"items":{"$ref":"#/definitions/v1ClusterWorkloadRoleBinding"},"type":"array"},"cronJobs":{"items":{"$ref":"#/definitions/v1ClusterWorkloadCronJob"},"type":"array"},"daemonSets":{"items":{"$ref":"#/definitions/v1ClusterWorkloadDaemonSet"},"type":"array"},"deployments":{"items":{"$ref":"#/definitions/v1ClusterWorkloadDeployment"},"type":"array"},"jobs":{"items":{"$ref":"#/definitions/v1ClusterWorkloadJob"},"type":"array"},"pods":{"items":{"$ref":"#/definitions/v1ClusterWorkloadPod"},"type":"array"},"roleBindings":{"items":{"$ref":"#/definitions/v1ClusterWorkloadRoleBinding"},"type":"array"},"statefulSets":{"items":{"$ref":"#/definitions/v1ClusterWorkloadStatefulSet"},"type":"array"}},"type":"object"},"v1ClusterWorkloadStatefulSet":{"description":"Cluster workload statefulset summary","properties":{"metadata":{"$ref":"#/definitions/v1ClusterWorkloadMetadata"},"status":{"$ref":"#/definitions/v1ClusterWorkloadStatefulSetStatus"}},"type":"object"},"v1ClusterWorkloadStatefulSetStatus":{"description":"Cluster workload statefulset status","properties":{"replicas":{"$ref":"#/definitions/v1ClusterWorkloadReplicaStatus"}},"type":"object"},"v1ClusterWorkloadStatefulSets":{"description":"Cluster workload statefulsets summary","properties":{"statefulSets":{"items":{"$ref":"#/definitions/v1ClusterWorkloadStatefulSet"},"type":"array"}},"type":"object"},"v1ClusterWorkloadsFilter":{"description":"Cluster workloads filter","properties":{"namespaces":{"items":{"type":"string"},"type":"array","uniqueItems":true}},"type":"object"},"v1ClusterWorkloadsSpec":{"description":"Cluster workloads spec","properties":{"filter":{"$ref":"#/definitions/v1ClusterWorkloadsFilter"}},"type":"object"},"v1ClustersInfo":{"description":"Active clusters information","properties":{"clustersMeta":{"items":{"$ref":"#/definitions/v1ClusterMeta"},"type":"array","uniqueItems":true},"totalActiveClusters":{"format":"int64","type":"number"},"totalActiveGreenFieldClusters":{"format":"int64","type":"number"},"totalActiveImportedClusters":{"format":"int64","type":"number"},"totalClustersDeleted":{"format":"int64","type":"number"},"totalClustersDeployed":{"format":"int64","type":"number"}},"type":"object"},"v1ComplianceScanConfig":{"description":"Compliance Scan config","properties":{"schedule":{"$ref":"#/definitions/v1ClusterFeatureSchedule"}}},"v1ComplianceScanDriverSpec":{"description":"Compliance Scan driver spec","properties":{"config":{"$ref":"#/definitions/v1ComplianceScanConfig"},"isClusterConfig":{"type":"boolean"}}},"v1ComputeMetrics":{"description":"Compute metrics","properties":{"lastUpdatedTime":{"$ref":"#/definitions/v1Time"},"limit":{"type":"number","x-omitempty":false},"request":{"type":"number","x-omitempty":false},"total":{"type":"number","x-omitempty":false},"unit":{"type":"string"},"usage":{"type":"number","x-omitempty":false}},"type":"object"},"v1ComputeRate":{"description":"Compute estimated rate information","properties":{"rate":{"format":"float64","type":"number","x-omitempty":false},"type":{"type":"string"}},"type":"object"},"v1ConfigReverseProxy":{"description":"Describes the reverse proxy configuration","properties":{"caCert":{"description":"Describes the ca certificate for system's reverse proxy","type":"string"},"clientCert":{"description":"Describes the client certificate for system's reverse proxy","type":"string"},"clientKey":{"description":"Describes the client certificate key for system's reverse proxy","type":"string"},"port":{"description":"Describes the system's reverse proxy server port","type":"integer"},"protocol":{"description":"Describes the system's reverse proxy server protocol. Possible values [https, http]","enum":["http","https"],"type":"string"},"server":{"description":"Describes the system's reverse proxy server","type":"string"}}},"v1ConstraintError":{"properties":{"code":{"type":"string"},"message":{"type":"string"}},"type":"object"},"v1ConstraintValidatorResponse":{"description":"Constraint validator response","properties":{"results":{"items":{"$ref":"#/definitions/v1ConstraintValidatorResult"},"type":"array","uniqueItems":true}},"type":"object"},"v1ConstraintValidatorResult":{"description":"Constraint validator result","properties":{"displayName":{"type":"string"},"errors":{"items":{"$ref":"#/definitions/v1ConstraintError"},"type":"array","uniqueItems":true},"name":{"type":"string"}},"type":"object"},"v1ControlPlaneEndPoint":{"properties":{"ddnsSearchDomain":{"description":"DDNSSearchDomain is the search domain used for resolving IP addresses when the EndpointType is DDNS. This search domain is appended to the generated Hostname to obtain the complete DNS name for the endpoint. If Host is already a DDNS FQDN, DDNSSearchDomain is not required","type":"string"},"host":{"description":"IP or FQDN(External/DDNS)","type":"string"},"type":{"description":"VIP or External","enum":["VIP","External","DDNS"],"type":"string"}},"type":"object"},"v1ControlPlaneHealthCheckTimeoutEntity":{"properties":{"controlPlaneHealthCheckTimeout":{"description":"ControlPlaneHealthCheckTimeout is the timeout to check for ready state of the control plane nodes","type":"string"}},"type":"object"},"v1CoxEdgeAccount":{"description":"CoxEdge cloud account information","properties":{"apiVersion":{"description":"Deprecated. Not used for the resource info.","type":"string"},"kind":{"description":"Deprecated. Cloud type of the account.","type":"string"},"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1CoxEdgeCloudAccount"},"status":{"$ref":"#/definitions/v1CloudAccountStatus"}},"type":"object"},"v1CoxEdgeAccounts":{"properties":{"items":{"items":{"$ref":"#/definitions/v1CoxEdgeAccount"},"type":"array","uniqueItems":true},"listmeta":{"$ref":"#/definitions/v1ListMetaData"}},"required":["items"],"type":"object"},"v1CoxEdgeBaseUrls":{"description":"List of CoxEdge base urls","properties":{"baseUrls":{"items":{"type":"string"},"type":"array"}},"required":["baseUrls"],"type":"object"},"v1CoxEdgeCloudAccount":{"description":"CoxEdge cloud account","properties":{"apiBaseUrl":{"description":"The base url - used to make api calls","type":"string"},"apiKey":{"description":"CoxEdge cloud account ApiKey","type":"string"},"environment":{"description":"The environment belonging to the organization","type":"string"},"organizationId":{"description":"The Id of organization","type":"string"},"service":{"description":"The service for which the organization is allowed to provision resources","type":"string"}},"required":["apiBaseUrl","apiKey"],"type":"object"},"v1CoxEdgeCloudClusterConfigEntity":{"description":"CoxEdge cloud cluster config entity","properties":{"clusterConfig":{"$ref":"#/definitions/v1CoxEdgeClusterConfig"}},"type":"object"},"v1CoxEdgeCloudConfig":{"description":"CoxEdgeCloudConfig is the Schema for the coxedgecloudconfigs API","properties":{"apiVersion":{"description":"Deprecated. Not used for the resource info. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources","type":"string"},"kind":{"description":"Cloud type of the cloud config","type":"string"},"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1CoxEdgeCloudConfigSpec"},"status":{"$ref":"#/definitions/v1CoxEdgeCloudConfigStatus"}},"type":"object"},"v1CoxEdgeCloudConfigSpec":{"description":"CoxEdgeCloudConfigSpec defines the cloud configuration input by user This will translate to clusterspec/machinespec for cluster-api","properties":{"cloudAccountRef":{"$ref":"#/definitions/v1ObjectReference","description":"cloudAccountRef should point to the secret which contains GcpCloudAccount"},"clusterConfig":{"$ref":"#/definitions/v1CoxEdgeClusterConfig"},"machinePoolConfig":{"items":{"$ref":"#/definitions/v1CoxEdgeMachinePoolConfig"},"type":"array"}},"type":"object"},"v1CoxEdgeCloudConfigStatus":{"description":"CoxEdgeCloudConfigStatus defines the observed state of CoxEdgeCloudConfig The cloudimage info built by Mold is stored here image should be mapped to a specific machinepool","properties":{"conditions":{"description":"spectroAnsibleProvisioner: should be added only once, subsequent recocile will use the same provisioner SpectroAnsiblePacker bool `json:\"spectroAnsiblePacker,omitempty\"`","items":{"$ref":"#/definitions/v1ClusterCondition"},"type":"array"},"imageID":{"description":"For mold controller to identify if is there any changes in Pack","type":"string"}},"type":"object"},"v1CoxEdgeClusterConfig":{"description":"Cluster level configuration for coxedge cloud and applicable for all the machine pools","properties":{"coxEdgeLoadBalancerConfig":{"$ref":"#/definitions/v1CoxEdgeLoadBalancerConfig"},"coxEdgeWorkerLoadBalancerConfig":{"$ref":"#/definitions/v1CoxEdgeLoadBalancerConfig"},"environment":{"type":"string"},"organizationId":{"type":"string"},"sshAuthorizedKeys":{"description":"CoxEdge ssh authorized keys","items":{"type":"string"},"type":"array"}},"required":["sshAuthorizedKeys","coxEdgeLoadBalancerConfig"],"type":"object"},"v1CoxEdgeCredentials":{"description":"CoxEdge credentials to get organizations","properties":{"apiBaseUrl":{"description":"CoxEdge baseUrl - for api calls","type":"string"},"apiKey":{"description":"CoxEdge ApiKey - secret for api calls","type":"string"}},"type":"object"},"v1CoxEdgeDeployment":{"properties":{"cpuUtilization":{"format":"int32","type":"integer"},"enableAutoScaling":{"type":"boolean"},"instancesPerPop":{"format":"int32","type":"integer"},"maxInstancesPerPop":{"format":"int32","type":"integer"},"minInstancesPerPop":{"format":"int32","type":"integer"},"name":{"type":"string"},"pops":{"items":{"type":"string"},"type":"array"}}},"v1CoxEdgeEnvironment":{"description":"CoxEdge environment entity","properties":{"id":{"description":"CoxEdge environment id","type":"string"},"isDeleted":{"description":"CoxEdge environment state","type":"boolean"},"name":{"description":"CoxEdge environment name","type":"string"}},"type":"object"},"v1CoxEdgeEnvironments":{"description":"List of CoxEdge environments","properties":{"environments":{"items":{"$ref":"#/definitions/v1CoxEdgeEnvironment"},"type":"array"}},"required":["environments"],"type":"object"},"v1CoxEdgeEnvironmentsRequest":{"description":"Request payload to get CoxEdge environments","properties":{"credentials":{"$ref":"#/definitions/v1CoxEdgeCredentials"},"organizationId":{"description":"CoxEdge organizationId","type":"string"}},"type":"object"},"v1CoxEdgeInstanceTypes":{"description":"List of CoxEdge instance types","properties":{"instanceTypes":{"items":{"$ref":"#/definitions/v1InstanceType"},"type":"array"}},"type":"object"},"v1CoxEdgeLoadBalancerConfig":{"description":"CoxEdge loadbalancer config","properties":{"pops":{"description":"CoxEdge PoPs - geographical location for the loadbalancer","items":{"type":"string"},"type":"array"}},"type":"object"},"v1CoxEdgeLoadPersistentStorage":{"description":"CoxEdge load persistent storage","properties":{"path":{"description":"Coxedge load persistent storage path","type":"string"},"size":{"description":"Coxedge load persistent storage size","format":"int64","type":"integer"}},"type":"object"},"v1CoxEdgeMachine":{"description":"CoxEdge cloud VM definition","properties":{"apiVersion":{"description":"Deprecated. Not used for the resource info.","type":"string"},"kind":{"description":"Deprecated. Cloud type of the machine.","type":"string"},"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1CoxEdgeMachineSpec"},"status":{"$ref":"#/definitions/v1CloudMachineStatus"}},"type":"object"},"v1CoxEdgeMachinePoolCloudConfigEntity":{"properties":{"deployments":{"items":{"$ref":"#/definitions/v1CoxEdgeDeployment"},"type":"array"},"persistentStorages":{"description":"Array of coxedge load persistent storages","items":{"$ref":"#/definitions/v1CoxEdgeLoadPersistentStorage"},"type":"array","uniqueItems":true},"securityGroupRules":{"items":{"$ref":"#/definitions/v1CoxEdgeSecurityGroupRule"},"type":"array"},"spec":{"type":"string"}},"type":"object"},"v1CoxEdgeMachinePoolConfig":{"properties":{"additionalLabels":{"additionalProperties":{"type":"string"},"description":"additionalLabels","type":"object"},"additionalTags":{"additionalProperties":{"type":"string"},"description":"AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole","type":"object"},"deployments":{"items":{"$ref":"#/definitions/v1CoxEdgeDeployment"},"type":"array"},"instanceConfig":{"$ref":"#/definitions/v1InstanceConfig"},"isControlPlane":{"description":"whether this pool is for control plane","type":"boolean"},"labels":{"description":"labels for this pool, example: master/worker, gpu, windows","items":{"type":"string"},"type":"array"},"machinePoolProperties":{"$ref":"#/definitions/v1MachinePoolProperties"},"maxSize":{"description":"max size of the pool, for scaling","format":"int32","type":"integer"},"minSize":{"description":"min size of the pool, for scaling","format":"int32","type":"integer"},"name":{"type":"string"},"nodeRepaveInterval":{"description":"Minimum number of seconds a node should be Ready, before the next node is selected for repave. Applicable only for workerpools in infrastructure cluster","format":"int32","type":"integer"},"persistentStorages":{"description":"Array of coxedge load persistent storages","items":{"$ref":"#/definitions/v1CoxEdgeLoadPersistentStorage"},"type":"array","uniqueItems":true},"securityGroupRules":{"items":{"$ref":"#/definitions/v1CoxEdgeSecurityGroupRule"},"type":"array"},"size":{"description":"size of the pool, number of machines","format":"int32","type":"integer"},"spec":{"type":"string"},"taints":{"description":"master or worker taints","items":{"$ref":"#/definitions/v1Taint"},"type":"array","uniqueItems":true},"updateStrategy":{"$ref":"#/definitions/v1UpdateStrategy","description":"rolling update strategy for this machinepool if not specified, will use ScaleOut"},"useControlPlaneAsWorker":{"description":"if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools","type":"boolean"}},"required":["isControlPlane"],"type":"object"},"v1CoxEdgeMachinePoolConfigEntity":{"properties":{"cloudConfig":{"$ref":"#/definitions/v1CoxEdgeMachinePoolCloudConfigEntity"},"poolConfig":{"$ref":"#/definitions/v1MachinePoolConfigEntity"}},"required":["cloudConfig"],"type":"object"},"v1CoxEdgeMachineSpec":{"description":"CoxEdge cloud VM definition spec","properties":{"addAnycastIpAddress":{"type":"boolean"},"deployments":{"items":{"$ref":"#/definitions/v1CoxEdgeDeployment"},"type":"array"},"image":{"type":"string"},"persistentStorages":{"items":{"$ref":"#/definitions/v1CoxEdgeLoadPersistentStorage"},"type":"array"},"ports":{"items":{"$ref":"#/definitions/v1CoxEdgePort"},"type":"array"},"providerId":{"type":"string"},"specs":{"type":"string"},"sshAuthorizedKeys":{"items":{"type":"string"},"type":"array"}},"type":"object"},"v1CoxEdgeMachines":{"description":"CoxEdge machine list","properties":{"items":{"items":{"$ref":"#/definitions/v1CoxEdgeMachine"},"type":"array","uniqueItems":true},"listmeta":{"$ref":"#/definitions/v1ListMetaData"}},"required":["items"],"type":"object"},"v1CoxEdgeOrganization":{"description":"CoxEdge Organization entity","properties":{"id":{"description":"CoxEdge organization id","type":"string"},"isDeleted":{"description":"CoxEdge organization state","type":"boolean"},"name":{"description":"CoxEdge organization name","type":"string"}},"type":"object"},"v1CoxEdgeOrganizations":{"description":"List of CoxEdge organizations","properties":{"organizations":{"items":{"$ref":"#/definitions/v1CoxEdgeOrganization"},"type":"array"}},"required":["organizations"],"type":"object"},"v1CoxEdgePort":{"description":"CoxEdge network port","properties":{"protocol":{"type":"string"},"publicPort":{"type":"string"},"publicPortDesc":{"type":"string"}},"type":"object"},"v1CoxEdgeRegion":{"description":"CoxEdge region entity","properties":{"code":{"description":"Code of the CoxEdge region","type":"string"},"location":{"$ref":"#/definitions/v1ClusterLocation"},"name":{"description":"Name of the CoxEdge region","type":"string"}},"type":"object"},"v1CoxEdgeRegions":{"description":"List of CoxEdge regions","properties":{"regions":{"items":{"$ref":"#/definitions/v1CoxEdgeRegion"},"type":"array"}},"required":["regions"],"type":"object"},"v1CoxEdgeSecurityGroupRule":{"properties":{"action":{"enum":["block","allow"],"type":"string"},"description":{"type":"string"},"portRange":{"type":"string"},"protocol":{"enum":["TCP","UDP","TCP_UDP","ESP","AH","ICMP","GRE"],"type":"string"},"source":{"type":"string"},"type":{"type":"string"}}},"v1CoxEdgeService":{"description":"CoxEdge service entity","properties":{"code":{"description":"CoxEdge service code","type":"string"},"id":{"description":"CoxEdge service id","type":"string"},"name":{"description":"CoxEdge service name","type":"string"}},"type":"object"},"v1CoxEdgeServices":{"description":"List of CoxEdge services","properties":{"services":{"items":{"$ref":"#/definitions/v1CoxEdgeService"},"type":"array"}},"required":["services"],"type":"object"},"v1CustomAccount":{"description":"Custom account information","properties":{"apiVersion":{"description":"Deprecated. Not used for the resource info.","type":"string"},"kind":{"description":"Deprecated. Cloud type of the account.","type":"string"},"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1CustomCloudAccount"},"status":{"$ref":"#/definitions/v1CloudAccountStatus"}},"type":"object"},"v1CustomAccountEntity":{"description":"Custom account information","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMetaInputEntity"},"spec":{"$ref":"#/definitions/v1CustomCloudAccount"}},"type":"object"},"v1CustomAccounts":{"properties":{"items":{"items":{"$ref":"#/definitions/v1CustomAccount"},"type":"array","uniqueItems":true},"listmeta":{"$ref":"#/definitions/v1ListMetaData"}},"required":["items"],"type":"object"},"v1CustomCloudAccount":{"properties":{"credentials":{"additionalProperties":{"type":"string"},"description":"Cloud account credentials","type":"object"}},"required":["credentials"],"type":"object"},"v1CustomCloudClusterConfigEntity":{"description":"Custom cloud cluster config entity","properties":{"clusterConfig":{"$ref":"#/definitions/v1CustomClusterConfig"}},"type":"object"},"v1CustomCloudConfig":{"description":"CustomCloudConfig is the Schema for the custom cloudconfigs API","properties":{"kind":{"description":"Cloud type of the cloud config","type":"string"},"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1CustomCloudConfigSpec"}},"type":"object"},"v1CustomCloudConfigSpec":{"description":"CustomCloudConfigSpec defines the cloud configuration input by user This will translate to clusterspec/machinespec for cluster-api","properties":{"cloudAccountRef":{"$ref":"#/definitions/v1ObjectReference","description":"cloudAccountRef should point to the secret which contains CustomCloudAccount"},"clusterConfig":{"$ref":"#/definitions/v1CustomClusterConfig"},"machinePoolConfig":{"items":{"$ref":"#/definitions/v1CustomMachinePoolConfig"},"type":"array"}},"type":"object"},"v1CustomCloudMetaEntity":{"description":"Custom cloud meta entity","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta","description":"Custom cloud metadata"},"spec":{"$ref":"#/definitions/v1CustomCloudMetaSpecEntity"}},"type":"object"},"v1CustomCloudMetaSpecEntity":{"description":"Custom cloud spec response entity","properties":{"cloudCategory":{"$ref":"#/definitions/v1CloudCategory"},"displayName":{"description":"Custom cloud displayName","type":"string"},"isManaged":{"description":"If the custom cloud is a managed cluster","type":"boolean"},"logo":{"description":"Custom cloud logo","type":"string"}},"type":"object"},"v1CustomCloudRateConfig":{"description":"Private cloud rate config","properties":{"cloudType":{"type":"string"},"rateConfig":{"$ref":"#/definitions/v1PrivateCloudRateConfig"}}},"v1CustomCloudRequestEntity":{"description":"Custom cloud request entity","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMetaInputEntity","description":"Custom cloud metadata"},"spec":{"$ref":"#/definitions/v1CustomCloudSpecEntity"}},"type":"object"},"v1CustomCloudSpecEntity":{"description":"Custom cloud request entity spec","properties":{"cloudCategory":{"$ref":"#/definitions/v1CloudCategory"},"displayName":{"description":"Custom cloud displayName","type":"string"},"isControlPlaneManaged":{"description":"If the custom cloud is a managed cluster","type":"boolean"},"logo":{"description":"Custom cloud logo","type":"string"}},"type":"object"},"v1CustomCloudType":{"properties":{"cloudCategory":{"$ref":"#/definitions/v1CloudCategory"},"cloudFamily":{"description":"Cloud grouping as family","type":"string"},"displayName":{"description":"Custom cloudtype displayName","type":"string"},"isCustom":{"description":"If it is a custom cloudtype","type":"boolean","x-omitempty":false},"isManaged":{"description":"If custom cloudtype is managed","type":"boolean","x-omitempty":false},"isVertex":{"description":"If cloud is support for Vertex env","type":"boolean","x-omitempty":false},"logo":{"description":"Custom cloudtype logo","type":"string"},"name":{"description":"Custom cloudtype name","type":"string"}},"type":"object"},"v1CustomCloudTypeCloudAccountKeys":{"description":"Custom cloudType custom cloud account keys","properties":{"keys":{"description":"Array of custom cloud type cloud account keys","items":{"type":"string"},"type":"array"}},"type":"object"},"v1CustomCloudTypeContentResponse":{"description":"Custom cloudType content response","properties":{"yaml":{"description":"custom cloud type content","type":"string"}},"type":"object"},"v1CustomCloudTypes":{"description":"Custom cloudType content response","properties":{"cloudTypes":{"description":"Array of custom cloud types","items":{"$ref":"#/definitions/v1CustomCloudType"},"type":"array"}},"type":"object"},"v1CustomClusterConfig":{"description":"Cluster level configuration for Custom cloud and applicable for all the machine pools","properties":{"values":{"description":"YAML string for Cluster and CloudCluster","type":"string"}},"required":["values"],"type":"object"},"v1CustomClusterConfigEntity":{"properties":{"location":{"$ref":"#/definitions/v1ClusterLocation"},"machineManagementConfig":{"$ref":"#/definitions/v1MachineManagementConfig"},"resources":{"$ref":"#/definitions/v1ClusterResourcesEntity"}},"type":"object"},"v1CustomInstanceType":{"properties":{"diskGiB":{"description":"DiskGiB is the size of a custom machine's disk, in GiB","format":"int32","type":"integer"},"memoryMiB":{"description":"MemoryMiB is the size of a custom machine's memory, in MiB","format":"int64","type":"integer"},"name":{"type":"string"},"numCPUs":{"description":"NumCPUs is the number in a custom machine","format":"int32","type":"integer"}},"type":"object"},"v1CustomMachine":{"description":"Custom cloud VM definition","properties":{"apiVersion":{"description":"Deprecated. Not used for the resource info.","type":"string"},"kind":{"description":"Deprecated. Cloud type of the machine.","type":"string"},"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1CustomMachineSpec"},"status":{"$ref":"#/definitions/v1CloudMachineStatus"}},"type":"object"},"v1CustomMachinePoolBaseConfigEntity":{"description":"Machine pool configuration for the custom cluster","properties":{"additionalLabels":{"additionalProperties":{"type":"string"},"description":"Additional labels to be part of the machine pool","type":"object"},"isControlPlane":{"description":"Whether this pool is for control plane","type":"boolean","x-omitempty":false},"taints":{"description":"Master or worker taints","items":{"$ref":"#/definitions/v1Taint"},"type":"array","uniqueItems":true},"useControlPlaneAsWorker":{"description":"If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools","type":"boolean","x-omitempty":false}},"type":"object"},"v1CustomMachinePoolCloudConfigEntity":{"properties":{"values":{"description":"Machine pool configuration as yaml content","type":"string"}},"type":"object"},"v1CustomMachinePoolConfig":{"properties":{"additionalLabels":{"additionalProperties":{"type":"string"},"description":"additionalLabels","type":"object"},"isControlPlane":{"description":"whether this pool is for control plane","type":"boolean","x-omitempty":false},"name":{"type":"string"},"size":{"description":"size of the pool, number of machines","format":"int32","type":"integer"},"taints":{"description":"master or worker taints","items":{"$ref":"#/definitions/v1Taint"},"type":"array","uniqueItems":true},"useControlPlaneAsWorker":{"description":"if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools","type":"boolean","x-omitempty":false},"values":{"description":"YAML string for machine","type":"string"}},"required":["isControlPlane"],"type":"object"},"v1CustomMachinePoolConfigEntity":{"properties":{"cloudConfig":{"$ref":"#/definitions/v1CustomMachinePoolCloudConfigEntity"},"poolConfig":{"$ref":"#/definitions/v1CustomMachinePoolBaseConfigEntity"}},"required":["cloudConfig"],"type":"object"},"v1CustomMachineSpec":{"description":"Custom cloud VM definition spec","properties":{"cloudType":{"type":"string"},"hostName":{"type":"string"},"imageId":{"type":"string"},"instanceType":{"$ref":"#/definitions/v1CustomInstanceType"},"nics":{"items":{"$ref":"#/definitions/v1CustomNic"},"type":"array"},"sshKeyName":{"type":"string"}}},"v1CustomMachines":{"description":"List of Custom machines","properties":{"items":{"items":{"$ref":"#/definitions/v1CustomMachine"},"type":"array","uniqueItems":true},"listmeta":{"$ref":"#/definitions/v1ListMetaData"}},"required":["items"],"type":"object"},"v1CustomNic":{"description":"Custom network interface","properties":{"index":{"format":"int8","type":"integer"},"networkName":{"type":"string"},"privateIPs":{"items":{"type":"string"},"type":"array"},"publicIp":{"type":"string"}},"type":"object"},"v1DashboardWorkspace":{"description":"Workspace information","properties":{"meta":{"$ref":"#/definitions/v1DashboardWorkspaceMeta"},"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1DashboardWorkspaceSpec"},"status":{"$ref":"#/definitions/v1DashboardWorkspaceStatus"}}},"v1DashboardWorkspaceAllocation":{"description":"Workspace allocation","properties":{"cpu":{"$ref":"#/definitions/v1DashboardWorkspaceResourceAllocation"},"memory":{"$ref":"#/definitions/v1DashboardWorkspaceResourceAllocation"}}},"v1DashboardWorkspaceClusterRef":{"description":"Workspace cluster reference","properties":{"name":{"type":"string"},"uid":{"type":"string"}}},"v1DashboardWorkspaceMeta":{"description":"Deprecated. Workspace meta data","properties":{"clusterNames":{"description":"Deprecated. Use clusterRefs","items":{"type":"string"},"type":"array","uniqueItems":true},"clusterRefs":{"items":{"$ref":"#/definitions/v1DashboardWorkspaceClusterRef"},"type":"array","uniqueItems":true},"creationTime":{"$ref":"#/definitions/v1Time"},"name":{"type":"string"},"namespaces":{"items":{"type":"string"},"type":"array","uniqueItems":true},"uid":{"type":"string"}}},"v1DashboardWorkspaceNamespaceAllocation":{"description":"Workspace namespace allocation","properties":{"name":{"type":"string"},"total":{"$ref":"#/definitions/v1DashboardWorkspaceAllocation"}}},"v1DashboardWorkspaceQuota":{"description":"Workspace resource quota","properties":{"resourceAllocation":{"$ref":"#/definitions/v1DashboardWorkspaceQuotaResourceAllocation"}}},"v1DashboardWorkspaceQuotaResourceAllocation":{"description":"Workspace quota resource allocation","properties":{"cpu":{"exclusiveMinimum":true,"minimum":0,"type":"number"},"memory":{"exclusiveMinimum":true,"minimum":0,"type":"number"}}},"v1DashboardWorkspaceResourceAllocation":{"description":"Workspace resource allocation","properties":{"allocated":{"format":"float64","type":"number","x-omitempty":false},"usage":{"format":"float64","type":"number","x-omitempty":false}}},"v1DashboardWorkspaceSpec":{"description":"Workspace spec summary","properties":{"clusterRefs":{"items":{"$ref":"#/definitions/v1DashboardWorkspaceClusterRef"},"type":"array","uniqueItems":true},"namespaces":{"items":{"type":"string"},"type":"array","uniqueItems":true},"quota":{"$ref":"#/definitions/v1DashboardWorkspaceQuota"}}},"v1DashboardWorkspaceStatus":{"description":"Workspace status","properties":{"namespaces":{"items":{"$ref":"#/definitions/v1DashboardWorkspaceNamespaceAllocation"},"type":"array","uniqueItems":true},"total":{"$ref":"#/definitions/v1DashboardWorkspaceAllocation"}}},"v1DashboardWorkspaces":{"properties":{"cpuUnit":{"type":"string"},"items":{"items":{"$ref":"#/definitions/v1DashboardWorkspace"},"type":"array","uniqueItems":true},"memoryUnit":{"type":"string"}},"required":["items"],"type":"object"},"v1DataSinkConfig":{"description":"Data sink","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1DataSinkSpec"}},"type":"object"},"v1DataSinkSpec":{"properties":{"auditDataSinks":{"items":{"$ref":"#/definitions/v1DataSinkableSpec"},"type":"array","uniqueItems":true}},"type":"object"},"v1DataSinkableSpec":{"properties":{"cloudWatch":{"$ref":"#/definitions/v1CloudWatch"},"type":{"enum":["cloudwatch"],"type":"string"}},"type":"object"},"v1DatabaseTransferJob":{"description":"database transfer job details","properties":{"backupStatus":{"$ref":"#/definitions/v1TransferJob"},"backupUid":{"type":"string"},"mode":{"enum":["FileSystem","Ftp"],"type":"string"}},"type":"object"},"v1DatabaseTransferStatus":{"description":"database transfer status","properties":{"backups":{"items":{"$ref":"#/definitions/v1DatabaseTransferJob"},"type":"array"},"isActive":{"type":"boolean"}},"type":"object"},"v1DeleteMeta":{"description":"Properties to send back after deletion operation","properties":{"count":{"format":"int64","type":"integer"},"items":{"additionalProperties":{"type":"string"},"type":"object"}}},"v1DeletedMsg":{"description":"Deleted response with message","properties":{"msg":{"type":"string"}}},"v1DeveloperCredit":{"description":"Credits allocated for each tenant/user","properties":{"cpu":{"description":"cpu in cores","format":"int32","type":"number","x-omitempty":false},"memoryGiB":{"description":"memory in GiB","format":"int32","type":"number","x-omitempty":false},"storageGiB":{"description":"storage in GiB","format":"int32","type":"integer","x-omitempty":false},"virtualClustersLimit":{"description":"number of active virtual clusters","format":"int32","type":"number","x-omitempty":false}}},"v1DeviceSpec":{"description":"DeviceSpec defines the desired state of Device","properties":{"archType":{"default":"amd64","description":"Architecture type of the edge host","enum":["arm64","amd64"],"type":"string"},"cpu":{"$ref":"#/definitions/v1CPU"},"disks":{"items":{"$ref":"#/definitions/v1Disk"},"type":"array"},"gpus":{"items":{"$ref":"#/definitions/v1GPUDeviceSpec"},"type":"array"},"memory":{"$ref":"#/definitions/v1Memory"},"nics":{"items":{"$ref":"#/definitions/v1Nic"},"type":"array"},"os":{"$ref":"#/definitions/v1OS"}},"type":"object"},"v1Disk":{"properties":{"controller":{"type":"string"},"partitions":{"items":{"$ref":"#/definitions/v1Partition"},"type":"array"},"size":{"description":"Size in GB","format":"int32","type":"integer"},"vendor":{"type":"string"}},"type":"object"},"v1DomainHost":{"description":"update domain host for application. RootDomain gets dervied from domain host url","properties":{"host":{"type":"string"}},"type":"object"},"v1EcrAuthorizationRequestEntity":{"description":"Ecr registry credentials entity","properties":{"awsCloudAccount":{"$ref":"#/definitions/v1AwsCloudAccount"},"endpoint":{"description":"Endpoint url to make the request","type":"string"},"isPrivate":{"description":"If it is public or private","type":"boolean"},"region":{"description":"Name of the region","type":"string"}},"type":"object"},"v1EcrImageEntity":{"properties":{"name":{"description":"Image name","type":"string"},"tag":{"description":"Image tag","type":"string"}},"type":"object"},"v1EcrImageValidateEntity":{"description":"Ecr registry image meta","properties":{"authEntity":{"$ref":"#/definitions/v1EcrAuthorizationRequestEntity"},"imageTag":{"description":"Name of the image tag","type":"string"},"images":{"description":"Ecr Image Entity","items":{"$ref":"#/definitions/v1EcrImageEntity"},"type":"array"},"repoName":{"description":"Name of the repo","type":"string"}},"type":"object"},"v1EcrRegistry":{"description":"Ecr registry information","properties":{"kind":{"type":"string"},"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1EcrRegistrySpec"}},"type":"object"},"v1EcrRegistrySpec":{"description":"Ecr registry spec","properties":{"baseContentPath":{"description":"OCI ecr registry content base path","type":"string"},"credentials":{"$ref":"#/definitions/v1AwsCloudAccount"},"defaultRegion":{"type":"string"},"endpoint":{"type":"string"},"isPrivate":{"type":"boolean"},"providerType":{"default":"helm","enum":["helm","pack"],"type":"string"},"registryUid":{"description":"Ecr registry uid","type":"string"},"scope":{"type":"string"},"tls":{"$ref":"#/definitions/v1TlsConfiguration"}},"required":["endpoint","isPrivate"],"type":"object"},"v1EdgeCloudClusterConfigEntity":{"description":"Edge cloud cluster config entity","properties":{"clusterConfig":{"$ref":"#/definitions/v1EdgeClusterConfig"}},"type":"object"},"v1EdgeCloudConfig":{"description":"EdgeCloudConfig is the Schema for the Edgecloudconfigs API","properties":{"apiVersion":{"description":"Deprecated. Not used for the resource info. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources","type":"string"},"kind":{"description":"Cloud type of the cloud config","type":"string"},"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1EdgeCloudConfigSpec"},"status":{"$ref":"#/definitions/v1EdgeCloudConfigStatus"}},"type":"object"},"v1EdgeCloudConfigSpec":{"description":"EdgeCloudConfigSpec defines the desired state of EdgeCloudConfig","properties":{"clusterConfig":{"$ref":"#/definitions/v1EdgeClusterConfig"},"machinePoolConfig":{"items":{"$ref":"#/definitions/v1EdgeMachinePoolConfig"},"type":"array"}},"required":["clusterConfig","machinePoolConfig"],"type":"object"},"v1EdgeCloudConfigStatus":{"properties":{"conditions":{"items":{"$ref":"#/definitions/v1ClusterCondition"},"type":"array"},"nodeImage":{"type":"string"},"sourceImageId":{"description":"SourceImageId can be from packref's annotations or from pack.json","type":"string"},"useCapiImage":{"description":"PackerVariableDigest string `json:\"packerDigest,omitempty\"` If no ansible roles found in Packs then Mold should tell Drive to use capi image and not create custom image, because there is nothing to add","type":"boolean"}},"type":"object"},"v1EdgeClusterConfig":{"description":"EdgeClusterConfig defines Edge Cluster specific Spec","properties":{"sshKeys":{"description":"SSHKeys specifies a list of ssh authorized keys to access the vms as a 'spectro' user","items":{"type":"string"},"type":"array"}},"type":"object"},"v1EdgeHost":{"description":"EdgeHost is the underlying appliance","properties":{"disableAutoRegister":{"description":"Set to true if auto register is disabled for the device","type":"boolean","x-omitempty":false},"hostAddress":{"description":"HostAddress is a FQDN or IP address of the Host","type":"string"},"hostAuthToken":{"description":"HostAuthToken to authorize auto registration","type":"string","x-omitempty":false},"hostChecksum":{"description":"HostChecksum is the checksum provided by the edge host, to be persisted in SaaS","type":"string","x-omitempty":false},"hostIdentity":{"$ref":"#/definitions/v1EdgeHostIdentity","description":"HostIdentity is the identity to access the edge host"},"hostPairingKey":{"description":"HostPairingKey is the one-time pairing key to pair the edge host with the device registered in SaaS","format":"password","type":"string","x-omitempty":false},"hostUid":{"description":"HostUid is the ID of the EdgeHost","type":"string"},"macAddress":{"description":"Mac address of edgehost","type":"string","x-omitempty":false},"project":{"$ref":"#/definitions/v1ObjectEntity","description":"ProjectUid where the edgehost will be placed during auto registration","x-omitempty":false}},"required":["hostUid","hostAddress"],"type":"object"},"v1EdgeHostCloudProperties":{"description":"Additional cloud properties of the edge host (applicable based on the cloud type)","properties":{"vsphere":{"$ref":"#/definitions/v1EdgeHostVsphereCloudProperties"}},"type":"object"},"v1EdgeHostClusterEntity":{"properties":{"clusterUid":{"type":"string"}},"type":"object"},"v1EdgeHostDevice":{"properties":{"aclmeta":{"$ref":"#/definitions/v1AclMeta"},"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1EdgeHostDeviceSpec"},"status":{"$ref":"#/definitions/v1EdgeHostDeviceStatus"}}},"v1EdgeHostDeviceEntity":{"description":"Edge host device information","properties":{"metadata":{"$ref":"#/definitions/v1ObjectTagsEntity"},"spec":{"$ref":"#/definitions/v1EdgeHostDeviceSpecEntity"}},"type":"object"},"v1EdgeHostDeviceHostCheckSum":{"properties":{"hostCheckSum":{"type":"string"}},"type":"object"},"v1EdgeHostDeviceHostPairingKey":{"properties":{"hostPairingKey":{"format":"password","type":"string"}},"type":"object"},"v1EdgeHostDeviceMetaUpdateEntity":{"description":"Edge host device uid and name","properties":{"metadata":{"$ref":"#/definitions/v1ObjectTagsEntity"}},"type":"object"},"v1EdgeHostDeviceSpec":{"description":"EdgeHostDeviceSpec defines the desired state of EdgeHostDevice","properties":{"cloudProperties":{"$ref":"#/definitions/v1EdgeHostCloudProperties"},"clusterProfileTemplates":{"items":{"$ref":"#/definitions/v1ClusterProfileTemplate"},"type":"array"},"device":{"$ref":"#/definitions/v1DeviceSpec"},"host":{"$ref":"#/definitions/v1EdgeHost"},"properties":{"$ref":"#/definitions/v1EdgeHostProperties"},"service":{"$ref":"#/definitions/v1ServiceSpec"},"type":{"description":"Cloudtype of the provisioned edge host","enum":["libvirt","vsphere","edge-native"],"type":"string"},"version":{"type":"string"}},"type":"object"},"v1EdgeHostDeviceSpecEntity":{"description":"Edge host device spec","properties":{"archType":{"$ref":"#/definitions/v1ArchType"},"hostPairingKey":{"format":"password","type":"string"}},"type":"object"},"v1EdgeHostDeviceStatus":{"description":"EdgeHostDeviceStatus defines the observed state of EdgeHostDevice","properties":{"health":{"$ref":"#/definitions/v1EdgeHostHealth"},"inUseClusters":{"items":{"$ref":"#/definitions/v1ObjectEntity"},"type":"array"},"packs":{"items":{"$ref":"#/definitions/v1ClusterPackStatus"},"type":"array"},"profileStatus":{"$ref":"#/definitions/v1ProfileStatus"},"serviceAuthToken":{"type":"string"},"state":{"enum":["ready","unpaired","in-use"],"type":"string"}},"type":"object"},"v1EdgeHostDevices":{"properties":{"items":{"items":{"$ref":"#/definitions/v1EdgeHostDevice"},"type":"array","uniqueItems":true},"listmeta":{"$ref":"#/definitions/v1ListMetaData"}},"required":["items"],"type":"object"},"v1EdgeHostHealth":{"description":"EdgeHostHealth defines the desired health state of EdgeHostDevice","properties":{"agentVersion":{"type":"string"},"message":{"type":"string"},"state":{"enum":["healthy","unhealthy"],"type":"string"}}},"v1EdgeHostIdentity":{"properties":{"caCert":{"description":"CACert is the client CA certificate","type":"string"},"mode":{"description":"Mode indicates a system or session connection to the host","type":"string"},"socketPath":{"description":"SocketPath is an optional path to the socket on the host, if not using defaults","type":"string"},"sshSecret":{"$ref":"#/definitions/v1EdgeHostSSHSecret","description":"SSHSecret to the secret containing ssh-username"}}},"v1EdgeHostMeta":{"properties":{"archType":{"$ref":"#/definitions/v1ArchType"},"edgeHostType":{"enum":["libvirt","edge-native","vsphere"],"type":"string"},"healthState":{"type":"string"},"name":{"type":"string"},"state":{"type":"string"},"uid":{"type":"string"}},"type":"object"},"v1EdgeHostNetwork":{"description":"Network defines the network configuration for a virtual machine","properties":{"networkName":{"description":"NetworkName of the network where this machine will be connected","type":"string"},"networkType":{"description":"NetworkType specifies the type of network","enum":["default","bridge"],"type":"string"}},"required":["networkName","networkType"],"type":"object"},"v1EdgeHostProperties":{"description":"Additional properties of edge host","properties":{"networks":{"items":{"$ref":"#/definitions/v1EdgeHostNetwork"},"type":"array"},"storagePools":{"items":{"$ref":"#/definitions/v1EdgeHostStoragePool"},"type":"array"}}},"v1EdgeHostSSHSecret":{"properties":{"name":{"description":"SSH secret name","type":"string"},"privateKey":{"description":"Private Key to access the host","type":"string"}},"type":"object"},"v1EdgeHostSpecHost":{"description":"Host specifications","properties":{"hostAddress":{"description":"HostAddress is a FQDN or IP address of the Host","type":"string"},"macAddress":{"type":"string"}}},"v1EdgeHostState":{"enum":["ready","unpaired","in-use"],"type":"string"},"v1EdgeHostStoragePool":{"description":"StoragePool is the storage pool for the vm image","properties":{"name":{"type":"string"}}},"v1EdgeHostVsphereCloudProperties":{"description":"Vsphere cloud properties of edge host","properties":{"datacenters":{"items":{"$ref":"#/definitions/v1VsphereCloudDatacenter"},"type":"array"}}},"v1EdgeHostsMeta":{"properties":{"edgeHosts":{"items":{"$ref":"#/definitions/v1EdgeHostMeta"},"type":"array"}},"type":"object"},"v1EdgeHostsMetadata":{"properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1EdgeHostsMetadataSpec"},"status":{"$ref":"#/definitions/v1EdgeHostsMetadataStatus"}},"type":"object"},"v1EdgeHostsMetadataFilter":{"description":"Edge host metadata spec","properties":{"filter":{"$ref":"#/definitions/v1EdgeHostsMetadataFilterSpec"},"sort":{"items":{"$ref":"#/definitions/v1EdgeHostsMetadataSortSpec"},"type":"array","uniqueItems":true}}},"v1EdgeHostsMetadataFilterSpec":{"description":"Edge hosts metadata filter spec","properties":{"name":{"$ref":"#/definitions/v1FilterString"},"states":{"items":{"$ref":"#/definitions/v1EdgeHostState"},"type":"array","uniqueItems":true}}},"v1EdgeHostsMetadataSortFields":{"enum":["name","state","creationTimestamp","lastModifiedTimestamp"],"type":"string","x-nullable":true},"v1EdgeHostsMetadataSortSpec":{"properties":{"field":{"$ref":"#/definitions/v1EdgeHostsMetadataSortFields"},"order":{"$ref":"#/definitions/v1SortOrder"}}},"v1EdgeHostsMetadataSpec":{"properties":{"clusterProfileTemplates":{"items":{"$ref":"#/definitions/v1ProfileTemplateSummary"},"type":"array"},"device":{"$ref":"#/definitions/v1DeviceSpec"},"host":{"$ref":"#/definitions/v1EdgeHostSpecHost"},"projectMeta":{"$ref":"#/definitions/v1ProjectMeta"},"type":{"type":"string"}},"type":"object"},"v1EdgeHostsMetadataStatus":{"properties":{"health":{"$ref":"#/definitions/v1EdgeHostHealth"},"inUseClusters":{"items":{"$ref":"#/definitions/v1ObjectEntity"},"type":"array"},"state":{"$ref":"#/definitions/v1EdgeHostState"}},"type":"object"},"v1EdgeHostsMetadataSummary":{"properties":{"items":{"items":{"$ref":"#/definitions/v1EdgeHostsMetadata"},"type":"array","uniqueItems":true}},"required":["items"],"type":"object"},"v1EdgeHostsSearchSummary":{"properties":{"items":{"items":{"$ref":"#/definitions/v1EdgeHostsMetadata"},"type":"array","uniqueItems":true},"listmeta":{"$ref":"#/definitions/v1ListMetaData"}},"required":["items"],"type":"object"},"v1EdgeInstanceType":{"description":"EdgeInstanceType defines the instance configuration for a docker container node","properties":{"memoryInMB":{"description":"MemoryinMB is the memory in megabytes","format":"int32","type":"integer"},"numCPUs":{"description":"NumCPUs is the number of CPUs","format":"int32","type":"integer"}},"required":["numCPUs","memoryInMB"],"type":"object"},"v1EdgeMachine":{"description":"Edge cloud VM definition","properties":{"apiVersion":{"description":"Deprecated. Not used for the resource info.","type":"string"},"kind":{"description":"Deprecated. Cloud type of the machine.","type":"string"},"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1EdgeMachineSpec"},"status":{"$ref":"#/definitions/v1CloudMachineStatus"}},"type":"object"},"v1EdgeMachinePoolCloudConfigEntity":{"properties":{"edgeHosts":{"items":{"$ref":"#/definitions/v1EdgeMachinePoolHostEntity"},"type":"array","uniqueItems":true}},"required":["edgeHosts"]},"v1EdgeMachinePoolConfig":{"properties":{"additionalLabels":{"additionalProperties":{"type":"string"},"description":"additionalLabels","type":"object"},"additionalTags":{"additionalProperties":{"type":"string"},"description":"AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole","type":"object"},"hosts":{"items":{"$ref":"#/definitions/v1EdgeMachinePoolHost"},"type":"array"},"isControlPlane":{"description":"whether this pool is for control plane","type":"boolean"},"labels":{"description":"labels for this pool, example: master/worker, gpu, windows","items":{"type":"string"},"type":"array"},"machinePoolProperties":{"$ref":"#/definitions/v1MachinePoolProperties"},"maxSize":{"description":"max size of the pool, for scaling","format":"int32","type":"integer"},"minSize":{"description":"min size of the pool, for scaling","format":"int32","type":"integer"},"name":{"type":"string"},"nodeRepaveInterval":{"description":"Minimum number of seconds a node should be Ready, before the next node is selected for repave. Applicable only for workerpools in infrastructure cluster","format":"int32","type":"integer"},"size":{"description":"size of the pool, number of machines","format":"int32","type":"integer"},"taints":{"description":"master or worker taints","items":{"$ref":"#/definitions/v1Taint"},"type":"array","uniqueItems":true},"updateStrategy":{"$ref":"#/definitions/v1UpdateStrategy","description":"rolling update strategy for this machinepool if not specified, will use ScaleOut"},"useControlPlaneAsWorker":{"description":"if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools","type":"boolean"}},"required":["hosts"],"type":"object"},"v1EdgeMachinePoolConfigEntity":{"properties":{"cloudConfig":{"$ref":"#/definitions/v1EdgeMachinePoolCloudConfigEntity"},"poolConfig":{"$ref":"#/definitions/v1MachinePoolConfigEntity"}},"type":"object"},"v1EdgeMachinePoolHost":{"description":"EdgeHost of Edge clusters","properties":{"hostAddress":{"description":"HostAddress is a FQDN or IP address of the Host","type":"string"},"hostIdentity":{"$ref":"#/definitions/v1EdgeMachinePoolHostIdentity","description":"HostIdentity is the identity to access the edge host"},"hostName":{"description":"HostName is the name of the EdgeHost","type":"string"},"hostUid":{"description":"HostUid is the ID of the EdgeHost","type":"string"}},"required":["hostUid","hostAddress"],"type":"object"},"v1EdgeMachinePoolHostEntity":{"properties":{"hostUid":{"type":"string"}},"required":["hostUid"]},"v1EdgeMachinePoolHostIdentity":{"properties":{"caCert":{"description":"CACert is the client CA certificate","type":"string"},"socketPath":{"description":"SocketPath is an optional path to the socket on the host, if not using defaults","type":"string"}},"type":"object"},"v1EdgeMachineSpec":{"description":"Edge cloud VM definition spec","properties":{"bootstrapped":{"type":"boolean"},"customImage":{"type":"string"},"edgeHostUid":{"type":"string"},"instanceType":{"$ref":"#/definitions/v1EdgeInstanceType"},"loadBalancerConfigured":{"type":"boolean"},"mounts":{"items":{"$ref":"#/definitions/v1EdgeMount"},"type":"array","uniqueItems":true}},"type":"object"},"v1EdgeMachines":{"description":"Edge machine list","properties":{"items":{"items":{"$ref":"#/definitions/v1EdgeMachine"},"type":"array","uniqueItems":true}},"required":["items"],"type":"object"},"v1EdgeMount":{"description":"Edge mounts","properties":{"containerPath":{"type":"string"},"hostPath":{"type":"string"},"readonly":{"type":"boolean"}},"type":"object"},"v1EdgeNativeCloudClusterConfigEntity":{"description":"EdgeNative cloud cluster config entity","properties":{"clusterConfig":{"$ref":"#/definitions/v1EdgeNativeClusterConfig"}},"type":"object"},"v1EdgeNativeCloudConfig":{"description":"EdgeNativeCloudConfig is the Schema for the edgenativecloudconfigs API","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1EdgeNativeCloudConfigSpec"},"status":{"$ref":"#/definitions/v1EdgeNativeCloudConfigStatus"}},"type":"object"},"v1EdgeNativeCloudConfigSpec":{"description":"EdgeNativeCloudConfigSpec defines the desired state of EdgeNativeCloudConfig","properties":{"clusterConfig":{"$ref":"#/definitions/v1EdgeNativeClusterConfig"},"machinePoolConfig":{"items":{"$ref":"#/definitions/v1EdgeNativeMachinePoolConfig"},"type":"array"}},"required":["clusterConfig","machinePoolConfig"],"type":"object"},"v1EdgeNativeCloudConfigStatus":{"description":"EdgeNativeCloudConfigStatus defines the observed state of EdgeNativeCloudConfig","properties":{"conditions":{"items":{"$ref":"#/definitions/v1ClusterCondition"},"type":"array"},"nodeImage":{"type":"string"},"sourceImageId":{"description":"SourceImageId can be from packref's annotations or from pack.json","type":"string"}},"type":"object"},"v1EdgeNativeClusterConfig":{"description":"EdgeNativeClusterConfig definnes Edge Native Cluster specific Spec","properties":{"controlPlaneEndpoint":{"$ref":"#/definitions/v1EdgeNativeControlPlaneEndPoint","description":"ControlPlaneEndpoint is the control plane endpoint, which can be an IP or FQDN"},"ntpServers":{"description":"NTPServers is a list of NTP servers to use instead of the machine image's default NTP server list","items":{"default":"","type":"string"},"type":"array"},"overlayNetworkConfiguration":{"$ref":"#/definitions/v1EdgeNativeOverlayNetworkConfiguration","description":"OverlayNetworkConfiguration is the configuration for the overlay network"},"sshKeys":{"description":"SSHKeys specifies a list of ssh authorized keys to access the vms as a 'spectro' user","items":{"default":"","type":"string"},"type":"array"},"staticIp":{"description":"StaticIP indicates if IP allocation type is static IP. DHCP is the default allocation type","type":"boolean"}},"type":"object"},"v1EdgeNativeControlPlaneEndPoint":{"properties":{"ddnsSearchDomain":{"description":"DDNSSearchDomain is the search domain used for resolving IP addresses when the EndpointType is DDNS. This search domain is appended to the generated Hostname to obtain the complete DNS name for the endpoint. If Host is already a DDNS FQDN, DDNSSearchDomain is not required","type":"string"},"host":{"description":"Host is FQDN(DDNS) or IP","type":"string"},"type":{"description":"Type indicates DDNS or VIP","type":"string"}},"type":"object"},"v1EdgeNativeHost":{"description":"EdgeNativeHost is the underlying appliance","properties":{"IsCandidateCaption":{"default":false,"description":"Is Edge host nominated as candidate","type":"boolean","x-omitempty":false},"caCert":{"description":"CACert for TLS connections","type":"string"},"hostAddress":{"default":"","description":"HostAddress is a FQDN or IP address of the Host","type":"string"},"hostName":{"default":"","description":"Qualified name of host","type":"string"},"hostUid":{"default":"","description":"HostUid is the ID of the EdgeHost","type":"string"},"nic":{"$ref":"#/definitions/v1Nic","description":"Edge native nic"},"nicName":{"description":"Deprecated. Edge host nic name","type":"string"},"staticIP":{"description":"Deprecated. Edge host static IP","type":"string"},"twoNodeCandidatePriority":{"description":"Set the edgehost candidate priority as primary or secondary, if the edgehost is nominated as two node candidate","enum":["primary","secondary"],"type":"string"}},"required":["hostUid","hostAddress"],"type":"object"},"v1EdgeNativeInstanceType":{"description":"EdgeNativeInstanceType defines the instance configuration for a docker container node","properties":{"diskGiB":{"description":"DiskGiB is the size of a virtual machine's disk","format":"int32","type":"integer"},"memoryMiB":{"description":"MemoryMiB is the size of a virtual machine's memory, in MiB","format":"int32","type":"integer"},"name":{"description":"Name is the instance name","type":"string"},"numCPUs":{"description":"NumCPUs is the number of CPUs","format":"int32","type":"integer"}},"type":"object"},"v1EdgeNativeMachine":{"description":"EdgeNative cloud VM definition","properties":{"apiVersion":{"description":"Deprecated. Not used for the resource info.","type":"string"},"kind":{"description":"Deprecated. Cloud type of the machine.","type":"string"},"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1EdgeNativeMachineSpec"},"status":{"$ref":"#/definitions/v1CloudMachineStatus"}}},"v1EdgeNativeMachinePoolCloudConfigEntity":{"properties":{"edgeHosts":{"items":{"$ref":"#/definitions/v1EdgeNativeMachinePoolHostEntity"},"type":"array","uniqueItems":true}},"required":["edgeHosts"]},"v1EdgeNativeMachinePoolConfig":{"properties":{"additionalLabels":{"additionalProperties":{"default":"","type":"string"},"description":"AdditionalLabels","type":"object"},"additionalTags":{"additionalProperties":{"default":"","type":"string"},"description":"AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole","type":"object"},"hosts":{"items":{"$ref":"#/definitions/v1EdgeNativeHost"},"type":"array"},"isControlPlane":{"description":"whether this pool is for control plane","type":"boolean"},"labels":{"description":"labels for this pool, example: master/worker, gpu, windows","items":{"default":"","type":"string"},"type":"array"},"machinePoolProperties":{"$ref":"#/definitions/v1MachinePoolProperties"},"maxSize":{"description":"max size of the pool, for scaling","format":"int32","type":"integer"},"minSize":{"description":"min size of the pool, for scaling","format":"int32","type":"integer"},"name":{"type":"string"},"nodeRepaveInterval":{"description":"Minimum number of seconds a node should be Ready, before the next node is selected for repave. Applicable only for workerpools in infrastructure cluster","format":"int32","type":"integer"},"osType":{"description":"the os type for the pool, must be supported by the provider","type":"string"},"size":{"description":"size of the pool, number of machines","format":"int32","type":"integer"},"taints":{"description":"master or worker taints","items":{"$ref":"#/definitions/v1Taint"},"type":"array"},"updateStrategy":{"$ref":"#/definitions/v1UpdateStrategy","description":"rolling update strategy for this machinepool if not specified, will use ScaleOut"},"useControlPlaneAsWorker":{"description":"if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools","type":"boolean"}},"required":["hosts"],"type":"object"},"v1EdgeNativeMachinePoolConfigEntity":{"properties":{"cloudConfig":{"$ref":"#/definitions/v1EdgeNativeMachinePoolCloudConfigEntity"},"poolConfig":{"$ref":"#/definitions/v1MachinePoolConfigEntity"}},"type":"object"},"v1EdgeNativeMachinePoolHostEntity":{"properties":{"hostName":{"description":"Edge host name","type":"string"},"hostUid":{"description":"Edge host id","type":"string"},"nic":{"$ref":"#/definitions/v1Nic","description":"Edge native nic"},"nicName":{"description":"Deprecated - Edge host nic name","type":"string"},"staticIP":{"description":"Deprecated - Edge host static IP","type":"string"},"twoNodeCandidatePriority":{"description":"Set the edgehost candidate priority as primary or secondary, if the edgehost is nominated as two node candidate","enum":["primary","secondary"],"type":"string"}},"required":["hostUid"]},"v1EdgeNativeMachineSpec":{"description":"EdgeNative cloud VM definition spec","properties":{"edgeHostUid":{"type":"string"},"instanceType":{"$ref":"#/definitions/v1EdgeNativeInstanceType"},"nics":{"items":{"$ref":"#/definitions/v1EdgeNativeNic"},"type":"array","uniqueItems":true}},"type":"object"},"v1EdgeNativeMachines":{"description":"EdgeNative machine list","properties":{"items":{"items":{"$ref":"#/definitions/v1EdgeNativeMachine"},"type":"array","uniqueItems":true}},"required":["items"],"type":"object"},"v1EdgeNativeNic":{"description":"Generic network interface","properties":{"index":{"format":"int8","type":"integer"},"networkName":{"type":"string"},"privateIPs":{"items":{"type":"string"},"type":"array"},"publicIp":{"type":"string"}},"type":"object"},"v1EdgeNativeOverlayNetworkConfiguration":{"properties":{"cidr":{"description":"CIDR is the CIDR of the overlay network","type":"string"},"enable":{"description":"Enable is a flag to enable overlay network","type":"boolean","x-omitempty":false}},"type":"object"},"v1EdgeNativeTwoNodeCandidateEntity":{"properties":{"primaryEdgeHost":{"type":"string"},"secondaryEdgeHost":{"type":"string"}},"type":"object"},"v1EdgeServiceLogin":{"description":"System service login input","properties":{"authToken":{"description":"authToken helps in two step verification for the authorization.","type":"string"},"edgeHostUid":{"type":"string"},"serviceName":{"type":"string"},"serviceVersion":{"type":"string"},"spectroClusterUid":{"type":"string"},"tenantUid":{"type":"string"}},"type":"object"},"v1EdgeToken":{"description":"Edge token information","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1EdgeTokenSpec"},"status":{"$ref":"#/definitions/v1EdgeTokenStatus"}},"type":"object"},"v1EdgeTokenActiveState":{"description":"Edge token active state","properties":{"isActive":{"description":"Set to 'true', if the token is active","type":"boolean"}}},"v1EdgeTokenEntity":{"description":"Edge token request payload","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1EdgeTokenSpecEntity"}},"type":"object"},"v1EdgeTokenProject":{"description":"Edge token project information","properties":{"name":{"description":"Project name","type":"string"},"uid":{"description":"Project uid","type":"string"}},"type":"object"},"v1EdgeTokenSpec":{"description":"Edge token specification","properties":{"defaultProject":{"$ref":"#/definitions/v1EdgeTokenProject","description":"Default project where the edgehost will be placed on the token authorization"},"expiry":{"$ref":"#/definitions/v1Time","description":"Edge token expiry date"},"token":{"description":"Edge token","type":"string"}},"type":"object"},"v1EdgeTokenSpecEntity":{"description":"Edge token specification","properties":{"defaultProjectUid":{"description":"Default project where the edgehost will be placed on the token authorization","type":"string"},"expiry":{"$ref":"#/definitions/v1Time","description":"Edge token expiry date"}},"type":"object"},"v1EdgeTokenSpecUpdate":{"description":"Edge token spec to be updated","properties":{"defaultProjectUid":{"description":"Default project where the edgehost will be placed on the token authorization","type":"string"},"expiry":{"$ref":"#/definitions/v1Time"}}},"v1EdgeTokenStatus":{"description":"Edge token status","properties":{"isActive":{"description":"Set to 'true', if the token is active","type":"boolean","x-omitempty":false}},"type":"object"},"v1EdgeTokenUpdate":{"description":"Edge token update request payload","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1EdgeTokenSpecUpdate"}},"type":"object"},"v1EdgeTokens":{"properties":{"items":{"description":"List of edge tokens","items":{"$ref":"#/definitions/v1EdgeToken"},"type":"array","uniqueItems":true}},"required":["items"],"type":"object"},"v1EksAddon":{"description":"EksAddon represents a EKS addon","properties":{"conflictResolution":{"description":"ConflictResolution is used to declare what should happen if there are parameter conflicts.","type":"string"},"name":{"description":"Name is the name of the addon","type":"string"},"serviceAccountRoleARN":{"description":"ServiceAccountRoleArn is the ARN of an IAM role to bind to the addons service account","type":"string"},"version":{"description":"Version is the version of the addon to use","type":"string"}},"required":["name","version"],"type":"object"},"v1EksCloudClusterConfigEntity":{"description":"EKS cloud cluster config entity","properties":{"clusterConfig":{"$ref":"#/definitions/v1EksClusterConfig"}},"type":"object"},"v1EksCloudConfig":{"description":"EksCloudConfig is the Schema for the ekscloudconfigs API","properties":{"apiVersion":{"description":"Deprecated. Not used for the resource info. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources","type":"string"},"kind":{"description":"Cloud type of the cloud config","type":"string"},"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1EksCloudConfigSpec"}},"type":"object"},"v1EksCloudConfigSpec":{"description":"EksCloudConfigSpec defines the cloud configuration input by user","properties":{"cloudAccountRef":{"$ref":"#/definitions/v1ObjectReference","description":"cloudAccountRef should point to the secret which contains EksCloudAccount"},"clusterConfig":{"$ref":"#/definitions/v1EksClusterConfig"},"fargateProfiles":{"items":{"$ref":"#/definitions/v1FargateProfile"},"type":"array"},"machinePoolConfig":{"items":{"$ref":"#/definitions/v1EksMachinePoolConfig"},"type":"array"}},"type":"object"},"v1EksClusterConfig":{"description":"EksClusterConfig defines EKS specific config","properties":{"addons":{"description":"Addons defines the EKS addons to enable with the EKS cluster. This may be required for brownfield clusters","items":{"$ref":"#/definitions/v1EksAddon"},"type":"array"},"bastionDisabled":{"description":"BastionDisabled is the option to disable bastion node","type":"boolean"},"controlPlaneLoadBalancer":{"description":"ControlPlaneLoadBalancer specifies how API server elb will be configured, this field is optional, not provided, \"\", default =\u003e \"Internet-facing\" \"Internet-facing\" =\u003e \"Internet-facing\" \"internal\" =\u003e \"internal\" For spectro saas setup we require to talk to the apiserver from our cluster so ControlPlaneLoadBalancer should be \"\", not provided or \"Internet-facing\"","type":"string"},"encryptionConfig":{"$ref":"#/definitions/v1EncryptionConfig","description":"EncryptionConfig specifies the encryption configuration for the cluster"},"endpointAccess":{"$ref":"#/definitions/v1EksClusterConfigEndpointAccess","description":"Endpoints specifies access to this cluster's control plane endpoints"},"region":{"description":"The AWS Region the cluster lives in.","type":"string"},"sshKeyName":{"description":"SSHKeyName specifies which EC2 SSH key can be used to access machines.","type":"string"},"vpcId":{"description":"VPC Id to deploy cluster into should have one public and one private subnet for the the cluster creation, this field is optional, If VPC Id is not provided a fully managed VPC will be created","type":"string"}},"required":["region"],"type":"object"},"v1EksClusterConfigEndpointAccess":{"description":"EndpointAccess specifies how control plane endpoints are accessible","properties":{"private":{"description":"Private points VPC-internal control plane access to the private endpoint","type":"boolean"},"privateCIDRs":{"description":"PrivateCIDRs specifies which blocks can access the private endpoint","items":{"type":"string"},"type":"array"},"public":{"description":"Public controls whether control plane endpoints are publicly accessible","type":"boolean"},"publicCIDRs":{"description":"PublicCIDRs specifies which blocks can access the public endpoint","items":{"type":"string"},"type":"array"}},"type":"object"},"v1EksFargateProfiles":{"description":"Fargate profiles","properties":{"fargateProfiles":{"items":{"$ref":"#/definitions/v1FargateProfile"},"type":"array"}},"type":"object"},"v1EksMachineCloudConfigEntity":{"properties":{"awsLaunchTemplate":{"$ref":"#/definitions/v1AwsLaunchTemplate"},"azs":{"items":{"type":"string"},"type":"array"},"capacityType":{"default":"on-demand","description":"EC2 instance capacity type","enum":["on-demand","spot"],"type":"string"},"enableAwsLaunchTemplate":{"description":"flag to know if aws launch template is enabled","type":"boolean"},"instanceType":{"description":"instance type","type":"string"},"rootDeviceSize":{"description":"rootDeviceSize in GBs","format":"int64","maximum":2000,"minimum":1,"type":"integer"},"spotMarketOptions":{"$ref":"#/definitions/v1SpotMarketOptions","description":"SpotMarketOptions allows users to configure instances to be run using AWS Spot instances."},"subnets":{"items":{"$ref":"#/definitions/v1EksSubnetEntity"},"type":"array"}}},"v1EksMachinePoolConfig":{"properties":{"additionalLabels":{"additionalProperties":{"type":"string"},"description":"additionalLabels","type":"object"},"additionalTags":{"additionalProperties":{"type":"string"},"description":"AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole","type":"object"},"awsLaunchTemplate":{"$ref":"#/definitions/v1AwsLaunchTemplate"},"azs":{"description":"AZs is only used for dynamic placement","items":{"type":"string"},"type":"array"},"capacityType":{"default":"on-demand","description":"EC2 instance capacity type","enum":["on-demand","spot"],"type":"string"},"enableAwsLaunchTemplate":{"description":"flag to know if aws launch template is enabled","type":"boolean"},"instanceConfig":{"$ref":"#/definitions/v1InstanceConfig"},"instanceType":{"description":"instance type","type":"string"},"isControlPlane":{"description":"whether this pool is for control plane","type":"boolean","x-omitempty":false},"labels":{"description":"labels for this pool, example: master/worker, gpu, windows","items":{"type":"string"},"type":"array"},"machinePoolProperties":{"$ref":"#/definitions/v1MachinePoolProperties"},"maxSize":{"description":"max size of the pool, for scaling","format":"int32","type":"integer"},"minSize":{"description":"min size of the pool, for scaling","format":"int32","type":"integer"},"name":{"type":"string"},"nodeRepaveInterval":{"description":"Minimum number of seconds a node should be Ready, before the next node is selected for repave. Applicable only for workerpools in infrastructure cluster","format":"int32","type":"integer"},"rootDeviceSize":{"description":"rootDeviceSize in GBs","format":"int64","type":"integer"},"size":{"description":"size of the pool, number of machines","format":"int32","type":"integer"},"spotMarketOptions":{"$ref":"#/definitions/v1SpotMarketOptions","description":"SpotMarketOptions allows users to configure instances to be run using AWS Spot instances."},"subnetIds":{"additionalProperties":{"type":"string"},"description":"AZ to subnet mapping filled by ally from hubble SubnetIDs [\"us-west-2d\"] = \"subnet-079b6061\" This field is optional If we don't provide a subnetId then by default the first private subnet from the AZ will be picked up for deployment","type":"object"},"taints":{"description":"master or worker taints","items":{"$ref":"#/definitions/v1Taint"},"type":"array","uniqueItems":true},"updateStrategy":{"$ref":"#/definitions/v1UpdateStrategy","description":"rolling update strategy for this machinepool if not specified, will use ScaleOut"},"useControlPlaneAsWorker":{"description":"if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools","type":"boolean","x-omitempty":false}},"required":["isControlPlane"],"type":"object"},"v1EksMachinePoolConfigEntity":{"properties":{"cloudConfig":{"$ref":"#/definitions/v1EksMachineCloudConfigEntity"},"poolConfig":{"$ref":"#/definitions/v1MachinePoolConfigEntity"}}},"v1EksSubnetEntity":{"properties":{"az":{"type":"string"},"id":{"type":"string"}}},"v1EncryptionConfig":{"description":"EncryptionConfig specifies the encryption configuration for the EKS clsuter.","properties":{"isEnabled":{"description":"Is encryption configuration enabled for the cluster","type":"boolean"},"provider":{"description":"Provider specifies the ARN or alias of the CMK (in AWS KMS)","type":"string"},"resources":{"description":"Resources specifies the resources to be encrypted","items":{"type":"string"},"type":"array"}},"type":"object"},"v1Event":{"description":"Describes the component event details","properties":{"involvedObject":{"$ref":"#/definitions/v1ObjectReference","description":"Describes object involved in event generation","type":"object"},"message":{"description":"Describes message associated with the event","type":"string"},"metadata":{"$ref":"#/definitions/v1ObjectMeta","type":"object"},"reason":{"description":"Describes the reason for the event","type":"string"},"relatedObject":{"$ref":"#/definitions/v1EventRelatedObject","description":"Describes object related to the event","type":"object"},"severity":{"description":"Describes the gravitas for the event","type":"string"},"source":{"$ref":"#/definitions/v1EventSource","description":"Describes the origin for the event","type":"object"}},"type":"object"},"v1EventRelatedObject":{"description":"Object for which the event is related","properties":{"kind":{"enum":["spectrocluster","edgehost"],"type":"string"},"name":{"type":"string"},"uid":{"type":"string"}},"type":"object"},"v1EventSource":{"description":"Describes the origin for the event","properties":{"component":{"description":"Describes the component where event originated","type":"string"},"host":{"description":"Describes the host where event originated","type":"string"}},"type":"object"},"v1Events":{"description":"An array of component events items","properties":{"items":{"description":"Describes a list of returned component events","items":{"$ref":"#/definitions/v1Event"},"type":"array","uniqueItems":true},"listmeta":{"$ref":"#/definitions/v1ListMetaData","description":"Describes the meta information about the component event lists"}},"required":["items"],"type":"object"},"v1EventsRelatedObjectsEntity":{"properties":{"relatedObjectUids":{"description":"List of uids of the related object","items":{"type":"string"},"type":"array","uniqueItems":true}},"required":["relatedObjectUids"],"type":"object"},"v1FargateProfile":{"description":"FargateProfile defines the desired state of FargateProfile","properties":{"additionalTags":{"additionalProperties":{"type":"string"},"description":"AdditionalTags is an optional set of tags to add to AWS resources managed by the AWS provider, in addition to the ones added by default.","type":"object"},"name":{"description":"name specifies the profile name.","type":"string"},"selectors":{"description":"Selectors specify fargate pod selectors.","items":{"$ref":"#/definitions/v1FargateSelector"},"type":"array"},"subnetIds":{"description":"SubnetIDs specifies which subnets are used for the auto scaling group of this nodegroup.","items":{"type":"string"},"type":"array"}},"required":["name"],"type":"object"},"v1FargateSelector":{"description":"FargateSelector specifies a selector for pods that should run on this fargate pool","properties":{"labels":{"additionalProperties":{"type":"string"},"description":"Labels specifies which pod labels this selector should match.","type":"object"},"namespace":{"description":"Namespace specifies which namespace this selector should match.","type":"string"}},"required":["namespace"],"type":"object"},"v1FileUploadResponse":{"description":"File upload response","properties":{"name":{"type":"string"},"uid":{"type":"string"}},"type":"object"},"v1FilterArray":{"properties":{"beginsWith":{"items":{"type":"string"},"type":"array","x-nullable":true},"eq":{"items":{"type":"string"},"type":"array","x-nullable":true},"ignoreCase":{"default":true,"type":"boolean"},"ne":{"items":{"type":"string"},"type":"array","x-nullable":true}},"type":"object"},"v1FilterIntRange":{"properties":{"eq":{"format":"int32","type":"integer","x-nullable":true},"gt":{"format":"int32","type":"integer","x-nullable":true},"gte":{"format":"int32","type":"integer","x-nullable":true},"lt":{"format":"int32","type":"integer","x-nullable":true},"lte":{"format":"int32","type":"integer","x-nullable":true},"ne":{"format":"int32","type":"integer","x-nullable":true}},"type":"object"},"v1FilterMetadata":{"description":"Filter metadata object","properties":{"filterType":{"type":"string"},"name":{"type":"string"},"uid":{"type":"string"}},"type":"object"},"v1FilterNumberRange":{"properties":{"eq":{"type":"number","x-nullable":true},"gt":{"type":"number","x-nullable":true},"gte":{"type":"number","x-nullable":true},"lt":{"type":"number","x-nullable":true},"lte":{"type":"number","x-nullable":true},"ne":{"type":"number","x-nullable":true}},"type":"object"},"v1FilterString":{"properties":{"beginsWith":{"type":"string","x-nullable":true},"contains":{"type":"string","x-nullable":true},"eq":{"type":"string","x-nullable":true},"ignoreCase":{"default":true,"type":"boolean"},"ne":{"type":"string","x-nullable":true}},"type":"object"},"v1FilterSummary":{"description":"Filter summary object","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1FilterSummarySpec"}},"type":"object"},"v1FilterSummarySpec":{"properties":{"filterType":{"type":"string"}}},"v1FilterVersionString":{"properties":{"beginsWith":{"type":"string","x-nullable":true},"eq":{"type":"string","x-nullable":true},"gt":{"type":"string","x-nullable":true},"lt":{"type":"string","x-nullable":true},"ne":{"type":"string","x-nullable":true}},"type":"object"},"v1FiltersMetadata":{"properties":{"items":{"items":{"$ref":"#/definitions/v1FilterMetadata"},"type":"array","uniqueItems":true}},"required":["items"],"type":"object"},"v1FiltersSummary":{"properties":{"items":{"items":{"$ref":"#/definitions/v1FilterSummary"},"type":"array","uniqueItems":true},"listmeta":{"$ref":"#/definitions/v1ListMetaData"}},"required":["items"],"type":"object"},"v1FipsSettings":{"description":"FIPS configuration","properties":{"fipsClusterFeatureConfig":{"$ref":"#/definitions/v1NonFipsConfig"},"fipsClusterImportConfig":{"$ref":"#/definitions/v1NonFipsConfig"},"fipsPackConfig":{"$ref":"#/definitions/v1NonFipsConfig"}}},"v1FreemiumUsage":{"properties":{"usage":{"format":"float64","type":"number","x-omitempty":false}},"type":"object"},"v1FreemiumUsageLimit":{"properties":{"activeClusters":{"type":"integer","x-omitempty":false},"overageUsage":{"type":"number","x-omitempty":false},"usage":{"format":"float64","type":"number","x-omitempty":false}},"type":"object"},"v1GPUConfig":{"properties":{"addresses":{"additionalProperties":{"type":"string"},"description":"Addresses is a map of PCI device entry name to its addresses.\nExample entry would be \"11:00.0 VGA compatible controller [0300]: NVIDIA\nCorporation Device [10de:1eb1] (rev a1)\"- \u003e 0000_11_00_0\" The address is\nBDF (Bus Device Function) identifier format seperated by underscores. The\nfirst 4 bits are almost always 0000. In the above example 11 is Bus, 00\nis Device,0 is function. The values of these addreses are expected in hexadecimal\nformat\n","type":"object"},"deviceModel":{"description":"DeviceModel is the model of GPU, for a given vendor, for eg., TU104GL [Tesla T4]","type":"string"},"numGPUs":{"description":"NumGPUs is the number of GPUs","format":"int32","type":"integer"},"vendorName":{"description":"VendorName is the GPU vendor, for eg., NVIDIA or AMD","type":"string"}},"type":"object"},"v1GPUDeviceSpec":{"properties":{"addresses":{"additionalProperties":{"type":"string"},"description":"Addresses is a map of PCI device entry name to its addresses.\nExample entry would be \"11:00.0 VGA compatible controller [0300]: NVIDIA\nCorporation Device [10de:1eb1] (rev a1)\"- \u003e 0000_11_00_0\" The address is\nBDF (Bus Device Function) identifier format seperated by underscores. The\nfirst 4 bits are almost always 0000. In the above example 11 is Bus, 00\nis Device,0 is function. The values of these addreses are expected in hexadecimal\nformat\n","type":"object"},"model":{"description":"Model is the model of GPU, for a given vendor, for eg., TU104GL [Tesla T4]","type":"string"},"vendor":{"description":"Vendor is the GPU vendor, for eg., NVIDIA or AMD","type":"string"}},"type":"object"},"v1GcpAccount":{"description":"GCP account information","properties":{"apiVersion":{"description":"Deprecated. Not used for the resource info.","type":"string"},"kind":{"description":"Deprecated. Cloud type of the account.","type":"string"},"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1GcpAccountSpec"},"status":{"$ref":"#/definitions/v1CloudAccountStatus"}},"type":"object"},"v1GcpAccountEntity":{"description":"GCP account information","properties":{"apiVersion":{"description":"Deprecated. Not used for the resource info.","type":"string"},"kind":{"description":"Deprecated. Cloud type of the account.","type":"string"},"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1GcpAccountEntitySpec"},"status":{"$ref":"#/definitions/v1CloudAccountStatus"}},"type":"object"},"v1GcpAccountEntitySpec":{"properties":{"jsonCredentials":{"description":"Gcp cloud account json credentials","type":"string"},"jsonCredentialsFileUid":{"description":"Reference of the credentials stored in the file","type":"string"}},"type":"object"},"v1GcpAccountNameValidateSpec":{"description":"Gcp cloud account name validate spec","properties":{"bucketName":{"description":"Bucket name in the GCP","type":"string"},"credentials":{"$ref":"#/definitions/v1GcpAccountValidateSpec"},"projectId":{"description":"ProjectId in the GCP","type":"string"}},"required":["credentials","bucketName"],"type":"object"},"v1GcpAccountSpec":{"properties":{"jsonCredentials":{"description":"Gcp cloud account json credentials","type":"string"},"jsonCredentialsFileName":{"description":"Reference of the credentials stored in the file","type":"string"}},"type":"object"},"v1GcpAccountValidateSpec":{"description":"Gcp cloud account entity which takes json credentials or reference to the file where credentials are stored","properties":{"jsonCredentials":{"description":"Gcp cloud account json credentials","type":"string"},"jsonCredentialsFileUid":{"description":"Reference of the credentials stored in the file","type":"string"}},"type":"object"},"v1GcpAccounts":{"properties":{"items":{"items":{"$ref":"#/definitions/v1GcpAccount"},"type":"array","uniqueItems":true},"listmeta":{"$ref":"#/definitions/v1ListMetaData"}},"required":["items"],"type":"object"},"v1GcpCloudAccountValidateEntity":{"description":"Gcp cloud account spec","properties":{"spec":{"$ref":"#/definitions/v1GcpAccountValidateSpec"}},"type":"object"},"v1GcpCloudClusterConfigEntity":{"description":"Gcp cloud cluster config entity","properties":{"clusterConfig":{"$ref":"#/definitions/v1GcpClusterConfig"}},"type":"object"},"v1GcpCloudConfig":{"description":"GcpCloudConfig is the Schema for the gcpcloudconfigs API","properties":{"apiVersion":{"description":"Deprecated. Not used for the resource info. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources","type":"string"},"kind":{"description":"Cloud type of the cloud config","type":"string"},"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1GcpCloudConfigSpec"},"status":{"$ref":"#/definitions/v1GcpCloudConfigStatus"}},"type":"object"},"v1GcpCloudConfigSpec":{"description":"GcpCloudConfigSpec defines the cloud configuration input by user This will translate to clusterspec/machinespec for cluster-api","properties":{"cloudAccountRef":{"$ref":"#/definitions/v1ObjectReference","description":"cloudAccountRef should point to the secret which contains GcpCloudAccount"},"clusterConfig":{"$ref":"#/definitions/v1GcpClusterConfig"},"machinePoolConfig":{"items":{"$ref":"#/definitions/v1GcpMachinePoolConfig"},"type":"array"}},"type":"object"},"v1GcpCloudConfigStatus":{"description":"GcpCloudConfigStatus defines the observed state of GcpCloudConfig The cloudimage info built by Mold is stored here image should be mapped to a specific machinepool","properties":{"ansibleRoleDigest":{"description":"For mold controller to identify if is there any changes in Pack","type":"string"},"conditions":{"description":"spectroAnsibleProvisioner: should be added only once, subsequent recocile will use the same provisioner SpectroAnsiblePacker bool `json:\"spectroAnsiblePacker,omitempty\"`","items":{"$ref":"#/definitions/v1ClusterCondition"},"type":"array"},"images":{"$ref":"#/definitions/v1GcpImage","description":"Images array items should be 1-to-1 mapping to Spec.MachinePoolConfig"},"isAddonLayer":{"description":"addon layers present in spc","type":"boolean"},"roleDigest":{"additionalProperties":{"type":"string"},"description":"this map will be for ansible roles present in each pack","type":"object"},"sourceImageId":{"description":"sourceImageId, it can be from packref's annotations or from pack.json","type":"string"},"useCapiImage":{"description":"PackerVariableDigest string `json:\"packerDigest,omitempty\"` If no ansible roles found in Packs then Mold should tell Drive to use capi image and not create custom image, because there is nothing to add","type":"boolean"}},"type":"object"},"v1GcpClusterConfig":{"description":"Cluster level configuration for gcp cloud and applicable for all the machine pools","properties":{"managedClusterConfig":{"$ref":"#/definitions/v1GcpManagedClusterConfig"},"network":{"description":"NetworkName if empty would create VPC Network in auto mode. If provided, custom VPC network will be used","type":"string"},"project":{"description":"Name of the project in which cluster is to be deployed","type":"string"},"region":{"description":"GCP region for the cluster","type":"string"}},"required":["project","region"],"type":"object"},"v1GcpImage":{"description":"Refers to GCP image","properties":{"name":{"type":"string"},"os":{"type":"string"},"region":{"type":"string"},"state":{"type":"string"}},"type":"object"},"v1GcpImageUrlEntity":{"description":"Gcp image url entity","properties":{"imageFamily":{"description":"The name of the image family to which this image belongs","type":"string"},"imageUrl":{"description":"Server-defined URL for the resource","type":"string"},"name":{"description":"Name of the resource","type":"string"}},"type":"object"},"v1GcpInstanceTypes":{"description":"Retrieves a list of GCP instance types","properties":{"instanceTypes":{"description":"List of GCP instance types","items":{"$ref":"#/definitions/v1InstanceType"},"type":"array"}},"type":"object"},"v1GcpMachine":{"description":"GCP cloud VM definition","properties":{"apiVersion":{"description":"Deprecated. Not used for the resource info.","type":"string"},"kind":{"description":"Deprecated. Cloud type of the machine.","type":"string"},"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1GcpMachineSpec"},"status":{"$ref":"#/definitions/v1CloudMachineStatus"}},"type":"object"},"v1GcpMachinePoolCloudConfigEntity":{"properties":{"azs":{"items":{"type":"string"},"type":"array"},"instanceType":{"type":"string"},"rootDeviceSize":{"description":"Size of root volume in GB. Default is 30GB","format":"int64","type":"integer"},"subnet":{"description":"Subnet specifies the subnetwork to use for given instance. If not specified, the first subnet from the cluster region and network is used","type":"string"},"subnets":{"items":{"$ref":"#/definitions/v1GcpSubnetEntity"},"type":"array"}},"required":["instanceType"],"type":"object"},"v1GcpMachinePoolConfig":{"properties":{"additionalLabels":{"additionalProperties":{"type":"string"},"description":"additionalLabels","type":"object"},"additionalTags":{"additionalProperties":{"type":"string"},"description":"AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole","type":"object"},"azs":{"items":{"type":"string"},"type":"array"},"instanceConfig":{"$ref":"#/definitions/v1InstanceConfig"},"instanceType":{"type":"string"},"isControlPlane":{"description":"whether this pool is for control plane","type":"boolean"},"labels":{"description":"labels for this pool, example: master/worker, gpu, windows","items":{"type":"string"},"type":"array"},"machinePoolProperties":{"$ref":"#/definitions/v1MachinePoolProperties"},"maxSize":{"description":"max size of the pool, for scaling","format":"int32","type":"integer"},"minSize":{"description":"min size of the pool, for scaling","format":"int32","type":"integer"},"name":{"type":"string"},"nodeRepaveInterval":{"description":"Minimum number of seconds a node should be Ready, before the next node is selected for repave. Applicable only for workerpools in infrastructure cluster","format":"int32","type":"integer"},"rootDeviceSize":{"description":"Size of root volume in GB. Default is 30GB","format":"int64","type":"integer"},"size":{"description":"size of the pool, number of machines","format":"int32","type":"integer"},"subnet":{"description":"Subnet specifies the subnetwork to use for given instance. If not specified, the first subnet from the cluster region and network is used","type":"string"},"subnetIds":{"additionalProperties":{"type":"string"},"description":"AZ to subnet mapping filled by ally from hubble SubnetIDs [\"us-west-2d\"] = \"subnet-079b6061\" This field is optional If we don't provide a subnetId then by default the first private subnet from the AZ will be picked up for deployment","type":"object"},"taints":{"description":"master or worker taints","items":{"$ref":"#/definitions/v1Taint"},"type":"array","uniqueItems":true},"updateStrategy":{"$ref":"#/definitions/v1UpdateStrategy","description":"rolling update strategy for this machinepool if not specified, will use ScaleOut"},"useControlPlaneAsWorker":{"description":"if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools","type":"boolean"}},"required":["isControlPlane","instanceType"],"type":"object"},"v1GcpMachinePoolConfigEntity":{"properties":{"cloudConfig":{"$ref":"#/definitions/v1GcpMachinePoolCloudConfigEntity"},"poolConfig":{"$ref":"#/definitions/v1MachinePoolConfigEntity"}},"required":["cloudConfig"],"type":"object"},"v1GcpMachineSpec":{"description":"GCP cloud VM definition spec","properties":{"image":{"type":"string"},"instanceConfig":{"$ref":"#/definitions/v1InstanceConfig"},"instanceType":{"type":"string"},"nics":{"items":{"$ref":"#/definitions/v1GcpNic"},"type":"array"},"project":{"type":"string"},"region":{"type":"string"},"rootDeviceSize":{"format":"int64","type":"integer"},"zone":{"type":"string"}},"required":["instanceType"],"type":"object"},"v1GcpMachines":{"description":"GCP machine list","properties":{"items":{"items":{"$ref":"#/definitions/v1GcpMachine"},"type":"array","uniqueItems":true},"listmeta":{"$ref":"#/definitions/v1ListMetaData"}},"required":["items"],"type":"object"},"v1GcpManagedClusterConfig":{"description":"GCP managed cluster config","properties":{"enableAutoPilot":{"description":"EnableAutopilot indicates whether to enable autopilot for this GKE cluster","type":"boolean"},"location":{"description":"Can be Region or Zone","type":"string"}},"type":"object"},"v1GcpNetwork":{"description":"GCP network enity is a virtual version of a physical network","properties":{"name":{"description":"GCP network name","type":"string"},"subnets":{"description":"List of GCP subnet","items":{"$ref":"#/definitions/v1GcpSubnet"},"type":"array"}},"type":"object"},"v1GcpNetworks":{"description":"List of GCP networks","properties":{"networks":{"items":{"$ref":"#/definitions/v1GcpNetwork"},"type":"array"}},"type":"object"},"v1GcpNic":{"description":"GCP network interface","properties":{"index":{"format":"int8","type":"integer"},"networkName":{"type":"string"},"privateIPs":{"items":{"type":"string"},"type":"array"},"publicIp":{"type":"string"}},"type":"object"},"v1GcpProject":{"description":"GCP project organizes all Google Cloud resources","properties":{"id":{"description":"GCP project id","type":"string"},"name":{"description":"GCP project name","type":"string"}},"type":"object"},"v1GcpProjects":{"description":"List of GCP Projects","properties":{"projects":{"description":"List of GCP Projects","items":{"$ref":"#/definitions/v1GcpProject"},"type":"array"}},"type":"object"},"v1GcpRegion":{"description":"Geographical region made up of zones where you can host your GCP resources","properties":{"name":{"description":"GCP region name","type":"string"},"status":{"description":"GCP region status","type":"string"}},"type":"object"},"v1GcpRegions":{"description":"List of GCP Regions","properties":{"regions":{"items":{"$ref":"#/definitions/v1GcpRegion"},"type":"array"}},"type":"object"},"v1GcpStorageConfig":{"description":"GCP storage config object","properties":{"bucketName":{"description":"GCP storage bucket name","type":"string"},"credentials":{"$ref":"#/definitions/v1.GcpAccountEntitySpec","description":"GCP cloud account credentials"}},"required":["bucketName","credentials"],"type":"object"},"v1GcpStorageTypes":{"description":"List of GCP storage types","properties":{"storageTypes":{"items":{"$ref":"#/definitions/v1StorageType"},"type":"array"}},"type":"object"},"v1GcpSubnet":{"description":"Subnets are regional resources, and have IP address ranges associated with them","properties":{"id":{"description":"GCP subnet id","type":"string"},"name":{"description":"GCP subnet name","type":"string"}},"type":"object"},"v1GcpSubnetEntity":{"properties":{"az":{"type":"string"},"id":{"type":"string"}}},"v1GcpZone":{"description":"A zone is a deployment area for Google Cloud resources within a region","properties":{"name":{"description":"GCP zone name","type":"string"}},"type":"object"},"v1GcpZones":{"description":"List of GCP zones","properties":{"zones":{"items":{"$ref":"#/definitions/v1GcpZone"},"type":"array"}},"type":"object"},"v1GenericCloudClusterConfigEntity":{"description":"Generic cloud cluster config entity","properties":{"clusterConfig":{"$ref":"#/definitions/v1GenericClusterConfig"}},"type":"object"},"v1GenericCloudConfig":{"description":"Generic CloudConfig for all cloud types","properties":{"kind":{"type":"string"},"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1GenericCloudConfigSpec"}}},"v1GenericCloudConfigSpec":{"description":"Generic CloudConfig spec for all cloud types","properties":{"cloudAccountRef":{"$ref":"#/definitions/v1ObjectReference","description":"Cloud account reference is optional and dynamically handled based on the kind"},"clusterConfig":{"$ref":"#/definitions/v1GenericClusterConfig"},"edgeHostRefs":{"description":"Appliances (Edge Host) uids","items":{"$ref":"#/definitions/v1ObjectReference"},"type":"array"},"machinePoolConfig":{"items":{"$ref":"#/definitions/v1GenericMachinePoolConfig"},"type":"array"}},"type":"object"},"v1GenericClusterConfig":{"description":"Generic cluster config","properties":{"instanceType":{"$ref":"#/definitions/v1GenericInstanceType"},"region":{"description":"cluster region information","type":"string"}},"type":"object"},"v1GenericInstanceType":{"properties":{"diskGiB":{"description":"DiskGiB is the size of a virtual machine's disk, in GiB","format":"int32","type":"integer"},"memoryMiB":{"description":"MemoryMiB is the size of a virtual machine's memory, in MiB","format":"int64","type":"integer"},"name":{"type":"string"},"numCPUs":{"description":"NumCPUs is the number of virtual processors in a virtual machine","format":"int32","type":"integer"}},"type":"object"},"v1GenericMachine":{"description":"Generic cloud VM definition","properties":{"apiVersion":{"description":"Deprecated. Not used for the resource info.","type":"string"},"kind":{"description":"Deprecated. Cloud type of the machine.","type":"string"},"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1GenericMachineSpec"},"status":{"$ref":"#/definitions/v1CloudMachineStatus"}}},"v1GenericMachinePoolConfig":{"properties":{"instanceType":{"type":"string"},"isControlPlane":{"description":"whether this pool is for control plane","type":"boolean"},"labels":{"description":"labels for this pool, example: master/worker, gpu, windows","items":{"type":"string"},"type":"array"},"name":{"type":"string"},"rootDeviceSize":{"description":"Size of root volume in GB. Default is 30GB","format":"int64","type":"integer"},"size":{"description":"size of the pool, number of machines","format":"int32","type":"integer"},"useControlPlaneAsWorker":{"description":"if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools","type":"boolean"}},"required":["isControlPlane"],"type":"object"},"v1GenericMachinePoolConfigEntity":{"properties":{"cloudConfig":{"$ref":"#/definitions/v1GenericClusterConfig"},"poolConfig":{"$ref":"#/definitions/v1MachinePoolConfigEntity"}}},"v1GenericMachineSpec":{"description":"Generic cloud VM definition spec","properties":{"hostName":{"type":"string"},"imageId":{"type":"string"},"instanceType":{"$ref":"#/definitions/v1GenericInstanceType"},"nics":{"items":{"$ref":"#/definitions/v1GenericNic"},"type":"array"},"sshKeyName":{"type":"string"}}},"v1GenericMachines":{"description":"Generic machine list","properties":{"items":{"items":{"$ref":"#/definitions/v1GenericMachine"},"type":"array","uniqueItems":true},"listmeta":{"$ref":"#/definitions/v1ListMetaData"}},"required":["items"],"type":"object"},"v1GenericNic":{"description":"Generic network interface","properties":{"index":{"format":"int8","type":"integer"},"networkName":{"type":"string"},"privateIPs":{"items":{"type":"string"},"type":"array"},"publicIp":{"type":"string"}},"type":"object"},"v1GeolocationLatlong":{"description":"Geolocation Latlong entity","properties":{"latitude":{"description":"Latitude of a resource","format":"float64","type":"number","x-omitempty":false},"longitude":{"description":"Longitude of a resource","format":"float64","type":"number","x-omitempty":false}},"type":"object"},"v1GitRepoFileContent":{"properties":{"content":{"type":"string"},"name":{"type":"string"},"path":{"type":"string"},"repoName":{"type":"string"},"sha":{"type":"string"}},"type":"object"},"v1GrpcClientMonitoringData":{"properties":{"clientUid":{"type":"string"},"receivedBroadcastCount":{"type":"integer"},"receivedPublishedCount":{"type":"integer"},"sentBroadcastCount":{"type":"integer"},"sentPublishedCount":{"type":"integer"},"subjects":{"items":{"type":"string"},"type":"array"}},"type":"object"},"v1GrpcConfiguration":{"description":"Describes the response that contains the grpc configuration to establish connection","properties":{"preferredServer":{"$ref":"#/definitions/v1GrpcEndpoint"},"servers":{"items":{"$ref":"#/definitions/v1GrpcEndpoint"},"type":"array","uniqueItems":true}},"type":"object"},"v1GrpcEndpoint":{"properties":{"endpoint":{"description":"Describes the URL where the client has to connect to the grpc server","type":"string"},"tls":{"description":"Describes the Grpc tls config which client will use to make a request to the grpc server","properties":{"caCert":{"type":"string"},"enabled":{"type":"boolean"},"insecureSkipVerify":{"type":"boolean"}},"type":"object"}},"type":"object"},"v1GrpcServerMonitoringData":{"properties":{"clients":{"additionalProperties":{"$ref":"#/definitions/v1GrpcClientMonitoringData"},"type":"object"},"isError":{"type":"boolean"},"messageLogs":{"items":{"type":"string"},"type":"array"},"subjects":{"additionalProperties":{"$ref":"#/definitions/v1GrpcSubjectMonitoringData"},"type":"object"},"totalClients":{"type":"integer"},"totalSubjects":{"type":"integer"}},"type":"object"},"v1GrpcServersMonitoringData":{"properties":{"servers":{"additionalProperties":{"$ref":"#/definitions/v1GrpcServerMonitoringData"},"type":"object"}},"type":"object"},"v1GrpcSubjectMonitoringData":{"properties":{"broadcastCount":{"type":"integer"},"clients":{"items":{"type":"string"},"type":"array"},"publishedCount":{"type":"integer"},"subject":{"type":"string"}},"type":"object"},"v1HealthCheck":{"properties":{"isHealthy":{"type":"boolean","x-omitempty":false},"message":{"type":"string"},"name":{"type":"string"}},"type":"object"},"v1HealthLocks":{"properties":{"expiredLocks":{"items":{"$ref":"#/definitions/v1Lock"},"type":"array","uniqueItems":true}},"type":"object"},"v1HealthPing":{"properties":{"msg":{"type":"string"}},"type":"object"},"v1HelmChartOption":{"description":"If chart options are provided then the specified chart is validated first and synced immediately. If the specified chart is not found in the specified registry then creation is cancelled.","properties":{"name":{"type":"string"},"version":{"type":"string"}},"type":"object"},"v1HelmRegistries":{"properties":{"items":{"items":{"$ref":"#/definitions/v1HelmRegistry"},"type":"array","uniqueItems":true},"listmeta":{"$ref":"#/definitions/v1ListMetaData"}},"required":["items"],"type":"object"},"v1HelmRegistriesSummary":{"description":"Helm Registries Summary","properties":{"items":{"items":{"$ref":"#/definitions/v1HelmRegistrySummary"},"type":"array","uniqueItems":true},"listmeta":{"$ref":"#/definitions/v1ListMetaData"}},"required":["items"],"type":"object"},"v1HelmRegistry":{"description":"Helm registry information","properties":{"apiVersion":{"description":"Deprecated. Not used for the resource info.","type":"string"},"kind":{"description":"Deprecated. Not used for the resource info.","type":"string"},"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1HelmRegistrySpec"},"status":{"$ref":"#/definitions/v1HelmRegistryStatus"}},"type":"object"},"v1HelmRegistryCreateOption":{"description":"Helm registry create options","properties":{"charts":{"items":{"$ref":"#/definitions/v1HelmChartOption"},"type":"array","uniqueItems":true},"skipSync":{"type":"boolean"}},"type":"object"},"v1HelmRegistryEntity":{"description":"Helm registry information","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1HelmRegistrySpecEntity"}},"type":"object"},"v1HelmRegistrySpec":{"description":"Helm registry credentials spec","properties":{"auth":{"$ref":"#/definitions/v1RegistryAuth"},"endpoint":{"type":"string"},"isPrivate":{"type":"boolean","x-omitempty":false},"name":{"type":"string"},"registryUid":{"description":"Helm registry uid","type":"string"},"scope":{"type":"string"}},"required":["endpoint","auth"],"type":"object"},"v1HelmRegistrySpecEntity":{"description":"Helm registry credentials spec","properties":{"auth":{"$ref":"#/definitions/v1RegistryAuth"},"createOption":{"$ref":"#/definitions/v1HelmRegistryCreateOption"},"endpoint":{"type":"string"},"isPrivate":{"type":"boolean"},"name":{"type":"string"},"scope":{"type":"string"}},"required":["endpoint","auth"],"type":"object"},"v1HelmRegistrySpecSummary":{"description":"Helm Registry spec summary","properties":{"endpoint":{"type":"string"},"isPrivate":{"type":"boolean","x-omitempty":false},"scope":{"type":"string"}},"type":"object"},"v1HelmRegistryStatus":{"description":"Status of the helm registry","properties":{"helmSyncStatus":{"$ref":"#/definitions/v1RegistrySyncStatus"}},"type":"object"},"v1HelmRegistryStatusSummary":{"description":"Helm registry status summary","properties":{"sync":{"$ref":"#/definitions/v1RegistrySyncStatus"}}},"v1HelmRegistrySummary":{"description":"Helm Registry summary","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1HelmRegistrySpecSummary"},"status":{"$ref":"#/definitions/v1HelmRegistryStatusSummary"}},"type":"object"},"v1HostClusterConfig":{"properties":{"clusterEndpoint":{"$ref":"#/definitions/v1HostClusterEndpoint","description":"host cluster configuration"},"clusterGroup":{"$ref":"#/definitions/v1ObjectReference","description":"cluster group reference"},"hostCluster":{"$ref":"#/definitions/v1ObjectReference","description":"host cluster reference"},"isHostCluster":{"default":false,"description":"is enabled as host cluster","type":"boolean","x-omitempty":false}}},"v1HostClusterConfigEntity":{"properties":{"hostClusterConfig":{"$ref":"#/definitions/v1HostClusterConfig"}},"type":"object"},"v1HostClusterConfigResponse":{"properties":{"clusterGroup":{"$ref":"#/definitions/v1ObjectReference","description":"cluster group reference"}}},"v1HostClusterEndpoint":{"properties":{"config":{"$ref":"#/definitions/v1HostClusterEndpointConfig"},"type":{"description":"is enabled as host cluster","enum":["Ingress","LoadBalancer"],"type":"string"}}},"v1HostClusterEndpointConfig":{"properties":{"ingressConfig":{"$ref":"#/definitions/v1IngressConfig"},"loadBalancerConfig":{"$ref":"#/definitions/v1LoadBalancerConfig"}}},"v1HttpPatch":{"properties":{"from":{"description":"A path to the pointer from which reference will be taken","type":"string"},"op":{"description":"The operation to be performed","enum":["add","remove","replace","move","copy"],"type":"string"},"path":{"description":"A path to the pointer on which operation will be done","type":"string"},"value":{"description":"The value to be used within the operations.","type":"object"}},"required":["op","path"],"type":"object"},"v1HubbleInfo":{"properties":{"apiEndpoint":{"type":"string"},"apiPort":{"type":"string"},"natsEndpoint":{"type":"string"},"uiEndpoint":{"type":"string"},"uiPort":{"type":"string"}},"type":"object"},"v1IPPool":{"description":"IPPool defines static IPs available. Gateway, Prefix, Nameserver, if defined, will be default values for all Pools","properties":{"gateway":{"description":"Gateway is the gateway ip address","type":"string"},"nameserver":{"$ref":"#/definitions/v1Nameserver","description":"Nameserver provide information for dns resolvation"},"pools":{"description":"Pools contains the list of IP addresses pools","items":{"$ref":"#/definitions/v1Pool"},"type":"array"},"prefix":{"description":"Prefix is the mask of the network as integer (max 128)","format":"int32","type":"integer"},"uid":{"description":"UID is the UID of this IPPool, used by Hubble","type":"string"}},"type":"object"},"v1IdentityProvider":{"description":"Describes a predefined Identity Provider (IDP)","properties":{"id":{"type":"string"},"name":{"type":"string"}},"type":"object"},"v1IdentityProviders":{"description":"Describes a list of predefined Identity Provider (IDP)","items":{"$ref":"#/definitions/v1IdentityProvider"},"type":"array","uniqueItems":true},"v1ImportClusterConfig":{"properties":{"importMode":{"description":"If the importMode is empty then cluster is imported with full permission mode. By default importMode is empty and cluster is imported in full permission mode.","enum":["read-only"],"type":"string"},"proxy":{"$ref":"#/definitions/v1ClusterProxySpec","description":"Cluster proxy settings"}},"type":"object"},"v1ImportEdgeHostConfig":{"properties":{"edgeHostUid":{"description":"Deprecated. Use 'edgeHostUids' field","type":"string"},"edgeHostUids":{"items":{"type":"string"},"type":"array"}},"type":"object"},"v1InfraLBConfig":{"properties":{"apiServerLB":{"$ref":"#/definitions/v1LoadBalancerSpec","description":"APIServerLB is the configuration for the control-plane load balancer."}},"type":"object"},"v1IngressConfig":{"description":"Ingress configuration for exposing the virtual cluster's kube-apiserver","properties":{"host":{"type":"string"},"port":{"format":"int64","type":"integer"}}},"v1InstallerStatus":{"description":"Spectro cluster installer status","properties":{"clusterMigration":{"$ref":"#/definitions/v1SpectroClusterMigration"},"clusterState":{"type":"string"},"endpoint":{"type":"string","x-omitempty":false}},"type":"object"},"v1InstanceConfig":{"properties":{"category":{"type":"string"},"cpuSet":{"format":"int64","type":"integer"},"diskGiB":{"format":"int64","type":"integer"},"memoryMiB":{"description":"MemoryMiB is the size of a virtual machine's memory, in MiB","format":"int64","type":"integer"},"name":{"type":"string"},"numCPUs":{"description":"NumCPUs is the number of virtual processors in a virtual machine","format":"int32","type":"integer"}}},"v1InstanceCost":{"description":"Instance cost entity","properties":{"price":{"description":"Array of cloud instance price","items":{"$ref":"#/definitions/v1InstancePrice"},"type":"array"}},"type":"object"},"v1InstancePrice":{"description":"Cloud instance price","properties":{"onDemand":{"description":"OnDemand price of instance","format":"double","type":"number"},"os":{"description":"Os associated with instance price. Allowed values - [linux, windows]","enum":["linux","windows"],"type":"string"},"spot":{"description":"Spot price of instance","format":"double","type":"number"}},"type":"object"},"v1InstanceType":{"description":"Cloud Instance type details","properties":{"category":{"description":"Category of instance type","type":"string","x-go-name":"Category"},"cost":{"$ref":"#/definitions/v1InstanceCost"},"cpu":{"description":"Cpu of instance type","format":"double","type":"number","x-go-name":"Cpu"},"gpu":{"description":"Gpu of instance type","format":"double","type":"number","x-go-name":"Gpu"},"memory":{"description":"Memory of instance type","format":"double","type":"number","x-go-name":"Memory"},"nonSupportedZones":{"description":"Non supported zones of the instance in a particular region","items":{"type":"string"},"type":"array"},"price":{"description":"Price of instance type","format":"double","type":"number","x-go-name":"Price"},"supportedArchitectures":{"description":"Supported architecture of the instance","items":{"type":"string"},"type":"array"},"type":{"description":"Type of instance type","type":"string","x-go-name":"Type"}},"type":"object"},"v1Invoice":{"description":"Invoice object","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1InvoiceSpec"},"status":{"$ref":"#/definitions/v1InvoiceStatus"}}},"v1InvoiceBillingPeriod":{"description":"Invoice billing period object","properties":{"end":{"$ref":"#/definitions/v1Time"},"start":{"$ref":"#/definitions/v1Time"}}},"v1InvoiceCredits":{"description":"Invoice credits object","properties":{"alloyFreeCredits":{"description":"Credits allocated for import clusters","format":"int64","type":"number"},"pureFreeCredits":{"description":"Credits allocated for managed clusters","format":"int64","type":"number"}}},"v1InvoicePlan":{"description":"Invoice plan object","properties":{"freeCredits":{"description":"List of free credits","items":{"$ref":"#/definitions/v1InvoicePlanCredit"},"type":"array"},"plantype":{"enum":["Trial","MonthlyOnDemand","AnnualSubscription"],"type":"string"},"slaCredits":{"description":"List of SLA credits","items":{"$ref":"#/definitions/v1InvoicePlanCredit"},"type":"array"}}},"v1InvoicePlanCredit":{"description":"Invoice plan credit object","properties":{"planCredit":{"$ref":"#/definitions/v1PlanCredit"},"totalCpuCoreHours":{"description":"Total used cpu core hours","format":"int64","type":"number"}}},"v1InvoiceProduct":{"description":"Product invoice object","properties":{"alloy":{"$ref":"#/definitions/v1InvoiceProductData"},"pure":{"$ref":"#/definitions/v1InvoiceProductData"}}},"v1InvoiceProductData":{"description":"Product invoice data","properties":{"allocatedCredits":{"description":"Allocated credits","format":"int64","type":"number"},"amount":{"description":"Total amount","format":"float64","type":"number"},"billableCredits":{"description":"Credits to be billed","format":"float64","type":"number"},"breachedCredits":{"description":"Credits that are exceeds the allocated credits","format":"float64","type":"number"},"discount":{"description":"Applied discount","format":"int64","type":"number"},"freeCredits":{"description":"Allocated free credits","format":"int64","type":"number"},"overageLimitPercentage":{"description":"Allowed overage limit in percentage","format":"int8","type":"number"},"tierName":{"description":"Tier name","type":"string"},"tierPrice":{"description":"Tier price","format":"float64","type":"number"},"totalUsedCredits":{"description":"Total used credits","format":"float64","type":"number"},"usedCredits":{"description":"Used credits","format":"float64","type":"number"}}},"v1InvoiceProject":{"description":"Invoice project object","properties":{"amount":{"description":"Billing amount for the project","format":"float64","type":"number"},"projectName":{"description":"Name of the project","type":"string"},"projectUid":{"description":"Project identifier","type":"string"},"usage":{"$ref":"#/definitions/v1ProjectUsage","description":"Usage by the project"}}},"v1InvoiceRetryRequest":{"description":"Retry invoice request object","properties":{"customerId":{"description":"Customer invoice uid","type":"string"},"invoiceUid":{"description":"Invoice uid","type":"string"},"paymentMethodId":{"description":"Payment method uid","type":"string"}}},"v1InvoiceSpec":{"description":"Invoice specification","properties":{"address":{"$ref":"#/definitions/v1Address"},"billingPeriod":{"$ref":"#/definitions/v1InvoiceBillingPeriod"},"credits":{"$ref":"#/definitions/v1InvoiceCredits"},"envType":{"description":"Environment type [Trial,MonthlyOnDemand,AnnualSubscription,OnPrem]","type":"string"},"month":{"$ref":"#/definitions/v1Time","description":"Month for which invoice is generated"},"paymentUnit":{"enum":["usd"],"type":"string"},"plan":{"$ref":"#/definitions/v1InvoicePlan"}}},"v1InvoiceState":{"description":"Invoice state object","properties":{"paymentMsg":{"description":"Payment status message","type":"string"},"state":{"enum":["Paid","PaymentPending","PaymentInProgress","PaymentFailed"],"type":"string"},"timestamp":{"$ref":"#/definitions/v1Time","description":"Time on which the state has been updated"}}},"v1InvoiceStatus":{"description":"Invoice Status","properties":{"billableAmount":{"description":"Total billable amount","format":"float64","type":"number"},"productInvoice":{"$ref":"#/definitions/v1InvoiceProduct"},"projects":{"description":"List of project invoices","items":{"$ref":"#/definitions/v1InvoiceProject"},"type":"array"},"states":{"description":"List of invoice states","items":{"$ref":"#/definitions/v1InvoiceState"},"type":"array","uniqueItems":true},"stripeInvoiceId":{"description":"Stripe invoice uid","type":"string"}}},"v1Invoices":{"description":"List of invoices","properties":{"invoices":{"items":{"$ref":"#/definitions/v1Invoice"},"type":"array","uniqueItems":true},"listmeta":{"$ref":"#/definitions/v1ListMetaData"}},"required":["invoices"],"type":"object"},"v1IpPoolEntity":{"description":"IP Pool entity definition","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"properties":{"pool":{"$ref":"#/definitions/v1Pool"},"priavetGatewayUid":{"type":"string"},"restrictToSingleCluster":{"description":"if true, restricts this IP pool to be used by single cluster at any time","type":"boolean","x-omitempty":false}},"type":"object"},"status":{"$ref":"#/definitions/v1IpPoolStatus"}},"type":"object"},"v1IpPoolInputEntity":{"description":"IP Pool input entity definition","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"properties":{"pool":{"$ref":"#/definitions/v1Pool"},"restrictToSingleCluster":{"description":"if true, restricts this IP pool to be used by single cluster at any time","type":"boolean"}},"required":["pool"],"type":"object"}},"type":"object"},"v1IpPoolStatus":{"description":"IP Pool status","properties":{"allottedIps":{"items":{"type":"string"},"type":"array","uniqueItems":true},"associatedClusters":{"items":{"type":"string"},"type":"array","uniqueItems":true},"inUse":{"type":"boolean","x-omitempty":false}},"type":"object"},"v1IpPools":{"properties":{"items":{"items":{"$ref":"#/definitions/v1IpPoolEntity"},"type":"array","uniqueItems":true}},"required":["items"],"type":"object"},"v1JWKResponse":{"properties":{"alg":{"description":"The \"alg\" (algorithm) parameter identifies the algorithm intended for use with the key","type":"string"},"e":{"type":"string"},"key_ops":{"description":"The \"key_ops\" (key operations) parameter identifies the operation(s) for which the key is intended to be used","type":"string"},"kid":{"description":"The \"kid\" (key ID) parameter is used to match a specific key","type":"string"},"kty":{"description":"The \"kty\" (key type) parameter identifies the cryptographic algorithm family used with the key, such as \"RSA\" or \"EC\"","type":"string"},"n":{"type":"string"},"use":{"description":"The \"use\" (public key use) parameter identifies the intended use of the public key","type":"string"}},"type":"object"},"v1JWKSetResponse":{"properties":{"keys":{"description":"The value of the \"keys\" parameter is an array of JWK values","items":{"$ref":"#/definitions/v1JWKResponse"},"type":"array"}},"type":"object"},"v1JetAuthKey":{"properties":{"authKey":{"type":"string"}},"type":"object"},"v1JetAuthKeyResponse":{"properties":{"authKey":{"type":"string"}},"type":"object"},"v1JetServiceLogin":{"description":"jet service login input","properties":{"authKey":{"description":"authToken helps in two step verification for the authorization.","type":"string"},"edgeHostUid":{"type":"string"},"hostClusterUid":{"type":"string"},"isSystem":{"type":"boolean"},"jetUid":{"type":"string"},"overlordUid":{"type":"string"},"serviceVersion":{"type":"string"},"spectroClusterUid":{"type":"string"},"tenantUid":{"type":"string"}},"type":"object"},"v1KubeBenchEntity":{"description":"KubeBench response","properties":{"reports":{"additionalProperties":{"$ref":"#/definitions/v1KubeBenchReportEntity"},"type":"object"},"requestUid":{"type":"string"},"status":{"enum":["Completed","InProgress","Failed","Initiated"],"type":"string"}},"required":["requestUid","status","reports"]},"v1KubeBenchLog":{"description":"Compliance Scan KubeBench Log","properties":{"description":{"type":"string"},"expected":{"type":"string"},"remediation":{"type":"string"},"state":{"type":"string"},"testId":{"type":"string"},"value":{"type":"string"}}},"v1KubeBenchLogEntity":{"description":"KubeBench log","properties":{"description":{"type":"string"},"expected":{"type":"string"},"remediation":{"type":"string"},"state":{"type":"string"},"testId":{"type":"string"},"value":{"type":"string"}}},"v1KubeBenchReport":{"description":"Compliance Scan KubeBench Report","properties":{"fail":{"format":"int32","type":"integer"},"info":{"format":"int32","type":"integer"},"logs":{"items":{"$ref":"#/definitions/v1KubeBenchLog"},"type":"array"},"name":{"type":"string"},"pass":{"format":"int32","type":"integer"},"time":{"$ref":"#/definitions/v1Time"},"type":{"type":"string"},"warn":{"format":"int32","type":"integer"}}},"v1KubeBenchReportEntity":{"description":"KubeBench report","properties":{"fail":{"format":"int32","type":"integer"},"info":{"format":"int32","type":"integer"},"logs":{"items":{"$ref":"#/definitions/v1KubeBenchLogEntity"},"type":"array"},"name":{"type":"string"},"pass":{"format":"int32","type":"integer"},"time":{"$ref":"#/definitions/v1Time"},"type":{"type":"string"},"warn":{"format":"int32","type":"integer"}}},"v1KubeHunterEntity":{"description":"KubeHunter response","properties":{"reports":{"additionalProperties":{"$ref":"#/definitions/v1KubeHunterReportEntity"},"type":"object"},"requestUid":{"type":"string"},"status":{"enum":["Completed","InProgress","Failed","Initiated"],"type":"string"}},"required":["requestUid","status","reports"]},"v1KubeHunterLog":{"description":"Compliance Scan KubeHunter Log","properties":{"description":{"type":"string"},"evidence":{"type":"string"},"reference":{"type":"string"},"severity":{"type":"string"},"testId":{"type":"string"},"vulnerability":{"type":"string"}}},"v1KubeHunterLogEntity":{"description":"KubeHunter log","properties":{"description":{"type":"string"},"evidence":{"type":"string"},"reference":{"type":"string"},"severity":{"type":"string"},"testId":{"type":"string"},"vulnerability":{"type":"string"}}},"v1KubeHunterReport":{"description":"Compliance Scan KubeHunter Report","properties":{"logs":{"items":{"$ref":"#/definitions/v1KubeHunterLog"},"type":"array"},"time":{"$ref":"#/definitions/v1Time"},"vulnerabilites":{"$ref":"#/definitions/v1KubeHunterVulnerabilities"}}},"v1KubeHunterReportEntity":{"description":"KubeHunter report","properties":{"logs":{"items":{"$ref":"#/definitions/v1KubeHunterLogEntity"},"type":"array"},"time":{"$ref":"#/definitions/v1Time"},"vulnerabilities":{"$ref":"#/definitions/v1KubeHunterVulnerabilityDataEntity"}}},"v1KubeHunterVulnerabilities":{"description":"Compliance Scan KubeHunter Vulnerabilities","properties":{"high":{"format":"int32","type":"integer"},"low":{"format":"int32","type":"integer"},"medium":{"format":"int32","type":"integer"}}},"v1KubeHunterVulnerabilityDataEntity":{"description":"KubeHunter vulnerability data","properties":{"high":{"format":"int32","type":"integer"},"low":{"format":"int32","type":"integer"},"medium":{"format":"int32","type":"integer"}}},"v1KubeMeta":{"description":"Spectro cluster kube meta","properties":{"hasKubeConfig":{"type":"boolean","x-omitempty":false},"hasKubeConfigClient":{"type":"boolean","x-omitempty":false},"hasManifest":{"type":"boolean","x-omitempty":false},"kubernetesVersion":{"type":"string"}},"type":"object"},"v1LibvirtCloudClusterConfigEntity":{"description":"Libvirt cloud cluster config entity","properties":{"clusterConfig":{"$ref":"#/definitions/v1LibvirtClusterConfig"}},"type":"object"},"v1LibvirtCloudConfig":{"description":"LibvirtCloudConfig is the Schema for the libvirtcloudconfigs API","properties":{"apiVersion":{"description":"Deprecated. Not used for the resource info. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources","type":"string"},"kind":{"description":"Cloud type of the cloud config","type":"string"},"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1LibvirtCloudConfigSpec"},"status":{"$ref":"#/definitions/v1LibvirtCloudConfigStatus"}},"type":"object"},"v1LibvirtCloudConfigSpec":{"description":"LibvirtCloudConfigSpec defines the desired state of LibvirtCloudConfig","properties":{"clusterConfig":{"$ref":"#/definitions/v1LibvirtClusterConfig"},"machinePoolConfig":{"items":{"$ref":"#/definitions/v1LibvirtMachinePoolConfig"},"type":"array"}},"required":["clusterConfig","machinePoolConfig"],"type":"object"},"v1LibvirtCloudConfigStatus":{"properties":{"conditions":{"items":{"$ref":"#/definitions/v1ClusterCondition"},"type":"array"},"nodeImages":{"description":"NodeImages are the list of images generated on all the LibvirtHosts","items":{"$ref":"#/definitions/v1LibvirtImage"},"type":"array"},"sourceImageId":{"description":"SourceImageId can be from packref's annotations or from pack.json","type":"string"}},"type":"object"},"v1LibvirtClusterConfig":{"properties":{"controlPlaneEndpoint":{"$ref":"#/definitions/v1LibvirtControlPlaneEndPoint","description":"ControlPlaneEndpoint is the control plane endpoint, which can be an IP or FQDN"},"ntpServers":{"description":"NTPServers is a list of NTP servers to use instead of the machine image's default NTP server list","items":{"type":"string"},"type":"array"},"sshKeys":{"description":"SSHKeys specifies a list of ssh authorized keys to access the vms as a 'spectro' user","items":{"type":"string"},"type":"array"},"staticIp":{"description":"StaticIP indicates if IP allocation type is static IP. DHCP is the default allocation type","type":"boolean"}},"type":"object"},"v1LibvirtControlPlaneEndPoint":{"properties":{"ddnsSearchDomain":{"description":"DDNSSearchDomain is the search domain used for resolving IP addresses when the EndpointType is DDNS. This search domain is appended to the generated Hostname to obtain the complete DNS name for the endpoint. If Host is already a DDNS FQDN, DDNSSearchDomain is not required","type":"string"},"host":{"description":"Host is FQDN(DDNS) or IP","type":"string"},"type":{"description":"Type indicates DDNS or VIP","type":"string"}},"type":"object"},"v1LibvirtDiskSpec":{"properties":{"dataStoragePool":{"description":"DataStoragePool is the storage pool from which additional disks are assigned","type":"string"},"managed":{"description":"Managed indicates if the disk is a persistent or not. By default its false indicating all disks are ephemeral.","type":"boolean"},"sizeInGB":{"description":"SizeInGB is the target size in GB of the disk to be added","format":"int32","type":"integer"}},"required":["sizeInGB"],"type":"object"},"v1LibvirtHostIdentity":{"properties":{"caCert":{"description":"CACert is the client CA certificate","type":"string"},"mode":{"description":"Mode indicates a system or session connection to the host","type":"string"},"socketPath":{"description":"SocketPath is an optional path to the socket on the host, if not using defaults","type":"string"},"sshSecret":{"$ref":"#/definitions/v1EdgeHostSSHSecret","description":"SSHSecrets to the secret containing ssh-username"}},"type":"object"},"v1LibvirtImage":{"description":"LibvirtImage is the Image generated on the LibvirtHost","properties":{"hostID":{"description":"HostID is the ID of the LibvirtHost","type":"string"},"imageName":{"description":"ImageName is the name of the Libvirt image","type":"string"},"storagePool":{"description":"StoragePool is the name of the storagePool where is image is located","type":"string"}},"type":"object"},"v1LibvirtInstanceType":{"description":"LibvirtInstanceType defines the instance configuration for a virtual machine","properties":{"cpuPassthroughSpec":{"$ref":"#/definitions/v1CPUPassthroughSpec","description":"Defines CPU Passthrough Spec. A not null value enables CPU Passthrough for the libvirt domain. Further cache passthrough can be enabled with the CPU passthrough spec."},"cpuset":{"description":"CPUSet defines cpuset for an instance which allows allocation specific set of cpus E.g cpuset=\"1-4,^3,6\" See https://libvirt.org/formatdomain.html#cpu-allocation","type":"string"},"gpuConfig":{"$ref":"#/definitions/v1GPUConfig","description":"GPU configuration"},"memoryInMB":{"description":"MemoryinMB is the memory in megabytes","format":"int32","type":"integer"},"numCPUs":{"description":"NumCPUs is the number of CPUs","format":"int32","type":"integer"}},"required":["numCPUs","memoryInMB"],"type":"object"},"v1LibvirtMachine":{"description":"Libvirt cloud VM definition","properties":{"apiVersion":{"description":"Deprecated. Not used for the resource info.","type":"string"},"kind":{"description":"Deprecated. Cloud type of the machine.","type":"string"},"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1LibvirtMachineSpec"},"status":{"$ref":"#/definitions/v1CloudMachineStatus"}}},"v1LibvirtMachinePoolCloudConfigEntity":{"properties":{"instanceType":{"$ref":"#/definitions/v1LibvirtInstanceType"},"nonRootDisksInGB":{"description":"NonRootDisksInGB is the list of additional disks, if required, in GB","items":{"$ref":"#/definitions/v1LibvirtDiskSpec"},"type":"array"},"placements":{"description":"Placements configuration Placements If defined, will replace default values defined in VsphereClusterConfig Array means one MachinePool can span across multiple vsphere compute cluster","items":{"$ref":"#/definitions/v1LibvirtPlacementEntity"},"type":"array","uniqueItems":true},"rootDiskInGB":{"description":"RootDiskInGB is the size of a vm's root disk, in GiB","format":"int32","type":"integer"},"xslTemplate":{"description":"XSLTemplate defines a base64-encoded raw xsl template which will be included in the machine definition","type":"string"}},"required":["instanceType","placements","rootDiskInGB"]},"v1LibvirtMachinePoolConfig":{"properties":{"additionalLabels":{"additionalProperties":{"type":"string"},"description":"additionalLabels","type":"object"},"additionalTags":{"additionalProperties":{"type":"string"},"description":"AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole","type":"object"},"instanceType":{"$ref":"#/definitions/v1LibvirtInstanceType","description":"InstanceType defines the instance configuration of the vms in the machine pool"},"isControlPlane":{"description":"whether this pool is for control plane","type":"boolean"},"labels":{"description":"labels for this pool, example: master/worker, gpu, windows","items":{"type":"string"},"type":"array"},"machinePoolProperties":{"$ref":"#/definitions/v1MachinePoolProperties"},"maxSize":{"description":"max size of the pool, for scaling","format":"int32","type":"integer"},"minSize":{"description":"min size of the pool, for scaling","format":"int32","type":"integer"},"name":{"type":"string"},"nodeRepaveInterval":{"description":"Minimum number of seconds a node should be Ready, before the next node is selected for repave. Applicable only for workerpools in infrastructure cluster","format":"int32","type":"integer"},"nonRootDisksInGB":{"description":"NonRootDisksInGB is the list of additional disks, if required, in GB","items":{"$ref":"#/definitions/v1LibvirtDiskSpec"},"type":"array"},"placements":{"description":"Placements defines the configurations of the failureDomains(hosts) for the machine pool","items":{"$ref":"#/definitions/v1LibvirtPlacementConfig"},"type":"array"},"rootDiskInGB":{"description":"RootDiskInGB is the size of a vm's root disk, in GB","format":"int32","type":"integer"},"size":{"description":"size of the pool, number of machines","format":"int32","type":"integer"},"taints":{"description":"master or worker taints","items":{"$ref":"#/definitions/v1Taint"},"type":"array","uniqueItems":true},"updateStrategy":{"$ref":"#/definitions/v1UpdateStrategy","description":"rolling update strategy for this machinepool if not specified, will use ScaleOut"},"useControlPlaneAsWorker":{"description":"if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools","type":"boolean"},"xslTemplate":{"description":"XSLTemplate defines a base64-encoded raw xsl template which will be included in the machine definition","type":"string"}},"required":["instanceType","placements","rootDiskInGB"],"type":"object"},"v1LibvirtMachinePoolConfigEntity":{"properties":{"cloudConfig":{"$ref":"#/definitions/v1LibvirtMachinePoolCloudConfigEntity"},"poolConfig":{"$ref":"#/definitions/v1MachinePoolConfigEntity"}},"type":"object"},"v1LibvirtMachineSpec":{"description":"libvirt cloud VM definition spec","properties":{"disks":{"items":{"$ref":"#/definitions/v1LibvirtDiskSpec"},"type":"array"},"edgeHostUid":{"type":"string"},"failureDomain":{"type":"string"},"imageName":{"type":"string"},"instanceType":{"$ref":"#/definitions/v1LibvirtInstanceType"},"nics":{"items":{"$ref":"#/definitions/v1LibvirtNicSpec"},"type":"array"},"targetStoragePool":{"type":"string"}},"type":"object"},"v1LibvirtMachines":{"description":"Libvirt machine list","properties":{"items":{"items":{"$ref":"#/definitions/v1LibvirtMachine"},"type":"array","uniqueItems":true}},"required":["items"],"type":"object"},"v1LibvirtNetworkSpec":{"description":"LibvirtNetworkSpec defines the network configuration for a virtual machine","properties":{"networkName":{"description":"NetworkName of the libvirt network where this machine will be connected","type":"string"},"networkType":{"description":"NetworkType specifies the type of network","enum":["default","bridge"],"type":"string"}},"required":["networkName","networkType"],"type":"object"},"v1LibvirtNicSpec":{"description":"Libvirt network interface","properties":{"index":{"format":"int8","type":"integer"},"macAddress":{"type":"string"},"privateIPs":{"items":{"type":"string"},"type":"array"}},"required":["macAddress"],"type":"object"},"v1LibvirtPlacementConfig":{"properties":{"dataStoragePool":{"description":"DataStoragePool is the storage pool from which additional disks are assigned","type":"string"},"gpuDevices":{"description":"GPU Devices is the list of LibvirtHost GPU devices, to be used for this placement","items":{"$ref":"#/definitions/v1GPUDeviceSpec"},"type":"array"},"hostAddress":{"description":"HostAddress is a FQDN or IP address of the LibvirtHost","type":"string"},"hostIdentity":{"$ref":"#/definitions/v1LibvirtHostIdentity","description":"HostIdentity is the identity to access the LibvirtHost"},"hostUid":{"description":"HostUid is the ID of the LibvirtHost","type":"string"},"networks":{"description":"Networks defines the network specifications of the vms in the machine pool","items":{"$ref":"#/definitions/v1LibvirtNetworkSpec"},"type":"array"},"sourceStoragePool":{"description":"SourceStoragePool is the storage pool for the vm image","type":"string"},"targetStoragePool":{"description":"TargetStoragePool is the optional storage pool from which additional disks are assigned. If not specified, the sourceStoragePool is also used as the targetStoragePool","type":"string"}},"required":["hostUid","hostAddress","networks","sourceStoragePool"],"type":"object"},"v1LibvirtPlacementEntity":{"description":"Libvirt placement config","properties":{"dataStoragePool":{"type":"string"},"gpuDevices":{"description":"GPUDevices defines an array of gpu device for a specific edge host. This will be overridden by edge host GPU devices if configured during registration.","items":{"$ref":"#/definitions/v1GPUDeviceSpec"},"type":"array"},"hostUid":{"type":"string"},"networks":{"items":{"$ref":"#/definitions/v1LibvirtNetworkSpec"},"type":"array"},"sourceStoragePool":{"type":"string"},"targetStoragePool":{"type":"string"}},"required":["hostUid"],"type":"object"},"v1LifecycleConfig":{"properties":{"pause":{"default":false,"description":"enable pause life cycle config","type":"boolean","x-omitempty":false}}},"v1LifecycleConfigEntity":{"properties":{"lifecycleConfig":{"$ref":"#/definitions/v1LifecycleConfig"}},"type":"object"},"v1LifecycleStatus":{"properties":{"msg":{"description":"error or success msg of lifecycle","type":"string"},"status":{"description":"lifecycle status","enum":["Pausing","Paused","Resuming","Running","Error"],"type":"string"}}},"v1ListMetaData":{"description":"ListMeta describes metadata for the resource listing","properties":{"continue":{"description":"Next token for the pagination. Next token is equal to empty string indicates end of result set.","type":"string","x-omitempty":false},"count":{"description":"Total count of the resources which might change during pagination based on the resources addition or deletion","type":"integer","x-omitempty":false},"limit":{"description":"Number of records feteched","type":"integer","x-omitempty":false},"offset":{"description":"The next offset for the pagination. Starting index for which next request will be placed.","type":"integer","x-omitempty":false}},"type":"object"},"v1LoadBalancerConfig":{"description":"Load balancer configuration for exposing the virtual cluster's kube-apiserver","properties":{"externalIPs":{"items":{"type":"string"},"type":"array"},"externalTrafficPolicy":{"type":"string"},"loadBalancerSourceRanges":{"items":{"type":"string"},"type":"array"}}},"v1LoadBalancerService":{"properties":{"host":{"description":"IP or Host from svc.Status.LoadBalancerStatus.Ingress","type":"string"},"name":{"description":"name of the loadbalancer service","type":"string"},"ports":{"description":"port this service exposed","items":{"$ref":"#/definitions/v1ServicePort"},"type":"array"}},"type":"object"},"v1LoadBalancerSpec":{"description":"LoadBalancerSpec defines an Azure load balancer.","properties":{"apiServerLBStaticIP":{"type":"string"},"ipAllocationMethod":{"default":"Dynamic","enum":["Static","Dynamic"],"type":"string"},"privateDNSName":{"type":"string"},"type":{"default":"Public","description":"Load Balancer type","enum":["Internal","Public"],"type":"string"}},"type":"object"},"v1LocationType":{"default":"s3","description":"Location type","enum":["s3","gcp","minio"],"type":"string"},"v1Lock":{"properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta","type":"object","x-omitempty":false},"spec":{"properties":{"expireAt":{"$ref":"#/definitions/v1Time","x-omitempty":false},"key":{"type":"string","x-omitempty":false}},"type":"object"}},"type":"object"},"v1Locks":{"items":{"$ref":"#/definitions/v1Lock"},"type":"array","uniqueItems":true},"v1Login":{"description":"Login input","properties":{"emailId":{"type":"string"}},"type":"object"},"v1LoginBannerSettings":{"properties":{"Message":{"description":"Login banner message displayed to the user","type":"string","x-omitempty":false},"isEnabled":{"description":"Set to 'true' if login banner has to be displayed for user","type":"boolean","x-omitempty":false},"title":{"description":"Banner title displayed to the user","type":"string","x-omitempty":false}}},"v1LoginResponse":{"description":"Returns the allowed login method and information with the organization details","properties":{"appEnv":{"description":"Describes the env type. Possible values [ saas, self-hosted, quick-start, enterprise, airgap]","type":"string"},"authType":{"description":"Describes the default mode of authentication. Possible values [password, sso]","enum":["password","sso"],"type":"string"},"orgName":{"description":"Organization name.","type":"string"},"redirectUrl":{"description":"Describes the default redirect Url for authentication. If authType is sso, it will have tenant configured saml/oidc idp url else it will be users organization url","type":"string","x-omitempty":false},"rootDomain":{"description":"Describes the domain url on which the saas is available","type":"string"},"securityMode":{"description":"Describes which security mode is enabled","type":"string"},"ssoLogins":{"$ref":"#/definitions/v1SsoLogins","description":"Just Inside. Describes the allowed social logins"},"totalTenants":{"description":"Describes the total number of tenant present in the system","format":"int64","type":"number"}},"type":"object"},"v1LogoutResponse":{"description":"Logout response specifying the redirect url","properties":{"redirectUrl":{"type":"string","x-omitempty":false}},"type":"object"},"v1MaasAccount":{"description":"Maas cloud account information","properties":{"apiVersion":{"description":"Deprecated. Not used for the resource info.","type":"string"},"kind":{"description":"Deprecated. Cloud type of the account.","type":"string"},"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1MaasCloudAccount"},"status":{"$ref":"#/definitions/v1CloudAccountStatus"}},"type":"object"},"v1MaasAccounts":{"properties":{"items":{"items":{"$ref":"#/definitions/v1MaasAccount"},"type":"array","uniqueItems":true},"listmeta":{"$ref":"#/definitions/v1ListMetaData"}},"required":["items"],"type":"object"},"v1MaasCloudAccount":{"properties":{"apiEndpoint":{"type":"string"},"apiKey":{"type":"string"},"preferredSubnets":{"description":"list of preferred subnets order in the list reflects order in which subnets will be selected for ip address selection in apiserver dns endpoint this way user can specify external or preferable subnet \"10.11.130.0/24,10.10.10.0/24\"","items":{"default":"","type":"string"},"type":"array"}},"required":["apiKey","apiEndpoint"],"type":"object"},"v1MaasCloudClusterConfigEntity":{"description":"Maas cloud cluster config entity","properties":{"clusterConfig":{"$ref":"#/definitions/v1MaasClusterConfig"}},"type":"object"},"v1MaasCloudConfig":{"description":"MaasCloudConfig is the Schema for the maascloudconfigs API","properties":{"apiVersion":{"description":"Deprecated. Not used for the resource info. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources","type":"string"},"kind":{"description":"Cloud type of the cloud config","type":"string"},"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1MaasCloudConfigSpec"},"status":{"$ref":"#/definitions/v1MaasCloudConfigStatus"}},"type":"object"},"v1MaasCloudConfigSpec":{"description":"MaasCloudConfigSpec defines the cloud configuration input by user This will translate to clusterspec/machinespec for cluster-api","properties":{"cloudAccountRef":{"$ref":"#/definitions/v1ObjectReference","description":"cloudAccountRef should point to the secret which contains MaasCloudAccount"},"clusterConfig":{"$ref":"#/definitions/v1MaasClusterConfig"},"machinePoolConfig":{"items":{"$ref":"#/definitions/v1MaasMachinePoolConfig"},"type":"array"}},"type":"object"},"v1MaasCloudConfigStatus":{"description":"MaasCloudConfigStatus defines the observed state of MaasCloudConfig The cloudimage info built by Mold is stored here image should be mapped to a specific machinepool","properties":{"ansibleRoleDigest":{"description":"For mold controller to identify if is there any changes in Pack","type":"string"},"conditions":{"items":{"$ref":"#/definitions/v1ClusterCondition"},"type":"array"},"isAddonLayer":{"description":"addon layers present in spc","type":"boolean"},"nodeImage":{"$ref":"#/definitions/v1MaasImage"},"roleDigest":{"additionalProperties":{"type":"string"},"description":"this map will be for ansible roles present in eack pack","type":"object"},"sourceImageId":{"description":"sourceImageId, it can be from packref's annotations or from pack.json","type":"string"},"useCapiImage":{"description":"PackerVariableDigest string `json:\"packerDigest,omitempty\"` If no ansible roles found in Packs then Mold should tell Drive to use capi image and not create custom image, because there is nothing to add","type":"boolean"}},"type":"object"},"v1MaasClusterConfig":{"description":"Cluster level configuration for MAAS cloud and applicable for all the machine pools","properties":{"domain":{"description":"Domain name of the cluster to be provisioned","type":"string"},"sshKeys":{"description":"SSH keys specifies a list of ssh authorized keys for the 'spectro' user","items":{"type":"string"},"type":"array"}},"required":["domain"],"type":"object"},"v1MaasDomain":{"description":"Maas domain","properties":{"name":{"description":"Name of Maas domain","type":"string"}},"type":"object"},"v1MaasDomains":{"description":"List of Maas domains","properties":{"items":{"items":{"$ref":"#/definitions/v1MaasDomain"},"type":"array","uniqueItems":true}},"required":["items"],"type":"object"},"v1MaasImage":{"description":"Name of the image","properties":{"name":{"description":"full path of the image template location it contains datacenter/folder/templatename etc eg: /mydc/vm/template/spectro/workerpool-1-centos","type":"string"},"state":{"type":"string"}},"type":"object"},"v1MaasInstanceType":{"properties":{"minCPU":{"description":"Minimum CPU cores","format":"int32","type":"integer"},"minMemInMB":{"description":"Minimum memory in MiB","format":"int32","type":"integer"}},"type":"object"},"v1MaasMachine":{"description":"Maas cloud VM definition","properties":{"apiVersion":{"description":"Deprecated. Not used for the resource info.","type":"string"},"kind":{"description":"Deprecated. Cloud type of the machine.","type":"string"},"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1MaasMachineSpec"},"status":{"$ref":"#/definitions/v1CloudMachineStatus"}},"type":"object"},"v1MaasMachineConfigEntity":{"properties":{"azs":{"description":"for master pool, this will be the failure domains for kcp","items":{"type":"string"},"type":"array"},"instanceType":{"$ref":"#/definitions/v1MaasInstanceType"},"resourcePool":{"type":"string"}},"type":"object"},"v1MaasMachinePoolCloudConfigEntity":{"properties":{"azs":{"items":{"type":"string"},"type":"array"},"instanceType":{"$ref":"#/definitions/v1MaasInstanceType"},"resourcePool":{"description":"the resource pool","type":"string"},"tags":{"description":"Tags in maas environment","items":{"type":"string"},"type":"array"}},"required":["instanceType","resourcePool"],"type":"object"},"v1MaasMachinePoolConfig":{"properties":{"additionalLabels":{"additionalProperties":{"type":"string"},"description":"additionalLabels","type":"object"},"additionalTags":{"additionalProperties":{"type":"string"},"description":"AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole","type":"object"},"azs":{"items":{"type":"string"},"type":"array"},"instanceType":{"$ref":"#/definitions/v1MaasInstanceType","description":"InstanceType defines the required CPU, Memory"},"isControlPlane":{"description":"whether this pool is for control plane","type":"boolean"},"labels":{"description":"labels for this pool, example: master/worker, gpu, windows","items":{"type":"string"},"type":"array"},"machinePoolProperties":{"$ref":"#/definitions/v1MachinePoolProperties"},"maxSize":{"description":"max size of the pool, for scaling","format":"int32","type":"integer"},"minSize":{"description":"min size of the pool, for scaling","format":"int32","type":"integer"},"name":{"type":"string"},"nodeRepaveInterval":{"description":"Minimum number of seconds a node should be Ready, before the next node is selected for repave. Applicable only for workerpools in infrastructure cluster","format":"int32","type":"integer"},"resourcePool":{"type":"string"},"size":{"description":"size of the pool, number of machines","format":"int32","type":"integer"},"tags":{"description":"Tags in maas environment","items":{"type":"string"},"type":"array"},"taints":{"description":"master or worker taints","items":{"$ref":"#/definitions/v1Taint"},"type":"array","uniqueItems":true},"updateStrategy":{"$ref":"#/definitions/v1UpdateStrategy","description":"rolling update strategy for this machinepool if not specified, will use ScaleOut"},"useControlPlaneAsWorker":{"description":"if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools","type":"boolean"}},"required":["instanceType"],"type":"object"},"v1MaasMachinePoolConfigEntity":{"properties":{"cloudConfig":{"$ref":"#/definitions/v1MaasMachinePoolCloudConfigEntity"},"poolConfig":{"$ref":"#/definitions/v1MachinePoolConfigEntity"}},"required":["cloudConfig"],"type":"object"},"v1MaasMachineSpec":{"description":"Maas cloud VM definition spec","properties":{"az":{"type":"string"},"hostname":{"type":"string"},"nics":{"items":{"$ref":"#/definitions/v1MaasNic"},"type":"array"}},"type":"object"},"v1MaasMachines":{"description":"List of MAAS machines","properties":{"items":{"items":{"$ref":"#/definitions/v1MaasMachine"},"type":"array","uniqueItems":true},"listmeta":{"$ref":"#/definitions/v1ListMetaData"}},"required":["items"],"type":"object"},"v1MaasNic":{"description":"Maas network interface","properties":{"index":{"format":"int8","type":"integer"},"privateIPs":{"items":{"type":"string"},"type":"array"},"publicIp":{"type":"string"}},"type":"object"},"v1MaasPool":{"description":"Maas pool","properties":{"description":{"description":"Description of Maas domain","type":"string"},"name":{"description":"Name of Maas pool","type":"string"}},"type":"object"},"v1MaasPools":{"description":"List of Maas pools","properties":{"items":{"items":{"$ref":"#/definitions/v1MaasPool"},"type":"array","uniqueItems":true}},"required":["items"],"type":"object"},"v1MaasSubnet":{"description":"Maas subnet","properties":{"id":{"description":"Id of Maas subnet","type":"integer"},"name":{"description":"Name of Maas subnet","type":"string"},"space":{"description":"Space associated with Maas subnet","type":"string"},"vlans":{"$ref":"#/definitions/v1MaasVlan"}},"type":"object"},"v1MaasSubnets":{"description":"List of Maas subnets","properties":{"items":{"items":{"$ref":"#/definitions/v1MaasSubnet"},"type":"array","uniqueItems":true}},"required":["items"],"type":"object"},"v1MaasTag":{"description":"Maas tag","properties":{"comment":{"description":"Comment on Maas tag","type":"string"},"definition":{"description":"Definition of Maas tag","type":"string"},"kernelOpts":{"description":"Kernel Opts on Maas tag","type":"string"},"name":{"description":"Name of Maas tag","type":"string"},"resourceUri":{"description":"Description of Maas tag","type":"string"}},"type":"object"},"v1MaasTags":{"description":"List of Maas tags","properties":{"items":{"items":{"$ref":"#/definitions/v1MaasTag"},"type":"array","uniqueItems":true}},"required":["items"],"type":"object"},"v1MaasVlan":{"description":"Maas vlan entity","properties":{"fabric":{"description":"Fabric associated with Maas Vlan","type":"string"},"id":{"description":"Id of Maas Vlan","type":"integer"},"name":{"description":"Name of Maas Vlan","type":"string"}},"type":"object"},"v1MaasZone":{"description":"Maas zone","properties":{"description":{"description":"Description of Maas domain","type":"string"},"name":{"description":"Name of Maas zone","type":"string"}},"type":"object"},"v1MaasZones":{"description":"List of Maas zones","properties":{"items":{"items":{"$ref":"#/definitions/v1MaasZone"},"type":"array","uniqueItems":true}},"required":["items"],"type":"object"},"v1MachineCertificate":{"description":"K8 Certificates for master nodes","properties":{"certificateAuthorities":{"description":"Applicable certificate authorities","items":{"$ref":"#/definitions/v1CertificateAuthority"},"type":"array"},"name":{"type":"string"}},"type":"object"},"v1MachineCertificates":{"description":"K8 Certificates for all the cluster's master nodes","properties":{"machineCertificates":{"items":{"$ref":"#/definitions/v1MachineCertificate"},"type":"array"}},"type":"object"},"v1MachineHealth":{"description":"Machine health state","properties":{"conditions":{"items":{"$ref":"#/definitions/v1MachineHealthCondition"},"type":"array"},"lastHeartBeatTimestamp":{"$ref":"#/definitions/v1Time"},"state":{"type":"string"}},"type":"object"},"v1MachineHealthCheckConfig":{"properties":{"healthCheckMaxUnhealthy":{"description":"HealthCheckMaxUnhealthy is the value above which, if current nodes are unhealthy remediation will not be triggered Can be an absolute int64 number or a percentage string Default value is 100%, i.e by default it is disabled","type":"string"},"networkReadyHealthCheckDuration":{"description":"NetworkReadyHealthCheckDuration is the timeout to check for the network availability. If the network is not available in the given available time, beyond the timeout check a node will be killed and a new node will be created. Default time is 10m","type":"string"},"nodeReadyHealthCheckDuration":{"description":"NodeReadyHealthCheckDuration is the timeout to check for the node ready state. If the node is not ready within the time out set, the node will be deleted and a new node will be launched. Default time is 10m","type":"string"}},"type":"object"},"v1MachineHealthCondition":{"description":"Machine health condition","properties":{"message":{"type":"string"},"reason":{"type":"string"},"status":{"type":"string"},"type":{"type":"string"}},"type":"object"},"v1MachineMaintenance":{"properties":{"action":{"description":"Machine maintenance mode action","enum":["cordon","uncordon"],"type":"string"}},"type":"object"},"v1MachineMaintenanceStatus":{"description":"Machine maintenance status","properties":{"action":{"type":"string"},"message":{"type":"string"},"state":{"type":"string"}},"type":"object"},"v1MachineManagementConfig":{"properties":{"osPatchConfig":{"$ref":"#/definitions/v1OsPatchConfig","description":"Os patch config contains properties to patch node os with latest security packages. If OsPatchConfig is not provided then node os will not be patched with latest security updates."}},"type":"object"},"v1MachinePoolConfigEntity":{"description":"Machine pool configuration for the cluster","properties":{"additionalLabels":{"additionalProperties":{"type":"string"},"description":"Additional labels to be part of the machine pool","type":"object"},"additionalTags":{"additionalProperties":{"type":"string"},"description":"AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole","type":"object"},"isControlPlane":{"description":"Whether this pool is for control plane","type":"boolean","x-omitempty":false},"labels":{"description":"Labels for this machine pool, example: master/worker, gpu, windows","items":{"type":"string"},"type":"array"},"machinePoolProperties":{"$ref":"#/definitions/v1MachinePoolProperties"},"maxSize":{"description":"Max size of the pool, for scaling","format":"int32","type":"integer"},"minSize":{"description":"Min size of the pool, for scaling","format":"int32","type":"integer"},"name":{"type":"string"},"nodeRepaveInterval":{"description":"Minimum number of seconds a node should be Ready, before the next node is selected for repave. Applicable only for workerpools in infrastructure cluster","format":"int32","type":"integer"},"size":{"description":"Size of the pool, number of nodes/machines","format":"int32","type":"integer"},"taints":{"description":"Master or worker taints","items":{"$ref":"#/definitions/v1Taint"},"type":"array","uniqueItems":true},"updateStrategy":{"$ref":"#/definitions/v1UpdateStrategy","description":"Rolling update strategy for this machine pool if not specified, will use ScaleOut"},"useControlPlaneAsWorker":{"description":"If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools","type":"boolean","x-omitempty":false}},"required":["name","size","labels"],"type":"object"},"v1MachinePoolMeta":{"properties":{"cloudType":{"type":"string"},"healthy":{"description":"number of healthy machines","format":"int32","type":"integer","x-omitempty":false},"infraProfileTemplate":{"$ref":"#/definitions/v1ClusterProfileTemplateMeta","description":"InfraClusterProfile contains OS/Kernel for this NodePool"},"isControlPlane":{"description":"whether this pool is for control plane","type":"boolean","x-omitempty":false},"labels":{"description":"labels for this pool, example: master/worker, gpu, windows","items":{"type":"string"},"type":"array"},"maintenanceMode":{"description":"number of machines under maintenance","format":"int32","type":"integer","x-omitempty":false},"size":{"description":"size of the pool, number of machines","format":"int32","type":"integer","x-omitempty":false}},"type":"object"},"v1MachinePoolProperties":{"description":"Machine pool specific properties","properties":{"archType":{"$ref":"#/definitions/v1ArchType","description":"Architecture type of the pool. Default value is 'amd64'","x-omitempty":false}},"type":"object"},"v1MachinePoolRate":{"description":"Machine pool estimated rate information","properties":{"name":{"type":"string"},"nodesCount":{"format":"int32","type":"integer"},"rate":{"$ref":"#/definitions/v1CloudRate"}},"type":"object"},"v1MachinePoolsMachineUids":{"properties":{"machinePools":{"additionalProperties":{"$ref":"#/definitions/v1MachineUids"},"type":"object"}}},"v1MachineUids":{"properties":{"machineUids":{"items":{"type":"string"},"type":"array"}}},"v1Macro":{"properties":{"name":{"type":"string"},"value":{"type":"string"}}},"v1Macros":{"properties":{"macros":{"items":{"$ref":"#/definitions/v1Macro"},"type":"array","uniqueItems":true}}},"v1ManagedDisk":{"properties":{"storageAccountType":{"type":"string"}},"type":"object"},"v1Manifest":{"description":"Manifest object","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1ManifestPublishedSpec"}}},"v1ManifestData":{"description":"Published manifest object","properties":{"content":{"description":"Manifest content in yaml","type":"string"},"digest":{"description":"Manifest digest","type":"string"}},"type":"object"},"v1ManifestEntities":{"properties":{"items":{"description":"Manifests array","items":{"$ref":"#/definitions/v1ManifestEntity"},"type":"array","uniqueItems":true}},"required":["items"],"type":"object"},"v1ManifestEntity":{"description":"Manifest object","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1ManifestSpec"}}},"v1ManifestInputEntity":{"description":"Manifest request payload","properties":{"content":{"description":"Manifest content","type":"string"},"name":{"description":"Manifest name","type":"string"}}},"v1ManifestPublishedSpec":{"description":"Manifest spec","properties":{"published":{"$ref":"#/definitions/v1ManifestData"}}},"v1ManifestRefInputEntities":{"description":"Pack manifests input params","properties":{"manifests":{"description":"Pack manifests array","items":{"$ref":"#/definitions/v1ManifestRefInputEntity"},"type":"array","uniqueItems":true}}},"v1ManifestRefInputEntity":{"description":"Manifest request payload","properties":{"content":{"description":"Manifest content in yaml","type":"string"},"uid":{"description":"Manifest uid","type":"string"}}},"v1ManifestRefUpdateEntity":{"description":"Manifest update request payload","properties":{"content":{"description":"Manifest content in yaml","type":"string"},"name":{"description":"Manifest name","type":"string"},"uid":{"description":"Manifest uid","type":"string"}},"required":["name"]},"v1ManifestSpec":{"description":"Manifest spec","properties":{"draft":{"$ref":"#/definitions/v1ManifestData"},"published":{"$ref":"#/definitions/v1ManifestData"}},"type":"object"},"v1ManifestSummary":{"description":"Manifest object","properties":{"content":{"description":"Manifest content in yaml","type":"string"},"name":{"description":"Manifest name","type":"string"},"uid":{"description":"Manifest uid","type":"string"}}},"v1Memory":{"properties":{"sizeInMB":{"description":"memory size in bytes","format":"int64","type":"integer"}},"type":"object"},"v1MetricAggregation":{"description":"Aggregation values","properties":{"avg":{"type":"number","x-omitempty":false},"count":{"format":"int64","type":"number","x-omitempty":false},"max":{"type":"number","x-omitempty":false},"min":{"type":"number","x-omitempty":false},"sum":{"type":"number","x-omitempty":false}},"type":"object"},"v1MetricMetadata":{"properties":{"name":{"type":"string"},"uid":{"type":"string"}},"type":"object"},"v1MetricPoint":{"description":"Metric Info","properties":{"avg":{"type":"number"},"count":{"format":"int64","type":"number"},"max":{"type":"number"},"min":{"type":"number"},"sum":{"type":"number"},"timestamp":{"format":"int64","type":"number"},"value":{"type":"number","x-omitempty":false}},"type":"object"},"v1MetricTimeSeries":{"properties":{"items":{"items":{"$ref":"#/definitions/v1Metrics"},"type":"array","uniqueItems":true}},"required":["items"],"type":"object"},"v1MetricTimeSeriesList":{"properties":{"items":{"items":{"$ref":"#/definitions/v1MetricsList"},"type":"array","uniqueItems":true}},"required":["items"],"type":"object"},"v1Metrics":{"properties":{"aggregation":{"$ref":"#/definitions/v1MetricAggregation"},"kind":{"type":"string"},"points":{"items":{"$ref":"#/definitions/v1MetricPoint"},"type":"array","uniqueItems":true},"unit":{"type":"string"}},"type":"object"},"v1MetricsList":{"properties":{"metadata":{"$ref":"#/definitions/v1MetricMetadata"},"metrics":{"items":{"$ref":"#/definitions/v1Metrics"},"type":"array","uniqueItems":true}},"type":"object"},"v1MfaAuthenticationExtensions":{"additionalProperties":{"type":"object"},"type":"object"},"v1MfaAuthenticatorSelection":{"properties":{"authenticatorAttachment":{"type":"string"},"requireResidentKey":{"type":"boolean"},"residentKey":{"type":"string"},"userVerification":{"type":"string"}},"type":"object"},"v1MfaConveyancePreference":{"enum":["none","indirect","direct","enterprise"],"type":"string"},"v1MfaCredentialCreationRequest":{"properties":{"_type":{"type":"string"},"authenticatorAttachment":{"type":"string"},"clientExtensionResults":{"additionalProperties":{"type":"object"},"type":"object"},"deviceName":{"type":"string"},"id":{"type":"string"},"rawId":{"$ref":"#/definitions/URLEncodedBase64"},"response":{"properties":{"attestationObject":{"$ref":"#/definitions/URLEncodedBase64"},"clientDataJSON":{"$ref":"#/definitions/URLEncodedBase64"},"transports":{"items":{"type":"string"},"type":"array"}},"type":"object"},"transports":{"items":{"type":"string"},"type":"array"}},"type":"object"},"v1MfaCredentialDescriptor":{"properties":{"attestationType":{"type":"string"},"id":{"$ref":"#/definitions/urlEncodedBase64"},"transports":{"items":{"type":"string"},"type":"array"},"type":{"type":"string"}},"type":"object"},"v1MfaCredentialParameter":{"properties":{"alg":{"type":"integer"},"type":{"type":"string"}},"type":"object"},"v1MfaDeviceMeta":{"properties":{"creationTimestamp":{"$ref":"#/definitions/v1Time"},"deviceName":{"type":"string"}},"type":"object"},"v1MfaDeviceName":{"properties":{"deviceName":{"type":"string"}},"type":"object"},"v1MfaDevices":{"items":{"$ref":"#/definitions/v1MfaDeviceMeta"},"type":"array"},"v1MfaLoginStart":{"properties":{"publicKey":{"$ref":"#/definitions/v1MfaPublicKeyCredentialRequestOptions"}},"type":"object"},"v1MfaPublicKeyCredentialCreationOptions":{"properties":{"attestation":{"$ref":"#/definitions/v1MfaConveyancePreference"},"authenticatorSelection":{"$ref":"#/definitions/v1MfaAuthenticatorSelection"},"challenge":{"$ref":"#/definitions/URLEncodedBase64"},"excludeCredentials":{"items":{"$ref":"#/definitions/v1MfaCredentialDescriptor"},"type":"array"},"extensions":{"$ref":"#/definitions/v1MfaAuthenticationExtensions"},"pubKeyCredParams":{"items":{"$ref":"#/definitions/v1MfaCredentialParameter"},"type":"array"},"rp":{"$ref":"#/definitions/v1MfaRelyingPartyEntity"},"timeout":{"type":"integer"},"user":{"$ref":"#/definitions/v1MfaUserEntity"}},"type":"object"},"v1MfaPublicKeyCredentialRequestOptions":{"properties":{"allowCredentials":{"items":{"$ref":"#/definitions/v1MfaCredentialDescriptor"},"type":"array"},"challenge":{"$ref":"#/definitions/urlEncodedBase64"},"extensions":{"$ref":"#/definitions/v1MfaAuthenticationExtensions"},"rpId":{"type":"string"},"timeout":{"type":"integer"},"userVerification":{"type":"string"}},"type":"object"},"v1MfaRegistrationStart":{"properties":{"publicKey":{"$ref":"#/definitions/v1MfaPublicKeyCredentialCreationOptions"}},"type":"object"},"v1MfaRelyingPartyEntity":{"properties":{"id":{"type":"string"},"name":{"type":"string"}},"type":"object"},"v1MfaUserEntity":{"properties":{"displayName":{"type":"string"},"id":{"type":"object"},"name":{"type":"string"}},"type":"object"},"v1MgmtApp":{"description":"Spectro application management data","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1MgmtAppSpec"},"status":{"$ref":"#/definitions/v1MgmtAppStatus"}},"type":"object"},"v1MgmtAppContainersState":{"properties":{"running":{"properties":{"startedAt":{"$ref":"#/definitions/v1Time"}},"type":"object"},"terminated":{"properties":{"exitCode":{"type":"integer"},"finishedAt":{"$ref":"#/definitions/v1Time"},"reason":{"type":"string"},"signal":{"type":"integer"},"startedAt":{"$ref":"#/definitions/v1Time"}},"type":"object"},"waiting":{"properties":{"reason":{"type":"string"}},"type":"object"}},"type":"object"},"v1MgmtAppContainersStatus":{"properties":{"isHealthy":{"type":"boolean","x-omitempty":false},"message":{"type":"string"},"name":{"type":"string"},"numberOfRestarts":{"type":"integer"},"state":{"$ref":"#/definitions/v1MgmtAppContainersState"}},"type":"object"},"v1MgmtAppCronJobStatus":{"properties":{"isHealthy":{"type":"boolean","x-omitempty":false},"lastScheduleTime":{"$ref":"#/definitions/v1Time"},"lastSuccessfulRunTime":{"$ref":"#/definitions/v1Time"},"messages":{"items":{"type":"string"},"type":"array"},"name":{"type":"string"},"pods":{"additionalProperties":{"$ref":"#/definitions/v1MgmtAppPodsStatus"},"type":"object"}},"type":"object"},"v1MgmtAppEnvHealthStatus":{"properties":{"isHealthy":{"type":"boolean","x-omitempty":false},"messages":{"items":{"type":"string"},"type":"array"},"namespaces":{"additionalProperties":{"$ref":"#/definitions/v1MgmtAppNameSpaceStatus"},"type":"object"}},"type":"object"},"v1MgmtAppHealth":{"properties":{"isHealthy":{"type":"boolean"},"podHealth":{"items":{"$ref":"#/definitions/v1MgmtPodHealth"},"type":"array"}},"type":"object"},"v1MgmtAppNameSpaceStatus":{"properties":{"cronJobs":{"additionalProperties":{"$ref":"#/definitions/v1MgmtAppCronJobStatus"},"type":"object"},"deployments":{"additionalProperties":{"$ref":"#/definitions/v1MgmtAppObjectStatus"},"type":"object"},"isHealthy":{"type":"boolean","x-omitempty":false},"messages":{"items":{"type":"string"},"type":"array"},"statefulSets":{"additionalProperties":{"$ref":"#/definitions/v1MgmtAppObjectStatus"},"type":"object"}},"type":"object"},"v1MgmtAppObjectStatus":{"properties":{"availableReplicas":{"type":"integer"},"creationTime":{"$ref":"#/definitions/v1Time"},"desiredReplicaCount":{"type":"integer"},"isHealthy":{"type":"boolean","x-omitempty":false},"messages":{"items":{"type":"string"},"type":"array"},"name":{"type":"string"},"pods":{"additionalProperties":{"$ref":"#/definitions/v1MgmtAppPodsStatus"},"type":"object"}},"type":"object"},"v1MgmtAppPodsStatus":{"properties":{"containers":{"additionalProperties":{"$ref":"#/definitions/v1MgmtAppContainersStatus"},"type":"object"},"isHealthy":{"type":"boolean","x-omitempty":false},"messages":{"items":{"type":"string"},"type":"array"},"name":{"type":"string"},"phase":{"type":"string"},"pvcs":{"additionalProperties":{"$ref":"#/definitions/v1MgmtAppPvcStatus"},"type":"object"},"reason":{"type":"string"},"startTime":{"$ref":"#/definitions/v1Time"}},"type":"object"},"v1MgmtAppPvcStatus":{"properties":{"claimName":{"type":"string"},"creationTime":{"$ref":"#/definitions/v1Time"},"isHealthy":{"type":"boolean","x-omitempty":false},"message":{"type":"string"},"name":{"type":"string"},"state":{"type":"string"}},"type":"object"},"v1MgmtAppSpec":{"description":"spectro application management specifications","properties":{"appEnv":{"type":"string"},"cloudType":{"type":"string"},"installedVersion":{"type":"string"},"latestVersion":{"type":"string"},"spectroClusterUid":{"type":"string"}}},"v1MgmtAppStatus":{"description":"spectro application management status","properties":{"appVersions":{"items":{"$ref":"#/definitions/v1AppVersion"},"type":"array","uniqueItems":true},"isFailed":{"type":"boolean","x-omitempty":false},"message":{"type":"string"},"messageLogs":{"items":{"type":"string"},"type":"array"},"state":{"type":"string"},"upgradeHistory":{"items":{"$ref":"#/definitions/v1SpectroMgmtUpgrade"},"type":"array","uniqueItems":true}}},"v1MgmtAppUpgrade":{"properties":{"spec":{"properties":{"currentVersion":{"type":"string","x-omitempty":false},"previousVersion":{"type":"string","x-omitempty":false},"toBeUpgradedVersion":{"type":"string","x-omitempty":false}},"type":"object"},"status":{"properties":{"action":{"type":"string","x-omitempty":false},"states":{"properties":{"imageUpdate":{"$ref":"#/definitions/v1MgmtUpgradeState","x-omitempty":false,"x-order":1},"spectroClusterUpdate":{"$ref":"#/definitions/v1MgmtUpgradeState","x-omitempty":false,"x-order":0},"spectroServiceResume":{"$ref":"#/definitions/v1MgmtUpgradeState","x-omitempty":false,"x-order":4},"spectroVersionConfigMapUpdate":{"$ref":"#/definitions/v1MgmtUpgradeState","x-omitempty":false,"x-order":3},"spectroVersionServiceSuspend":{"$ref":"#/definitions/v1MgmtUpgradeState","x-omitempty":false,"x-order":2}},"type":"object"},"upgradeStatus":{"type":"string","x-omitempty":false},"versionHistory":{"items":{"type":"string"},"type":"array","x-omitempty":false}},"type":"object"}},"type":"object"},"v1MgmtAppVersion":{"description":"spectro application management version","properties":{"version":{"properties":{"appEnv":{"type":"string"},"cloudType":{"type":"string"},"installedVersion":{"type":"string"},"latestVersion":{"type":"string"}},"type":"object"}}},"v1MgmtBackupSpec":{"description":"backup spec","properties":{"backupUid":{"type":"string"},"mode":{"type":"string"},"modeUid":{"type":"string"},"proxy":{"description":"proxy information if applicable","type":"string"},"scheduleTime":{"$ref":"#/definitions/v1Time"},"scheduleType":{"default":"Automated","enum":["OnDemand","Automated"],"type":"string"}},"type":"object"},"v1MgmtDbCollectionIndexInfo":{"description":"Database info","properties":{"key":{"additionalProperties":{"type":"integer"}},"name":{"type":"string"},"size":{"type":"integer"},"version":{"type":"string"}},"type":"object"},"v1MgmtDbCollectionInfo":{"description":"Database info","properties":{"count":{"type":"integer"},"indexes":{"items":{"$ref":"#/definitions/v1MgmtDbCollectionIndexInfo"},"type":"array"},"isCapped":{"type":"boolean"},"isReadOnly":{"type":"boolean"},"name":{"type":"string"},"size":{"type":"integer"},"storageSize":{"type":"integer"},"totalIndexSize":{"type":"integer"}},"type":"object"},"v1MgmtDbHealth":{"properties":{"databases":{"items":{"$ref":"#/definitions/v1MgmtDbInfo"},"type":"array"},"totalIndexSize":{"type":"integer"},"totalSize":{"type":"integer"}},"type":"object"},"v1MgmtDbInfo":{"description":"Database info","properties":{"collections":{"items":{"$ref":"#/definitions/v1MgmtDbCollectionInfo"},"type":"array"},"isEmpty":{"type":"boolean"},"name":{"type":"string"},"size":{"type":"integer"},"totalIndexSize":{"type":"integer"}},"type":"object"},"v1MgmtDeleteBackupFtpEntity":{"description":"delete backups based on retention period","properties":{"fileTransferConfig":{"$ref":"#/definitions/v1MgmtFileTransferFtpEntity"},"retentionPeriod":{"type":"integer"}},"type":"object"},"v1MgmtDeleteBackupS3Entity":{"description":"delete backups based on retention period","properties":{"fileTransferConfig":{"$ref":"#/definitions/v1MgmtFileTransferS3Entity"},"retentionPeriod":{"type":"integer"}},"type":"object"},"v1MgmtErrLog":{"properties":{"ref":{"type":"string"},"spec":{"$ref":"#/definitions/v1MgmtErrSpec"}},"type":"object"},"v1MgmtErrLogs":{"items":{"$ref":"#/definitions/v1MgmtErrLog"},"type":"array","uniqueItems":true},"v1MgmtErrSpec":{"properties":{"causes":{"items":{"type":"string"},"type":"array"},"data":{"type":"string"},"debug":{"additionalProperties":{"type":"object"},"type":"object"},"errCode":{"type":"string"},"errMsg":{"type":"string"},"stackTraces":{"items":{"type":"string"},"type":"array"},"userCtx":{"properties":{"projectUid":{"type":"string"},"serviceResUid":{"type":"string"},"tenantUid":{"type":"string"},"userUid":{"type":"string"}},"type":"object"}},"type":"object"},"v1MgmtFileTransferFtpEntity":{"description":"file transfer details","properties":{"backupSpec":{"$ref":"#/definitions/v1MgmtBackupSpec"},"ftp":{"$ref":"#/definitions/v1MgmtFtpConfig"}},"type":"object"},"v1MgmtFileTransferS3Entity":{"description":"file transfer details","properties":{"backupSpec":{"$ref":"#/definitions/v1MgmtBackupSpec"},"s3":{"$ref":"#/definitions/v1MgmtS3Config"}},"type":"object"},"v1MgmtFtpConfig":{"description":"ftp config","properties":{"directory":{"type":"string"},"password":{"type":"string"},"server":{"type":"string"},"username":{"type":"string"}},"type":"object"},"v1MgmtHash":{"properties":{"hash":{"type":"string"}},"required":["hash"],"type":"object"},"v1MgmtListBackupFtpEntity":{"description":"list ftp backups","properties":{"fileTransferConfig":{"$ref":"#/definitions/v1MgmtFileTransferFtpEntity"}},"type":"object"},"v1MgmtListBackupS3Entity":{"description":"list s3 backups","properties":{"fileTransferConfig":{"$ref":"#/definitions/v1MgmtFileTransferS3Entity"}},"type":"object"},"v1MgmtMigrateEntity":{"description":"SystemAdmin","properties":{"db":{"type":"string"},"host":{"type":"string"},"isServiceRecord":{"type":"boolean"},"password":{"type":"string"},"port":{"type":"integer"},"uri":{"type":"string"},"username":{"type":"string"}},"type":"object"},"v1MgmtMigrationStatuses":{"description":"SystemAdmin","properties":{"finishTime":{"$ref":"#/definitions/v1Time"},"folderName":{"type":"string"},"isCompleted":{"type":"boolean"},"message":{"items":{"type":"string"},"type":"array"},"startTime":{"$ref":"#/definitions/v1Time"},"state":{"type":"string","x-omitempty":false},"status":{"items":{"type":"string"},"type":"array","uniqueItems":true}},"type":"object"},"v1MgmtMsgBrokerReinitStatus":{"properties":{"failures":{"items":{"$ref":"#/definitions/v1MgmtMsgBrokerReinitStatusEntity"},"type":"array"},"success":{"items":{"$ref":"#/definitions/v1MgmtMsgBrokerReinitStatusEntity"},"type":"array"}},"type":"object"},"v1MgmtMsgBrokerReinitStatusEntity":{"properties":{"account":{"type":"string"},"isSuccess":{"type":"boolean"},"message":{"type":"string"}},"type":"object"},"v1MgmtPodHealth":{"description":"SystemAdmin","properties":{"isHealthy":{"type":"boolean"},"name":{"type":"string"}},"type":"object"},"v1MgmtS3Config":{"description":"s3 config","properties":{"accessKey":{"type":"string"},"bucket":{"type":"string"},"directory":{"type":"string"},"region":{"type":"string"},"secretKey":{"type":"string"}},"type":"object"},"v1MgmtUpgradeState":{"properties":{"description":{"type":"string","x-omitempty":false},"details":{"items":{"type":"string"},"type":"array","x-omitempty":false},"endTimestamp":{"$ref":"#/definitions/v1Time","x-omitempty":false},"isCompleted":{"type":"boolean","x-omitempty":false},"message":{"type":"string","x-omitempty":false},"startTimestamp":{"$ref":"#/definitions/v1Time","x-omitempty":false}},"type":"object"},"v1MonthlyUsage":{"description":"Monthly usage object","properties":{"month":{"$ref":"#/definitions/v1Time","description":"Month of usage"},"tenantUsages":{"description":"List of tenants usage","items":{"$ref":"#/definitions/v1TenantUsage"},"type":"array","uniqueItems":true},"usedAlloyCredits":{"description":"Credits used by imported clusters","format":"float64","type":"number"},"usedPureCredits":{"description":"Credits used by managed clusters","format":"float64","type":"number"}}},"v1MsgBrokerConnection":{"properties":{"account":{"type":"string"},"accountUid":{"type":"string"},"cid":{"type":"integer"},"cluster":{"properties":{"addr":{"type":"string"},"authTimeout":{"type":"integer"},"clusterPort":{"type":"integer"},"urls":{"items":{"type":"string"},"type":"array"}},"type":"object"},"cpu":{"type":"number"},"duplicationCount":{"type":"integer"},"iP":{"type":"string"},"idle":{"type":"string"},"inBytes":{"type":"integer"},"inMsgs":{"type":"integer"},"lang":{"type":"string"},"lastActivity":{"$ref":"#/definitions/v1Time"},"name":{"type":"string"},"outBytes":{"type":"integer"},"outMsgs":{"type":"integer"},"pendingBytes":{"type":"integer"},"port":{"type":"integer"},"rtt":{"type":"string"},"start":{"$ref":"#/definitions/v1Time"},"subscriptionList":{"items":{"type":"string"},"type":"array"},"subscriptions":{"type":"integer"},"tLSCipherSuite":{"type":"string"},"tLSVersion":{"type":"string"},"uptime":{"type":"string"},"version":{"type":"string"}},"type":"object"},"v1MsgBrokerConnectionList":{"items":{"$ref":"#/definitions/v1MsgBrokerConnection"},"type":"array"},"v1MsgBrokerConnections":{"properties":{"connections":{"items":{"$ref":"#/definitions/v1MsgBrokerConnection"},"type":"array","uniqueItems":true},"limit":{"type":"integer"},"now":{"$ref":"#/definitions/v1Time"},"numOfConnections":{"type":"integer"},"offset":{"type":"integer"},"serverId":{"type":"string"},"totalConnections":{"type":"integer"}},"type":"object"},"v1MsgBrokerHealth":{"properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta","type":"object"},"spec":{"$ref":"#/definitions/v1MsgBrokerNodesHealthSpec","type":"object"},"status":{"$ref":"#/definitions/v1MsgBrokerNodesHealthStatus","type":"object"}},"type":"object"},"v1MsgBrokerNodeHealth":{"properties":{"allyPublishersByTenant":{"additionalProperties":{"$ref":"#/definitions/v1MsgBrokerConnectionList"},"type":"object"},"duplicateSubscribersCount":{"additionalProperties":{"type":"integer"},"type":"object"},"hubbleSubscribersByService":{"additionalProperties":{"$ref":"#/definitions/v1MsgBrokerConnectionList"},"type":"object"},"hubbleSubscribersByTenant":{"additionalProperties":{"$ref":"#/definitions/v1MsgBrokerConnectionList"},"type":"object"},"hubbleSubscribersByType":{"additionalProperties":{"$ref":"#/definitions/v1MsgBrokerConnectionList"},"type":"object"},"nodeId":{"type":"string"},"subscriberWithAbnormalRTT":{"$ref":"#/definitions/v1MsgBrokerConnectionList"},"subscribersWithAbnormalSubscriptions":{"$ref":"#/definitions/v1MsgBrokerConnectionList"},"uniqueSubscribers":{"type":"integer"},"unrecognizedClients":{"$ref":"#/definitions/v1MsgBrokerConnectionList"}},"type":"object"},"v1MsgBrokerNodeHealthSpec":{"properties":{"connections":{"$ref":"#/definitions/v1MsgBrokerConnections","type":"object"},"nodeId":{"type":"string"},"routes":{"$ref":"#/definitions/v1MsgBrokerRoutes","type":"object"},"variables":{"$ref":"#/definitions/v1MsgBrokerVariables","type":"object"}},"type":"object"},"v1MsgBrokerNodesHealthSpec":{"properties":{"nodes":{"items":{"$ref":"#/definitions/v1MsgBrokerNodeHealthSpec"},"type":"array"}},"type":"object"},"v1MsgBrokerNodesHealthStatus":{"properties":{"nodes":{"items":{"$ref":"#/definitions/v1MsgBrokerNodeHealth"},"type":"array"}},"type":"object"},"v1MsgBrokerRoutes":{"properties":{"numRoutes":{"type":"integer"},"routes":{"items":{"$ref":"#/definitions/v1NatsRoute"},"type":"array"},"serverId":{"type":"string"}},"type":"object"},"v1MsgBrokerVariables":{"properties":{"authRequired":{"type":"boolean"},"authTimeout":{"type":"integer"},"cluster":{"properties":{"addr":{"type":"string"},"authTimeout":{"type":"integer"},"clusterPort":{"type":"integer"},"urls":{"items":{"type":"string"},"type":"array"}},"type":"object"},"configLoadTime":{"$ref":"#/definitions/v1Time"},"connectUrls":{"items":{"type":"string"},"type":"array"},"connections":{"type":"integer"},"cores":{"type":"integer"},"cpu":{"type":"number"},"gitCommit":{"type":"string"},"go":{"type":"string"},"gomaxprocs":{"type":"integer"},"host":{"type":"string"},"httpHost":{"type":"string"},"httpPort":{"type":"integer"},"inBytes":{"type":"integer"},"inMsgs":{"type":"integer"},"leafNodes":{"type":"integer"},"maxConnections":{"type":"integer"},"maxControlLine":{"type":"integer"},"maxPayload":{"type":"integer"},"maxPending":{"type":"integer"},"mem":{"type":"integer"},"now":{"$ref":"#/definitions/v1Time"},"outBytes":{"type":"integer"},"outMsgs":{"type":"integer"},"pingInterval":{"type":"integer"},"pingMax":{"type":"integer"},"port":{"type":"integer"},"proto":{"type":"integer"},"remotes":{"type":"integer"},"routes":{"type":"integer"},"serverId":{"type":"string"},"serverName":{"type":"string"},"slowConsumers":{"type":"integer"},"start":{"$ref":"#/definitions/v1Time"},"subscriptions":{"type":"integer"},"tlsRequired":{"type":"boolean"},"tlsTimeout":{"type":"integer"},"totalConnections":{"type":"integer"},"uptime":{"type":"string"},"version":{"type":"string"},"writeDeadline":{"type":"integer"}},"type":"object"},"v1MsgSubscriber":{"description":"Message subscriber request","properties":{"accountId":{"type":"string"},"publisher":{"type":"string"},"service":{"type":"string"},"userId":{"type":"string"}},"type":"object"},"v1Nameserver":{"description":"Nameserver define search domains and nameserver addresses","properties":{"addresses":{"items":{"type":"string"},"type":"array"},"search":{"items":{"type":"string"},"type":"array"}},"type":"object"},"v1NatsConfiguration":{"description":"Describes the response that contains the nats configuration to establish credentials","properties":{"connectionString":{"description":"Describes the preCalculated connection string, can be used directly to make connection","type":"string"},"enableTls":{"description":"Describes the NATs application option to use a TLS based custom dialer. Its enabled when external Certificate is used over the existing one.","type":"boolean"},"insecureTls":{"description":"Describes the NATs tls option to skip verifying the client certificate","type":"boolean"},"password":{"description":"Describes the NATs user's password","type":"string"},"scheme":{"description":"Describes the NATs protocol for the connection. Eg- 'tls', 'nats'","type":"string"},"tlsCertificate":{"description":"Describes the NATs tls certificate used for making a secure connection","type":"string"},"tlsKey":{"description":"Describes the NATs tls certificate key used for making a secure connection","type":"string"},"urls":{"description":"Describes the URLs of the nats nodes used in nats HA setup where the client will connect","type":"string"},"userName":{"description":"Describes the NATs user name","type":"string"}},"type":"object"},"v1NatsCredentialRequest":{"description":"Describes the request for resource's nats credential","properties":{"clusterUid":{"description":"Deprecated. please use resourceUid","type":"string"},"isSystem":{"description":"Describes if its a system request","type":"boolean"},"resourceUid":{"description":"Describes the resource for which credentials has to be fetched","type":"string"},"serviceName":{"description":"Describes the service for which credentials has to be fetched. Possible values [ally, jet]","enum":["ally","jet"],"type":"string"},"tenantUid":{"description":"Describes the tenant of the resource","type":"string"}},"type":"object"},"v1NatsCredentials":{"description":"Describes the response that contains the nats credentials","properties":{"allowedPublisher":{"description":"Describes the subject on which client is allowed to publish","type":"string"},"allowedSubcriber":{"description":"Describes the subject on which client is allowed to subscribe","type":"string"},"jwt":{"description":"Describes the jwt token which will be used as an credential for the nats","type":"string"},"seed":{"description":"Describes the seed for the jwt","type":"string"}},"type":"object"},"v1NatsRoute":{"properties":{"didSolicit":{"type":"boolean"},"inBytes":{"type":"integer"},"inMsgs":{"type":"integer"},"isConfigured":{"type":"boolean"},"outBytes":{"type":"integer"},"outMsgs":{"type":"integer"},"pendingSize":{"type":"integer"},"port":{"type":"integer"},"remoteId":{"type":"string"},"rid":{"type":"integer"},"rtt":{"type":"string"},"subscriptions":{"type":"integer"}},"type":"object"},"v1NestedCloudConfigStatus":{"description":"Defines the status of virtual cloud config","properties":{"conditions":{"items":{"$ref":"#/definitions/v1ClusterCondition"},"type":"array","x-kubernetes-patch-merge-key":"type","x-kubernetes-patch-strategy":"merge"},"isAddonLayer":{"description":"addon layers present in spc","type":"boolean"}},"type":"object"},"v1Nic":{"properties":{"dns":{"items":{"type":"string"},"type":"array"},"gateway":{"type":"string"},"ip":{"type":"string"},"isDefault":{"type":"boolean"},"macAddr":{"type":"string"},"nicName":{"type":"string"},"subnet":{"type":"string"}},"type":"object"},"v1NodesAutoRemediationSettings":{"properties":{"disableNodesAutoRemediation":{"type":"boolean","x-omitempty":false},"isEnabled":{"type":"boolean","x-omitempty":false}}},"v1NonFipsConfig":{"description":"Non-FIPS configuration","properties":{"mode":{"default":"nonFipsDisabled","description":"enable or disable the non FIPS complaint","enum":["nonFipsEnabled","nonFipsDisabled"],"type":"string"}}},"v1Notification":{"description":"Describes event notification and action definition","properties":{"action":{"$ref":"#/definitions/v1NotificationAction","description":"Describes actions for the notification","type":"object"},"metadata":{"$ref":"#/definitions/v1ObjectMeta","type":"object"},"relatedObject":{"$ref":"#/definitions/v1RelatedObject","type":"object"},"source":{"$ref":"#/definitions/v1NotificationSource","description":"Describes origin info for the notification","type":"object"},"type":{"description":"Describes type of notification. Possible values [NotificationPackUpdate, NotificationPackRegistryUpdate, NotificationNone]","enum":["NotificationPackUpdate","NotificationPackRegistryUpdate","NotificationNone"],"type":"string"}},"type":"object"},"v1NotificationAction":{"description":"Describes actions for the notification","properties":{"ack":{"description":"Describes the acknowledgement status for the notification","type":"boolean","x-omitempty":false},"actionMessage":{"description":"Describes information related to notification action","type":"string"},"actionType":{"description":"Describes action type for the notification. Possible Values [NotifyActionPacksUpdate, NotifyActionClusterProfileUpdate, NotifyActionPackRegistryUpdate, NotifyActionClusterUpdate, NotifyActionNone]","enum":["NotifyActionPacksUpdate","NotifyActionClusterProfileUpdate","NotifyActionPackRegistryUpdate","NotifyActionClusterUpdate","NotifyActionNone"],"type":"string"},"events":{"additionalProperties":{"additionalProperties":{"type":"string"},"type":"object"},"description":"Describes the events happened for the notifications","type":"object"},"isDone":{"description":"Describes the \"Done\" status for the notification","type":"boolean","x-omitempty":false},"isInfo":{"description":"Describes the notification as a information","type":"boolean","x-omitempty":false},"link":{"type":"string"}},"type":"object"},"v1NotificationEvent":{"description":"Describes notification event details","properties":{"component":{"description":"Describes component of notification event","type":"string"},"digest":{"description":"Describes notification event digest","type":"string"},"message":{"description":"Describes a information for the notification event","type":"string"},"meta":{"additionalProperties":{"type":"string"},"description":"Describes a event messages with meta digest as the key","type":"object"},"type":{"description":"Describes notification event type","enum":["NotificationPackSync","NotificationClusterProfileSync"],"type":"string"}},"type":"object"},"v1NotificationSource":{"description":"Describes origin info for the notification","properties":{"component":{"description":"Describes component where notification originated","type":"string"}},"type":"object"},"v1Notifications":{"description":"Describe a list of generated notifications","properties":{"items":{"description":"Describe a list of generated notifications","items":{"$ref":"#/definitions/v1Notification"},"type":"array","uniqueItems":true},"listmeta":{"$ref":"#/definitions/v1ListMetaData","description":"Describes the meta information about the notification lists"}},"required":["items"],"type":"object"},"v1OS":{"properties":{"family":{"type":"string"},"version":{"type":"string"}},"type":"object"},"v1ObjectEntity":{"description":"Object identity meta","properties":{"name":{"type":"string"},"uid":{"type":"string"}},"type":"object"},"v1ObjectMeta":{"description":"ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.","properties":{"annotations":{"additionalProperties":{"type":"string"},"description":"Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.","type":"object"},"creationTimestamp":{"$ref":"#/definitions/v1Time","description":"CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value.\nPopulated by the system. Read-only."},"deletionTimestamp":{"$ref":"#/definitions/v1Time","description":"This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client.\nPopulated by the system. Read-only."},"labels":{"additionalProperties":{"type":"string"},"description":"Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag","type":"object"},"lastModifiedTimestamp":{"$ref":"#/definitions/v1Time","description":"LastModifiedTimestamp is a timestamp representing the server time when this object was last modified. It is not guaranteed to be set in happens-before order across separate operations. \nClients may not set this value. Populated by the system. Read-only."},"name":{"description":"Name of the resource.","type":"string"},"uid":{"description":"UID is the unique identifier generated for the resource. This is not an input field for any request.","type":"string"}},"type":"object"},"v1ObjectMetaInputEntity":{"description":"ObjectMeta input entity for object creation","properties":{"annotations":{"additionalProperties":{"type":"string"},"description":"Annotations are system generated key value metadata for the resource. As an input certain annotations like description can be set.","type":"object"},"labels":{"additionalProperties":{"type":"string"},"description":"Labels are key value data to organize and categorize resources. Providing spectro__tag as value for a label is considered as a kubernetes compliant tag","type":"object"},"name":{"description":"Name of the resource.","type":"string"}},"type":"object"},"v1ObjectMetaInputEntitySchema":{"description":"Resource metadata","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMetaInputEntity"}},"required":["metadata"],"type":"object"},"v1ObjectMetaUpdateEntity":{"description":"ObjectMeta update entity with uid as input","properties":{"annotations":{"additionalProperties":{"type":"string"},"type":"object"},"labels":{"additionalProperties":{"type":"string"},"type":"object"},"name":{"type":"string"},"uid":{"type":"string"}},"type":"object"},"v1ObjectReference":{"description":"ObjectReference contains enough information to let you inspect or modify the referred object.","properties":{"kind":{"description":"Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds","type":"string"},"name":{"description":"Name of the referent.","type":"string"},"uid":{"description":"UID of the referent.","type":"string"}},"type":"object"},"v1ObjectResReference":{"description":"Object resource reference","properties":{"kind":{"type":"string"},"name":{"type":"string"},"projectUid":{"type":"string"},"tenantUid":{"type":"string"},"uid":{"type":"string"}},"type":"object"},"v1ObjectScopeEntity":{"description":"Object scope identity meta","properties":{"name":{"type":"string"},"scope":{"type":"string"},"uid":{"type":"string"}},"type":"object"},"v1ObjectTagsEntity":{"description":"Object identity meta with tags","properties":{"labels":{"additionalProperties":{"type":"string"},"type":"object"},"name":{"type":"string"},"uid":{"type":"string"}},"type":"object"},"v1OciImageRegistry":{"description":"Oci Image Registry","properties":{"baseContentPath":{"description":"baseContentPath is the root path for the registry content","type":"string"},"caCert":{"type":"string"},"endpoint":{"type":"string"},"insecureSkipVerify":{"type":"boolean"},"mirrorRegistries":{"description":"mirrorRegistries contains the array of image sources like gcr.io, ghcr.io, docker.io","type":"string"},"name":{"type":"string"},"password":{"type":"string"},"username":{"type":"string"}},"type":"object"},"v1OciRegistries":{"properties":{"items":{"items":{"$ref":"#/definitions/v1OciRegistry"},"type":"array","uniqueItems":true}},"required":["items"],"type":"object"},"v1OciRegistry":{"description":"Oci registry information","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1OciRegistrySpec"},"status":{"$ref":"#/definitions/v1OciRegistryStatusSummary"}},"type":"object"},"v1OciRegistryAuth":{"description":"Auth credentials of the oci registry","properties":{"password":{"description":"Password in the credentials","format":"password","type":"string"},"username":{"description":"Username in the credentials","type":"string"}},"type":"object"},"v1OciRegistryEntity":{"description":"Oci registry credentials","properties":{"auth":{"$ref":"#/definitions/v1RegistryAuth"},"defaultRegion":{"type":"string"},"endpoint":{"type":"string"},"providerType":{"type":"string"},"scope":{"type":"string"},"type":{"type":"string"}},"type":"object"},"v1OciRegistrySpec":{"description":"Image registry spec","properties":{"defaultRegion":{"type":"string"},"endpoint":{"type":"string"},"isPrivate":{"type":"boolean"},"providerType":{"type":"string"},"registryType":{"type":"string"},"scope":{"type":"string"}},"type":"object"},"v1OciRegistryStatusSummary":{"description":"OCI registry status summary","properties":{"sync":{"$ref":"#/definitions/v1RegistrySyncStatus"}}},"v1OidcAuth":{"properties":{"oidcToken":{"type":"string"},"org":{"type":"string"}},"type":"object"},"v1OidcAuthLogin":{"properties":{"emailId":{"type":"string"},"password":{"format":"password","type":"string"}},"type":"object"},"v1OidcAuthorizationTokenResponse":{"properties":{"access_token":{"type":"string"},"error":{"type":"string"},"error_description":{"type":"string"},"expires_in":{"type":"integer"},"id_token":{"type":"string"},"raw":{"type":"object"},"refresh_token":{"type":"string"},"scope":{"type":"string"}},"type":"object"},"v1OidcLogins":{"description":"loginsDetails","properties":{"systemLogins":{"items":{"$ref":"#/definitions/v1SsoLogin"},"type":"array","uniqueItems":true},"tenantLogin":{"properties":{"authType":{"type":"string"},"redirectUrl":{"type":"string"}},"type":"object"}},"type":"object"},"v1OidcRefreshToken":{"description":"oidc request with token","properties":{"token":{"type":"string"}},"type":"object"},"v1OpenIDProviderMetadataResponse":{"properties":{"authorization_endpoint":{"description":"REQUIRED. URL of the OP's OAuth 2.0 Authorization Endpoint","type":"string"},"claims_supported":{"description":"RECOMMENDED. JSON array containing a list of the Claim Names of the Claims that the OpenID Provider MAY be able to supply values for","type":"string"},"id_token_signing_alg_values_supported":{"description":"REQUIRED. JSON array containing a list of the JWS signing algorithms (alg values) supported by the OP for the ID Token to encode the Claims in a JWT","type":"object"},"issuer":{"description":"REQUIRED. URL using the https scheme with no query or fragment component that the OP asserts as its Issuer Identifier","type":"string"},"jwks_uri":{"description":"REQUIRED. URL of the OP's JSON Web Key Set [JWK] document.","type":"string"},"registration_endpoint":{"description":"RECOMMENDED. URL of the OP's Dynamic Client Registration Endpoint","type":"string"},"response_types_supported":{"description":"REQUIRED. JSON array containing a list of the OAuth 2.0 response_type values that this OP supports","type":"string"},"scopes_supported":{"description":"RECOMMENDED. JSON array containing a list of the OAuth 2.0 [RFC6749] scope values that this server supports","type":"string"},"subject_types_supported":{"description":"REQUIRED. JSON array containing a list of the Subject Identifier types that this OP supports","type":"string"},"token_endpoint":{"description":"URL of the OP's OAuth 2.0 Token Endpoint","type":"string"},"userinfo_endpoint":{"description":"RECOMMENDED. URL of the OP's UserInfo Endpoint","type":"string"}},"type":"object"},"v1OpenStackAccount":{"description":"OpenStack account information","properties":{"apiVersion":{"description":"Deprecated. Not used for the resource info.","type":"string"},"kind":{"description":"Deprecated. Cloud type of the account.","type":"string"},"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1OpenStackCloudAccount"},"status":{"$ref":"#/definitions/v1CloudAccountStatus"}},"type":"object"},"v1OpenStackAccounts":{"properties":{"items":{"items":{"$ref":"#/definitions/v1OpenStackAccount"},"type":"array","uniqueItems":true},"listmeta":{"$ref":"#/definitions/v1ListMetaData"}},"required":["items"],"type":"object"},"v1OpenStackAz":{"description":"OpenStack az entity","properties":{"name":{"description":"Name of OpenStack az","type":"string"}},"type":"object"},"v1OpenStackAzs":{"description":"List of OpenStack azs","properties":{"azs":{"items":{"$ref":"#/definitions/v1OpenStackAz"},"type":"array","uniqueItems":true}},"required":["azs"],"type":"object"},"v1OpenStackCloudAccount":{"description":"auth-url,project,username,password,domain,cacert etc","properties":{"caCert":{"description":"Ca cert for OpenStack","type":"string"},"defaultDomain":{"description":"Default Domain name","type":"string"},"defaultProject":{"description":"Default Project name","type":"string"},"identityEndpoint":{"description":"Identity endpoint for OpenStack","type":"string"},"insecure":{"description":"For self signed certs in IdentityEndpoint","type":"boolean"},"parentRegion":{"description":"Parent region of OpenStack","type":"string"},"password":{"description":"Password of OpenStack account","type":"string"},"username":{"description":"Username of OpenStack account","type":"string"}},"required":["identityEndpoint","username","password"],"type":"object"},"v1OpenStackCloudClusterConfigEntity":{"description":"Openstack cloud cluster config entity","properties":{"clusterConfig":{"$ref":"#/definitions/v1OpenStackClusterConfig"}},"type":"object"},"v1OpenStackCloudConfig":{"description":"OpenStackCloudConfig is the Schema for the OpenStackcloudconfigs API","properties":{"apiVersion":{"description":"Deprecated. Not used for the resource info. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources","type":"string"},"kind":{"description":"Cloud type of the cloud config","type":"string"},"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1OpenStackCloudConfigSpec"},"status":{"$ref":"#/definitions/v1OpenStackCloudConfigStatus"}},"type":"object"},"v1OpenStackCloudConfigSpec":{"description":"OpenStackCloudConfigSpec defines the cloud configuration input by user This will translate to clusterspec/machinespec for cluster-api","properties":{"cloudAccountRef":{"$ref":"#/definitions/v1ObjectReference","description":"cloudAccountRef should point to the secret which contains OpenStackCloudAccount"},"clusterConfig":{"$ref":"#/definitions/v1OpenStackClusterConfig"},"machinePoolConfig":{"items":{"$ref":"#/definitions/v1OpenStackMachinePoolConfig"},"type":"array"}},"type":"object"},"v1OpenStackCloudConfigStatus":{"description":"OpenStackCloudConfigStatus defines the observed state of OpenStackCloudConfig The cloudimage info built by Mold is stored here image should be mapped to a specific machinepool","properties":{"conditions":{"items":{"$ref":"#/definitions/v1ClusterCondition"},"type":"array"},"nodeImage":{"type":"string"},"sourceImageId":{"description":"sourceImageId, it can be from packref's annotations or from pack.json","type":"string"},"useCapiImage":{"type":"boolean"}},"type":"object"},"v1OpenStackClusterConfig":{"description":"Cluster level configuration for OpenStack cloud and applicable for all the machine pools","properties":{"bastionDisabled":{"description":"Create bastion node option we have earlier supported creation of bastion by default","type":"boolean"},"dnsNameservers":{"description":"DNSNameservers is the list of nameservers for OpenStack Subnet being created. Set this value when you need create a new network/subnet while the access through DNS is required.","items":{"type":"string"},"type":"array"},"domain":{"$ref":"#/definitions/v1OpenStackResource"},"network":{"$ref":"#/definitions/v1OpenStackResource","description":"For static placement"},"nodeCidr":{"description":"For dynamic provision NodeCIDR is the OpenStack Subnet to be created. Cluster actuator will create a network, a subnet with NodeCIDR, and a router connected to this subnet. If you leave this empty, no network will be created.","type":"string"},"project":{"$ref":"#/definitions/v1OpenStackResource"},"region":{"type":"string"},"sshKeyName":{"type":"string"},"subnet":{"$ref":"#/definitions/v1OpenStackResource"}},"type":"object"},"v1OpenStackDomain":{"description":"OpenStack domain. A Domain is a collection of projects, users, and roles","properties":{"description":{"description":"Description is the description of the Domain","type":"string"},"id":{"description":"ID is the unique ID of the domain","type":"string"},"name":{"description":"Name is the name of the domain","type":"string"}},"type":"object"},"v1OpenStackFlavor":{"description":"OpenStack flavor entity. Flavor represent (virtual) hardware configurations for server resources","properties":{"disk":{"description":"Disk is the amount of root disk, measured in GB","type":"integer"},"ephemeral":{"description":"Ephemeral is the amount of ephemeral disk space, measured in GB","type":"integer"},"id":{"description":"ID is the flavor's unique ID","type":"string"},"memory":{"description":"Amount of memory, measured in MB","type":"integer"},"name":{"description":"Name is the name of the flavor","type":"string"},"vcpus":{"description":"VCPUs indicates how many (virtual) CPUs are available for this flavor","type":"integer"}},"type":"object"},"v1OpenStackFlavors":{"description":"List of OpenStack flavours","properties":{"items":{"items":{"$ref":"#/definitions/v1OpenStackFlavor"},"type":"array","uniqueItems":true}},"required":["items"],"type":"object"},"v1OpenStackKeypair":{"description":"OpenStack keypair. KeyPair is an SSH key known to the OpenStack Cloud that is available to be injected into servers","properties":{"name":{"description":"Name is used to refer to this keypair from other services within this region","type":"string"},"publicKey":{"description":"PublicKey is the public key from this pair, in OpenSSH format","type":"string"}},"type":"object"},"v1OpenStackKeypairs":{"description":"List of OpenStack keypairs","properties":{"items":{"items":{"$ref":"#/definitions/v1OpenStackKeypair"},"type":"array","uniqueItems":true}},"required":["items"],"type":"object"},"v1OpenStackMachine":{"description":"OpenStack cloud VM definition","properties":{"apiVersion":{"description":"Deprecated. Not used for the resource info.","type":"string"},"kind":{"description":"Deprecated. Cloud type of the machine.","type":"string"},"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1OpenStackMachineSpec"},"status":{"$ref":"#/definitions/v1CloudMachineStatus"}},"type":"object"},"v1OpenStackMachineConfigEntity":{"properties":{"azs":{"description":"for master pool, this will be the failure domains for kcp","items":{"type":"string"},"type":"array"},"flavorConfig":{"$ref":"#/definitions/v1OpenstackFlavorConfig"}},"required":["flavorConfig"],"type":"object"},"v1OpenStackMachinePoolCloudConfigEntity":{"properties":{"azs":{"description":"for master pool, this will be the failure domains for kcp","items":{"type":"string"},"type":"array"},"diskGiB":{"description":"Root disk size","format":"int32","type":"integer"},"flavorConfig":{"$ref":"#/definitions/v1OpenstackFlavorConfig"},"subnet":{"$ref":"#/definitions/v1OpenStackResource"}},"required":["flavorConfig"],"type":"object"},"v1OpenStackMachinePoolConfig":{"properties":{"additionalLabels":{"additionalProperties":{"type":"string"},"description":"additionalLabels","type":"object"},"additionalTags":{"additionalProperties":{"type":"string"},"description":"AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole","type":"object"},"azs":{"description":"for master pool, this will be the failure domains for kcp","items":{"type":"string"},"type":"array"},"diskGiB":{"description":"DiskGiB is used to configure rootVolume, the volume metadata to boot from","format":"int32","type":"integer"},"flavor":{"description":"Openstack flavor name, only return argument","type":"string"},"flavorConfig":{"$ref":"#/definitions/v1OpenstackFlavorConfig","description":"Openstack flavor configuration, input argument"},"image":{"type":"string"},"isControlPlane":{"description":"whether this pool is for control plane","type":"boolean"},"labels":{"description":"labels for this pool, example: master/worker, gpu, windows","items":{"type":"string"},"type":"array"},"machinePoolProperties":{"$ref":"#/definitions/v1MachinePoolProperties"},"maxSize":{"description":"max size of the pool, for scaling","format":"int32","type":"integer"},"minSize":{"description":"min size of the pool, for scaling","format":"int32","type":"integer"},"name":{"type":"string"},"nodeRepaveInterval":{"description":"Minimum number of seconds a node should be Ready, before the next node is selected for repave. Applicable only for workerpools in infrastructure cluster","format":"int32","type":"integer"},"size":{"description":"size of the pool, number of machines","format":"int32","type":"integer"},"subnet":{"$ref":"#/definitions/v1OpenStackResource"},"taints":{"description":"master or worker taints","items":{"$ref":"#/definitions/v1Taint"},"type":"array","uniqueItems":true},"updateStrategy":{"$ref":"#/definitions/v1UpdateStrategy","description":"rolling update strategy for this machinepool if not specified, will use ScaleOut"},"useControlPlaneAsWorker":{"description":"if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools","type":"boolean"}},"required":["flavorConfig"],"type":"object"},"v1OpenStackMachinePoolConfigEntity":{"properties":{"cloudConfig":{"$ref":"#/definitions/v1OpenStackMachinePoolCloudConfigEntity"},"poolConfig":{"$ref":"#/definitions/v1MachinePoolConfigEntity"}},"required":["cloudConfig"],"type":"object"},"v1OpenStackMachineSpec":{"description":"OpenStack cloud VM definition spec","properties":{"az":{"type":"string"},"image":{"type":"string"},"instanceType":{"$ref":"#/definitions/v1GenericInstanceType","description":"Instance flavor of the machine with cpu and memory info"},"nics":{"items":{"$ref":"#/definitions/v1OpenStackNic"},"type":"array"},"projectId":{"type":"string"},"securityGroups":{"items":{"type":"string"},"type":"array"},"sshKeyName":{"type":"string"}},"required":["instanceType","nics"],"type":"object"},"v1OpenStackMachines":{"description":"OpenStack machine list","properties":{"items":{"items":{"$ref":"#/definitions/v1OpenStackMachine"},"type":"array","uniqueItems":true}},"required":["items"],"type":"object"},"v1OpenStackNetwork":{"description":"OpenStack network","properties":{"description":{"description":"Description of OpenStack network","type":"string"},"id":{"description":"Id of OpenStack network","type":"string"},"name":{"description":"Name of OpenStack network","type":"string"},"subnets":{"description":"Subnets associated with OpenStack network","items":{"$ref":"#/definitions/v1OpenStackSubnet"},"type":"array","uniqueItems":true}},"type":"object"},"v1OpenStackNetworks":{"description":"List of OpenStack networks","properties":{"items":{"items":{"$ref":"#/definitions/v1OpenStackNetwork"},"type":"array","uniqueItems":true}},"required":["items"],"type":"object"},"v1OpenStackNic":{"description":"OpenStack network interface","properties":{"index":{"format":"int8","type":"integer"},"networkName":{"type":"string"},"privateIPs":{"items":{"type":"string"},"type":"array"}},"required":["networkName"],"type":"object"},"v1OpenStackProject":{"description":"Project represents an OpenStack Identity Project","properties":{"description":{"description":"Description is the description of the project","type":"string"},"domainId":{"description":"DomainID is the domain ID the project belongs to","type":"string"},"id":{"description":"ID is the unique ID of the project","type":"string"},"name":{"description":"Name is the name of the project","type":"string"},"parentProjectId":{"description":"ParentID is the parent_id of the project","type":"string"}},"type":"object"},"v1OpenStackProjects":{"description":"Array of OpenStack projects","properties":{"items":{"items":{"$ref":"#/definitions/v1OpenStackProject"},"type":"array","uniqueItems":true}},"required":["items"],"type":"object"},"v1OpenStackRegion":{"description":"OpenStack region entity","properties":{"description":{"description":"Description of OpenStack region","type":"string"},"id":{"description":"Id of OpenStack region","type":"string"},"parentRegionId":{"description":"Parent region id of OpenStack region","type":"string"}},"type":"object"},"v1OpenStackRegions":{"description":"List of OpenStack regions and domains","properties":{"domains":{"description":"List of OpenStack domains","items":{"$ref":"#/definitions/v1OpenStackDomain"},"type":"array","uniqueItems":true},"regions":{"description":"List of OpenStack regions","items":{"$ref":"#/definitions/v1OpenStackRegion"},"type":"array","uniqueItems":true}},"required":["regions","domains"],"type":"object"},"v1OpenStackResource":{"properties":{"id":{"type":"string"},"name":{"type":"string"}},"type":"object"},"v1OpenStackSubnet":{"description":"OpenStack subnet entity","properties":{"description":{"description":"Description for the network","type":"string"},"id":{"description":"UUID for the network","type":"string"},"name":{"description":"Human-readable name for the network. Might not be unique","type":"string"}},"type":"object"},"v1OpenstackFlavorConfig":{"properties":{"diskGiB":{"description":"DiskGiB is the size of a virtual machine's disk, in GiB.","format":"int32","type":"integer"},"memoryMiB":{"description":"MemoryMiB is the size of a virtual machine's memory, in MiB.","format":"int64","type":"integer"},"name":{"description":"Openstack flavor name","type":"string"},"numCPUs":{"description":"NumCPUs is the number of virtual processors in a virtual machine.","format":"int32","type":"integer"}},"required":["name"]},"v1OrgState":{"description":"Org state","properties":{"state":{"type":"string"}},"type":"object"},"v1Organization":{"description":"Describes user's organization details","properties":{"authType":{"description":"Describes user's enabled authorization mode","type":"string"},"name":{"description":"Describes user's organization name","type":"string"},"redirectUrl":{"description":"Describes user's organization authentication url","type":"string"},"ssoLogins":{"$ref":"#/definitions/v1SsoLogins","description":"Describes a list of allowed social logins for the organization"}},"type":"object"},"v1Organizations":{"description":"Returns a list of user's organizations details and login methods","properties":{"organizations":{"description":"Describes a list of user's organization","items":{"$ref":"#/definitions/v1Organization"},"type":"array","uniqueItems":true}},"type":"object"},"v1OsPatchConfig":{"properties":{"onDemandPatchAfter":{"$ref":"#/definitions/v1Time","description":"OnDemandPatchAfter is the desired time for one time on-demand patch"},"patchOnBoot":{"description":"PatchOnBoot indicates need to do patch when node first boot up, only once","type":"boolean","x-omitempty":false},"rebootIfRequired":{"description":"Reboot once the OS patch is applied","type":"boolean","x-omitempty":false},"schedule":{"description":"The schedule at which security patches will be applied to OS. Schedule should be in Cron format, see https://en.wikipedia.org/wiki/Cron for more help.","type":"string"}},"type":"object"},"v1OsPatchEntity":{"properties":{"osPatchConfig":{"$ref":"#/definitions/v1OsPatchConfig"}},"type":"object"},"v1OsType":{"default":"Linux","enum":["Linux","Windows"],"type":"string"},"v1OverloadSpec":{"description":"Overload spec","properties":{"cloudAccountUid":{"type":"string","x-omitempty":false},"ipAddress":{"type":"string"},"ipPools":{"items":{"$ref":"#/definitions/v1IpPoolEntity"},"type":"array"},"isSelfHosted":{"type":"boolean"},"isSystem":{"type":"boolean"},"spectroClusterUid":{"type":"string","x-omitempty":false},"tenantUid":{"type":"string"}},"type":"object"},"v1OverloadStatus":{"description":"Overload status","properties":{"health":{"$ref":"#/definitions/v1SpectroClusterHealthStatus"},"isActive":{"type":"boolean","x-omitempty":false},"isReady":{"type":"boolean","x-omitempty":false},"kubectlCommands":{"items":{"type":"string"},"type":"array","uniqueItems":true},"state":{"type":"string"}},"type":"object"},"v1OverloadVsphereOva":{"description":"Overload ova details","properties":{"location":{"type":"string","x-omitempty":false}},"type":"object"},"v1Overlord":{"description":"Overlord defintiion","properties":{"kind":{"type":"string"},"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1OverloadSpec"},"status":{"$ref":"#/definitions/v1OverloadStatus"}},"type":"object"},"v1OverlordMaasAccountCreate":{"properties":{"account":{"$ref":"#/definitions/v1MaasCloudAccount"},"name":{"description":"Name for the private gateway \u0026 cloud account","type":"string"},"shareWithProjects":{"type":"boolean","x-omitempty":false}}},"v1OverlordMaasAccountEntity":{"properties":{"account":{"$ref":"#/definitions/v1MaasCloudAccount"},"shareWithProjects":{"type":"boolean","x-omitempty":false}}},"v1OverlordMaasCloudConfig":{"properties":{"clusterConfig":{"$ref":"#/definitions/v1MaasClusterConfig"},"clusterProfiles":{"description":"Cluster profiles pack configuration for private gateway cluster","items":{"$ref":"#/definitions/v1SpectroClusterProfileEntity"},"type":"array"},"clusterSettings":{"$ref":"#/definitions/v1ClusterConfigEntity","description":"clusterSettings is the generic configuration related to a cluster like OS patch, Rbac, Namespace allocation"},"machineConfig":{"$ref":"#/definitions/v1MaasMachineConfigEntity"},"size":{"description":"size of the pool, number of machines","format":"int32","type":"integer"}}},"v1OverlordManifest":{"description":"overlord manifest","properties":{"manifest":{"type":"string"}},"type":"object"},"v1OverlordMigrateEntity":{"properties":{"sourceUid":{"type":"string"},"targetUid":{"type":"string"}}},"v1OverlordOpenStackAccountCreate":{"properties":{"account":{"$ref":"#/definitions/v1OpenStackCloudAccount"},"name":{"description":"Name for the private gateway \u0026 cloud account","type":"string"},"shareWithProjects":{"type":"boolean","x-omitempty":false}}},"v1OverlordOpenStackAccountEntity":{"properties":{"account":{"$ref":"#/definitions/v1OpenStackCloudAccount"},"shareWithProjects":{"type":"boolean","x-omitempty":false}}},"v1OverlordOpenStackCloudConfig":{"properties":{"clusterConfig":{"$ref":"#/definitions/v1OpenStackClusterConfig"},"clusterProfiles":{"description":"Cluster profiles pack configuration for private gateway cluster","items":{"$ref":"#/definitions/v1SpectroClusterProfileEntity"},"type":"array"},"clusterSettings":{"$ref":"#/definitions/v1ClusterConfigEntity","description":"clusterSettings is the generic configuration related to a cluster like OS patch, Rbac, Namespace allocation"},"machineConfig":{"$ref":"#/definitions/v1OpenStackMachineConfigEntity"},"size":{"description":"size of the pool, number of machines","format":"int32","type":"integer"}}},"v1OverlordVsphereAccountCreate":{"properties":{"account":{"$ref":"#/definitions/v1VsphereCloudAccount"},"name":{"description":"Name for the private gateway \u0026 cloud account","type":"string"},"shareWithProjects":{"type":"boolean","x-omitempty":false}}},"v1OverlordVsphereAccountEntity":{"properties":{"account":{"$ref":"#/definitions/v1VsphereCloudAccount"},"shareWithProjects":{"type":"boolean","x-omitempty":false}}},"v1OverlordVsphereCloudConfig":{"properties":{"clusterConfig":{"$ref":"#/definitions/v1VsphereOverlordClusterConfigEntity"},"clusterProfiles":{"description":"Cluster profiles pack configuration for private gateway cluster","items":{"$ref":"#/definitions/v1SpectroClusterProfileEntity"},"type":"array"},"clusterSettings":{"$ref":"#/definitions/v1ClusterConfigEntity","description":"clusterSettings is the generic configuration related to a cluster like OS patch, Rbac, Namespace allocation"},"size":{"description":"size of the pool, number of machines","format":"int32","type":"integer"}}},"v1Overlords":{"description":"Array of Overlords","properties":{"items":{"items":{"$ref":"#/definitions/v1Overlord"},"type":"array","uniqueItems":true}},"required":["items"],"type":"object"},"v1PackConfig":{"description":"Pack configuration","properties":{"spec":{"$ref":"#/definitions/v1PackConfigSpec"}},"type":"object"},"v1PackConfigSpec":{"properties":{"associatedObject":{"type":"string"},"isValuesOverridden":{"type":"boolean","x-omitempty":false},"manifests":{"items":{"$ref":"#/definitions/v1PackManifestRef"},"type":"array"},"name":{"type":"string"},"packUid":{"type":"string"},"scope":{"type":"string"},"tag":{"type":"string"},"type":{"type":"string"},"values":{"type":"string"},"version":{"type":"string"}},"type":"object"},"v1PackDependency":{"description":"Pack template dependency","properties":{"layer":{"description":"Pack template dependency pack layer","type":"string"},"name":{"description":"Pack template dependency pack name","type":"string"},"readOnly":{"description":"If true then dependency pack values can't be overridden","type":"boolean"}},"type":"object"},"v1PackDependencyMeta":{"description":"Pack dependency metadata","properties":{"displayName":{"description":"Pack display name","type":"string"},"logoUrl":{"description":"Pack logo url","type":"string"},"name":{"description":"Pack name","type":"string"},"registryUid":{"description":"Pack registry uid","type":"string"},"uid":{"description":"Pack uid","type":"string"},"version":{"description":"Pack version","type":"string"}},"type":"object"},"v1PackEntity":{"description":"Pack object","properties":{"layer":{"description":"Pack layer","type":"string"},"name":{"description":"Pack name","type":"string"},"tag":{"description":"Pack tag","type":"string"},"type":{"$ref":"#/definitions/v1PackType"},"uid":{"description":"Pack uid","type":"string"},"values":{"description":"values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values","type":"string"}},"required":["uid","name"],"type":"object"},"v1PackFilterSpec":{"description":"Packs filter spec","properties":{"addOnSubType":{"description":"Pack add-on sub type such as monitoring, db etc","items":{"type":"string"},"type":"array","uniqueItems":true},"addOnType":{"description":"Pack add-on type such as logging, monitoring, security etc","items":{"type":"string"},"type":"array","uniqueItems":true},"displayName":{"$ref":"#/definitions/v1FilterString"},"environment":{"description":"Pack supported cloud types","items":{"type":"string"},"type":"array","uniqueItems":true},"isFips":{"description":"isFips compliant","type":"boolean"},"layer":{"description":"Pack layer","items":{"$ref":"#/definitions/v1PackLayer"},"type":"array","uniqueItems":true},"name":{"$ref":"#/definitions/v1FilterString"},"registryUid":{"description":"Pack registry uid","items":{"type":"string"},"type":"array","uniqueItems":true},"source":{"description":"The source filter describes the creation origin/source of the pack. Ex. source can be \"spectrocloud\" or \"community\"","items":{"type":"string"},"type":"array","uniqueItems":true},"state":{"description":"Pack state such as deprecated or disabled","items":{"type":"string"},"type":"array","uniqueItems":true},"type":{"description":"Pack type","items":{"$ref":"#/definitions/v1PackType"},"type":"array","uniqueItems":true}}},"v1PackImportEntity":{"description":"Pack import request payload","properties":{"layer":{"description":"Pack layer [ \"os\", \"k8s\", \"cni\", \"csi\", \"addon\" ]","type":"string"},"manifests":{"description":"Pack manifests array","items":{"$ref":"#/definitions/v1PackManifestImportEntity"},"type":"array"},"name":{"description":"Pack name","type":"string"},"registry":{"$ref":"#/definitions/v1PackRegistryImportEntity"},"tag":{"description":"Pack version tag","type":"string"},"type":{"description":"Pack type [ \"spectro\", \"helm\", \"manifest\", \"oci\" ]","type":"string"},"values":{"description":"Pack values are the customizable configurations for the pack","type":"string"},"version":{"description":"Pack version","type":"string"}},"type":"object"},"v1PackInputEntity":{"description":"Pack request payload","properties":{"pack":{"$ref":"#/definitions/v1PackManifestEntity"}}},"v1PackLayer":{"enum":["kernel","os","k8s","cni","csi","addon"],"type":"string"},"v1PackManifestEntity":{"description":"Pack request payload","properties":{"layer":{"description":"Pack layer","type":"string"},"manifests":{"description":"Pack manifests are additional content as part of the profile","items":{"$ref":"#/definitions/v1ManifestInputEntity"},"type":"array"},"name":{"description":"Pack name","type":"string"},"registryUid":{"description":"Pack registry uid","type":"string"},"tag":{"description":"Pack tag","type":"string"},"type":{"$ref":"#/definitions/v1PackType"},"uid":{"description":"Pack uid","type":"string"},"values":{"description":"Pack values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values","type":"string"}},"required":["name"],"type":"object"},"v1PackManifestImportEntity":{"description":"Pack manifest import objct","properties":{"content":{"description":"Pack manifest content in yaml","type":"string"},"name":{"description":"Pack manifest name","type":"string"}},"type":"object"},"v1PackManifestRef":{"properties":{"digest":{"type":"string"},"isOverridden":{"type":"boolean","x-omitempty":false},"name":{"type":"string"},"parentUid":{"type":"string"},"uid":{"type":"string"}},"type":"object"},"v1PackManifestUpdateEntity":{"description":"Pack input entity with values to overwrite and manifests for the intial creation","properties":{"layer":{"description":"Pack layer","type":"string"},"manifests":{"description":"Pack manifests are additional content as part of the profile","items":{"$ref":"#/definitions/v1ManifestRefUpdateEntity"},"type":"array"},"name":{"description":"Pack name","type":"string"},"registryUid":{"description":"Pack registry uid","type":"string"},"tag":{"description":"Pack tag","type":"string"},"type":{"$ref":"#/definitions/v1PackType"},"uid":{"description":"Pack uid","type":"string"},"values":{"description":"Pack values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values","type":"string"}},"required":["name"],"type":"object"},"v1PackManifests":{"properties":{"items":{"description":"Manifests array","items":{"$ref":"#/definitions/v1Manifest"},"type":"array","uniqueItems":true}},"required":["items"],"type":"object"},"v1PackManifestsSpec":{"description":"Pack manifests spec","properties":{"addonType":{"description":"Pack add-on type such as logging, monitoring, security etc","type":"string"},"annotations":{"additionalProperties":{"type":"string"},"description":"Pack annotations is used to allow pack to add more arbitrary configurations","type":"object"},"cloudTypes":{"description":"Pack supported cloud types","items":{"type":"string"},"type":"array"},"digest":{"description":"Pack digest","type":"string"},"displayName":{"description":"Pack display name","type":"string"},"eol":{"description":"Pack end of life, date format: yyyy-MM-dd","type":"string"},"group":{"description":"Pack group","type":"string"},"layer":{"$ref":"#/definitions/v1PackLayer"},"logoUrl":{"description":"Pack logo url","type":"string"},"manifests":{"description":"Pack manifests are additional content as part of the cluster profile","items":{"$ref":"#/definitions/v1ManifestSummary"},"type":"array"},"name":{"description":"Pack name","type":"string"},"presets":{"description":"Pack presets are the set of configurations applied on user selection of presets","items":{"$ref":"#/definitions/v1PackPreset"},"type":"array"},"registryUid":{"description":"Pack registry uid","type":"string"},"schema":{"description":"Pack schema contains constraints such as data type, format, hints for the pack values","items":{"$ref":"#/definitions/v1PackSchema"},"type":"array"},"type":{"$ref":"#/definitions/v1PackType"},"values":{"description":"Pack values","type":"string"},"version":{"description":"Pack version","type":"string"}},"type":"object"},"v1PackMetadata":{"description":"Pack metadata object","properties":{"apiVersion":{"description":"Deprecated. Not used for the resource info.","type":"string"},"kind":{"description":"Deprecated. Not used for the resource info.","type":"string"},"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1PackMetadataSpec"}},"type":"object"},"v1PackMetadataList":{"description":"List of packs metadata","properties":{"items":{"description":"Packs metadata array","items":{"$ref":"#/definitions/v1PackMetadata"},"type":"array","uniqueItems":true},"listmeta":{"$ref":"#/definitions/v1ListMetaData"}},"required":["items"],"type":"object"},"v1PackMetadataSpec":{"description":"Pack metadata spec","properties":{"addonSubType":{"description":"Pack add-on sub type such as monitoring, db etc","type":"string"},"addonType":{"description":"Pack add-on type such as logging, monitoring, security etc","type":"string"},"cloudTypes":{"description":"Pack supported cloud types","items":{"type":"string"},"type":"array"},"displayName":{"description":"Pack display name","type":"string"},"group":{"description":"Pack group","type":"string"},"layer":{"$ref":"#/definitions/v1PackLayer"},"name":{"description":"Pack name","type":"string"},"registries":{"description":"Pack registries array","items":{"$ref":"#/definitions/v1RegistryPackMetadata"},"type":"array"},"type":{"$ref":"#/definitions/v1PackType"}},"type":"object"},"v1PackParamsEntity":{"description":"Pack params request payload","properties":{"references":{"items":{"type":"string"},"type":"array","uniqueItems":true}}},"v1PackPreset":{"description":"PackPreset defines the preset pack values","properties":{"add":{"type":"string","x-omitempty":false},"displayName":{"type":"string","x-omitempty":false},"group":{"type":"string","x-omitempty":false},"name":{"type":"string","x-omitempty":false},"remove":{"items":{"type":"string"},"type":"array","x-omitempty":false}},"type":"object"},"v1PackReadme":{"properties":{"readme":{"description":"Readme describes the documentation of the specified pack","type":"string"}}},"v1PackRef":{"description":"PackRef server/name:tag to point to a pack PackRef is used when construct a ClusterProfile PackSpec is used for UI to render the parameters form ClusterProfile will not know inner details of a pack ClusterProfile only contain pack name:tag, and the param values user entered for it","properties":{"annotations":{"additionalProperties":{"type":"string"},"description":"Annotations is used to allow packref to add more arbitrary information one example is to add git reference for values.yaml","type":"object"},"digest":{"description":"digest is used to specify the version should be installed by palette when pack upgrade available, change this digest to trigger upgrade","type":"string"},"inValidReason":{"type":"string"},"isInvalid":{"description":"pack is invalid when the associated tag is deleted from the registry","type":"boolean"},"layer":{"enum":["kernel","os","k8s","cni","csi","addon"],"type":"string"},"logo":{"description":"path to the pack logo","type":"string"},"manifests":{"items":{"$ref":"#/definitions/v1ObjectReference"},"type":"array"},"name":{"description":"pack name","type":"string"},"packUid":{"description":"PackUID is Hubble packUID, not palette Pack.UID It is used by Hubble only.","type":"string"},"params":{"additionalProperties":{"type":"string"},"description":"params passed as env variables to be consumed at installation time","type":"object"},"presets":{"items":{"$ref":"#/definitions/v1PackPreset"},"type":"array"},"registryUid":{"description":"pack registry uid","type":"string"},"schema":{"items":{"$ref":"#/definitions/v1PackSchema"},"type":"array"},"server":{"description":"pack registry server or helm repo","type":"string"},"tag":{"description":"pack tag","type":"string"},"type":{"description":"type of the pack","enum":["spectro","helm","manifest"],"type":"string"},"values":{"description":"values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values","type":"string"},"version":{"description":"pack version","type":"string"}},"required":["layer","name"],"type":"object"},"v1PackRefSummary":{"description":"Pack ref summary","properties":{"addonType":{"type":"string"},"annotations":{"additionalProperties":{"type":"string"},"type":"object"},"displayName":{"type":"string"},"layer":{"$ref":"#/definitions/v1PackLayer"},"logoUrl":{"type":"string"},"name":{"type":"string"},"packUid":{"type":"string"},"tag":{"type":"string"},"type":{"type":"string"},"version":{"type":"string"}}},"v1PackRefSummaryResponse":{"description":"Pack summary response","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1PackRefSummarySpec"}},"type":"object"},"v1PackRefSummarySpec":{"description":"Pack summary spec","properties":{"macros":{"$ref":"#/definitions/v1PackResolvedValues"},"pack":{"$ref":"#/definitions/v1PackSummarySpec"},"registry":{"$ref":"#/definitions/v1RegistryMetadata"}}},"v1PackRegistries":{"properties":{"items":{"items":{"$ref":"#/definitions/v1PackRegistry"},"type":"array","uniqueItems":true},"listmeta":{"$ref":"#/definitions/v1ListMetaData"}},"required":["items"],"type":"object"},"v1PackRegistriesSummary":{"description":"Pack Registries Summary","properties":{"items":{"items":{"$ref":"#/definitions/v1PackRegistrySummary"},"type":"array","uniqueItems":true},"listmeta":{"$ref":"#/definitions/v1ListMetaData"}},"required":["items"],"type":"object"},"v1PackRegistry":{"description":"Pack registry information","properties":{"apiVersion":{"description":"Deprecated. Not used for the resource info.","type":"string"},"kind":{"description":"Deprecated. Not used for the resource info.","type":"string"},"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1PackRegistrySpec"},"status":{"$ref":"#/definitions/v1PackRegistryStatus"}},"type":"object"},"v1PackRegistryImportEntity":{"description":"Pack registry import entity","properties":{"matchingRegistries":{"items":{"$ref":"#/definitions/v1PackRegistryMetadata"},"type":"array"},"metadata":{"$ref":"#/definitions/v1PackRegistryMetadata"}},"type":"object"},"v1PackRegistryMetadata":{"description":"Pack registry metadata","properties":{"isPrivate":{"description":"If true then pack registry is private and is not accessible for the pack sync","type":"boolean","x-omitempty":false},"kind":{"description":"Pack registry kind [ \"pack\", \"helm\", \"oci\" ]","type":"string"},"name":{"description":"Pack registry name","type":"string"},"providerType":{"description":"OCI registry provider type [ \"helm\", \"pack\", \"zarf\" ]","type":"string"},"uid":{"description":"Pack registry uid","type":"string"}},"type":"object"},"v1PackRegistrySpec":{"description":"Pack registry credentials spec","properties":{"auth":{"$ref":"#/definitions/v1RegistryAuth"},"endpoint":{"type":"string"},"name":{"type":"string"},"private":{"type":"boolean","x-omitempty":false},"registryUid":{"description":"Pack registry uid","type":"string"},"scope":{"type":"string"}},"required":["endpoint","auth"],"type":"object"},"v1PackRegistrySpecSummary":{"description":"Pack Registry spec summary","properties":{"endpoint":{"type":"string"},"private":{"type":"boolean","x-omitempty":false},"scope":{"type":"string"}},"type":"object"},"v1PackRegistryStatus":{"description":"Status of the pack registry","properties":{"packSyncStatus":{"$ref":"#/definitions/v1RegistrySyncStatus"}},"type":"object"},"v1PackRegistryStatusSummary":{"description":"Pack registry status summary","properties":{"sync":{"$ref":"#/definitions/v1RegistrySyncStatus"}},"type":"object"},"v1PackRegistrySummary":{"description":"Pack Registry summary","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1PackRegistrySpecSummary"},"status":{"$ref":"#/definitions/v1PackRegistryStatusSummary"}},"type":"object"},"v1PackResolvedValues":{"description":"Pack resolved values","properties":{"resolved":{"additionalProperties":{"type":"string"},"description":"Pack resolved values map","type":"object"}}},"v1PackSchema":{"description":"PackSchema defines the schema definition, hints for the pack values","properties":{"format":{"type":"string","x-omitempty":false},"hints":{"items":{"type":"string"},"type":"array","x-omitempty":false},"listOptions":{"items":{"type":"string"},"type":"array","x-omitempty":false},"name":{"type":"string","x-omitempty":false},"readonly":{"type":"boolean","x-omitempty":false},"regex":{"type":"string","x-omitempty":false},"required":{"type":"boolean","x-omitempty":false},"type":{"type":"string","x-omitempty":false}},"type":"object"},"v1PackSortFields":{"description":"Packs sort by fields","enum":["name","type","layer","addOnType","displayName"],"type":"string","x-nullable":true},"v1PackSortSpec":{"description":"Packs sort spec","properties":{"field":{"$ref":"#/definitions/v1PackSortFields"},"order":{"$ref":"#/definitions/v1SortOrder"}}},"v1PackSummaries":{"description":"List of packs","properties":{"items":{"description":"Packs array","items":{"$ref":"#/definitions/v1PackSummary"},"type":"array","uniqueItems":true},"listmeta":{"$ref":"#/definitions/v1ListMetaData"}},"required":["items"],"type":"object"},"v1PackSummary":{"description":"Pack summary object","properties":{"apiVersion":{"description":"Deprecated. Not used for the resource info.","type":"string"},"kind":{"description":"Deprecated. Not used for the resource info.","type":"string"},"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1PackSummarySpec"},"status":{"$ref":"#/definitions/v1PackSummaryStatus"}},"type":"object"},"v1PackSummarySpec":{"description":"Pack object","properties":{"addonSubType":{"description":"Pack add-on sub type such as monitoring, db etc","type":"string"},"addonType":{"description":"Pack add-on type such as logging, monitoring, security etc","type":"string"},"annotations":{"additionalProperties":{"type":"string"},"description":"Pack annotations is used to allow pack to add more arbitrary configurations","type":"object"},"cloudTypes":{"description":"Pack supported cloud types","items":{"type":"string"},"type":"array"},"digest":{"description":"Pack digest","type":"string"},"displayName":{"description":"Pack display name","type":"string"},"eol":{"description":"Pack end of life, date format: yyyy-MM-dd","type":"string"},"group":{"description":"Pack group","type":"string"},"layer":{"$ref":"#/definitions/v1PackLayer"},"logoUrl":{"description":"Pack logo url","type":"string"},"manifests":{"description":"Pack manifests are additional content as part of the cluster profile","items":{"$ref":"#/definitions/v1ObjectReference"},"type":"array"},"name":{"description":"Pack name","type":"string"},"presets":{"description":"Pack presets are the set of configurations applied on user selection of presets","items":{"$ref":"#/definitions/v1PackPreset"},"type":"array"},"registryUid":{"description":"Pack registry uid","type":"string"},"schema":{"description":"Pack schema contains constraints such as data type, format, hints for the pack values","items":{"$ref":"#/definitions/v1PackSchema"},"type":"array"},"template":{"$ref":"#/definitions/v1PackTemplate"},"type":{"$ref":"#/definitions/v1PackType"},"values":{"description":"Pack values","type":"string"},"version":{"description":"Pack version","type":"string"}},"type":"object"},"v1PackSummaryStatus":{"description":"Pack status","type":"object"},"v1PackTagEntity":{"description":"Pack object","properties":{"addonSubType":{"description":"Pack add-on sub type such as monitoring, db etc","type":"string"},"addonType":{"description":"Pack add-on type such as logging, monitoring, security etc","type":"string"},"cloudTypes":{"description":"Pack supported cloud types","items":{"type":"string"},"type":"array"},"displayName":{"description":"Pack display name","type":"string"},"layer":{"$ref":"#/definitions/v1PackLayer"},"logoUrl":{"description":"Pack logo url","type":"string"},"name":{"description":"Pack name","type":"string"},"packValues":{"description":"Pack values array","items":{"$ref":"#/definitions/v1PackUidValues"},"type":"array"},"registryUid":{"description":"Pack registry uid","type":"string"},"tags":{"description":"Pack version tags array","items":{"$ref":"#/definitions/v1PackTags"},"type":"array"}},"type":"object"},"v1PackTags":{"properties":{"group":{"description":"Pack group","type":"string"},"packUid":{"description":"Pack uid","type":"string"},"parentTags":{"description":"Pack version parent tags","items":{"type":"string"},"type":"array"},"tag":{"description":"Pack version tag","type":"string"},"version":{"description":"Pack version","type":"string"}},"type":"object"},"v1PackTemplate":{"description":"Pack template configuration","properties":{"manifest":{"description":"Pack template manifest content","type":"string"},"parameters":{"$ref":"#/definitions/v1PackTemplateParameters"},"values":{"description":"Pack template values","type":"string"}}},"v1PackTemplateParameter":{"description":"Pack template parameter","properties":{"description":{"description":"Pack template parameter description","type":"string"},"displayName":{"description":"Pack template parameter display name","type":"string"},"format":{"description":"Pack template parameter format","type":"string"},"hidden":{"description":"Pack template parameter hidden flag, if true then the parameter is hidden in the UI","type":"boolean"},"listOptions":{"description":"Pack template parameter list options as string array","items":{"type":"string"},"type":"array"},"name":{"description":"Pack template parameter name","type":"string"},"optional":{"description":"Pack template parameter optional flag, if true then the parameter value is not mandatory","type":"boolean"},"options":{"additionalProperties":{"$ref":"#/definitions/v1PackTemplateParameterOption","type":"object"},"description":"Pack template parameter options array","type":"object"},"readOnly":{"description":"Pack template parameter readonly flag, if true then the parameter value can't be overridden","type":"boolean"},"regex":{"description":"Pack template parameter regex, if set then parameter value must match with specified regex","type":"string"},"targetKey":{"description":"Pack template parameter target key which is mapped to the key defined in the pack values","type":"string"},"type":{"description":"Pack template parameter data type","type":"string"},"value":{"description":"Pack template parameter value","type":"string"}}},"v1PackTemplateParameterOption":{"description":"Pack template parameter option","properties":{"dependencies":{"description":"Pack template parameter dependencies","items":{"$ref":"#/definitions/v1PackDependency"},"type":"array"},"description":{"description":"Pack template parameter description","type":"string"},"label":{"description":"Pack template parameter label","type":"string"}},"type":"object"},"v1PackTemplateParameters":{"description":"Pack template parameters","properties":{"inputParameters":{"description":"Pack template input parameters array","items":{"$ref":"#/definitions/v1PackTemplateParameter"},"type":"array"},"outputParameters":{"description":"Pack template output parameters array","items":{"$ref":"#/definitions/v1PackTemplateParameter"},"type":"array"}}},"v1PackType":{"default":"spectro","enum":["spectro","helm","manifest","oci"],"type":"string"},"v1PackUidValues":{"properties":{"annotations":{"additionalProperties":{"type":"string"},"description":"Pack annotations is used to allow pack to add more arbitrary configurations","type":"object"},"dependencies":{"description":"Pack dependencies array","items":{"$ref":"#/definitions/v1PackDependencyMeta"},"type":"array"},"packUid":{"description":"Pack uid","type":"string"},"presets":{"description":"Pack presets are the set of configurations applied on user selection of presets","items":{"$ref":"#/definitions/v1PackPreset"},"type":"array"},"readme":{"description":"Readme describes the documentation of the specified pack","type":"string"},"schema":{"description":"Pack schema contains constraints such as data type, format, hints for the pack values","items":{"$ref":"#/definitions/v1PackSchema"},"type":"array"},"template":{"$ref":"#/definitions/v1PackTemplate"},"values":{"description":"Pack values represents the values.yaml used as input parameters","type":"string"}},"type":"object"},"v1PackUpdateEntity":{"description":"Pack update request payload","properties":{"pack":{"$ref":"#/definitions/v1PackEntity"}}},"v1PackValuesEntity":{"description":"Pack values entity to refer the existing pack for the values override","properties":{"manifests":{"description":"Pack manifests are additional content as part of the profile","items":{"$ref":"#/definitions/v1ManifestRefUpdateEntity"},"type":"array"},"name":{"description":"Pack name","type":"string"},"tag":{"description":"Pack version tag","type":"string"},"type":{"$ref":"#/definitions/v1PackType"},"values":{"description":"Pack values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values","type":"string"}},"required":["name"],"type":"object"},"v1PacksFilterSpec":{"description":"Packs filter spec","properties":{"filter":{"$ref":"#/definitions/v1PackFilterSpec"},"sort":{"items":{"$ref":"#/definitions/v1PackSortSpec"},"type":"array","uniqueItems":true}}},"v1PairingCode":{"description":"Pairing code response","properties":{"pairingCode":{"type":"string"}},"type":"object"},"v1Partition":{"properties":{"fileSystemType":{"type":"string"},"freeSpace":{"format":"int32","type":"integer"},"mountPoint":{"type":"string"},"totalSpace":{"format":"int32","type":"integer"},"usedSpace":{"format":"int32","type":"integer"}},"type":"object"},"v1PasswordsBlockListEntity":{"description":"List of block listed passwords","properties":{"passwords":{"items":{"type":"string"},"type":"array"}},"type":"object"},"v1PaymentIntent":{"description":"Payment setup object","properties":{"clientSecret":{"description":"Payment client secret","type":"string"},"paymentIntentId":{"description":"Payment intent id","type":"string"},"status":{"description":"Status of payment intent","type":"string"}}},"v1PaymentMethod":{"description":"Payment method object","properties":{"card":{"$ref":"#/definitions/v1Card"},"customerId":{"description":"Customer uid","type":"string"},"firstName":{"description":"First name of the user","type":"string"},"lastName":{"description":"Last name of the user","type":"string"},"paymentMethodId":{"description":"Payment method uid","type":"string"}}},"v1PaymentMethods":{"description":"Payment Method list","properties":{"defaultPaymentMethod":{"description":"Default payment method","type":"string"},"paymentMethods":{"description":"List of payment method","items":{"$ref":"#/definitions/v1PaymentMethod"},"type":"array","uniqueItems":true}}},"v1PaymentPlan":{"description":"Stripe price detail object","properties":{"billingScheme":{"description":"Billing scheme","type":"string"},"currency":{"description":"Unit of currency","type":"string"},"id":{"description":"Stripe payment plan id","type":"string"},"name":{"description":"Name of the stripe plan","type":"string"},"productId":{"description":"Product identifier","type":"string"},"type":{"description":"Type of payment plan","type":"string"},"unitAmount":{"description":"Unit amount for the product","format":"int64","type":"number"}}},"v1PaymentPlans":{"description":"Payment plan object model","properties":{"stripePlanDetails":{"description":"List of Stripe plan details","items":{"$ref":"#/definitions/v1PaymentPlan"},"type":"array","uniqueItems":true}},"required":["stripePlanDetails"],"type":"object"},"v1PaymentSecrets":{"description":"payment secrets","properties":{"publishableKey":{"type":"string"},"secretKey":{"type":"string"}}},"v1PaymentSubscription":{"description":"Payment subscription object","properties":{"customerId":{"description":"Customer uid","type":"string"},"paymentIntent":{"$ref":"#/definitions/v1PaymentIntent","description":"Payment intent"},"paymentMethodIds":{"description":"List of payment method uids","items":{"type":"string"},"type":"array","uniqueItems":true},"planType":{"description":"Plan type","type":"string"},"priceId":{"description":"Price uid","type":"string"},"subscriptionId":{"description":"Subscription uid","type":"string"},"subscriptionState":{"description":"Plan subscription state","type":"string"}}},"v1PcgSelfHostedParams":{"properties":{"cloudType":{"type":"string"},"name":{"type":"string"}}},"v1PcgServiceKubectlCommands":{"description":"Array of kubectl commands","properties":{"kubectlCommands":{"items":{"type":"string"},"type":"array","uniqueItems":true},"overlordUid":{"type":"string"}},"required":["kubectlCommands"],"type":"object"},"v1PcgsSummary":{"properties":{"items":{"items":{"$ref":"#/definitions/v1Overlord"},"type":"array","uniqueItems":true},"listmeta":{"$ref":"#/definitions/v1ListMetaData"}},"required":["items"],"type":"object"},"v1Permission":{"description":"Permission information","properties":{"name":{"type":"string"},"permissions":{"items":{"type":"string"},"type":"array"},"scope":{"$ref":"#/definitions/v1Scope"}},"type":"object"},"v1Permissions":{"description":"Array of permissions","items":{"$ref":"#/definitions/v1Permission"},"type":"array"},"v1Plan":{"description":"Plan","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1PlanSpec"},"status":{"$ref":"#/definitions/v1PlanStatus"}}},"v1PlanAddFreeCreditUpdate":{"description":"Plan add free credit update entity","properties":{"credit":{"$ref":"#/definitions/v1PlanCreditEntity"}}},"v1PlanAddSlaCreditUpdate":{"description":"Plan add sla credit update entity","properties":{"credit":{"$ref":"#/definitions/v1PlanCreditEntity"}}},"v1PlanChangeUpdate":{"description":"Plan change update entity","properties":{"expiry":{"$ref":"#/definitions/v1Time","description":"plan expiry time"},"isPaymentGateway":{"type":"boolean"},"planLimit":{"$ref":"#/definitions/v1PlanLimit"},"start":{"$ref":"#/definitions/v1Time","description":"plan start time"},"tierPrice":{"$ref":"#/definitions/v1TierPrice"},"type":{"enum":["Trial","MonthlyOnDemand","AnnualSubscription"],"type":"string"}},"required":["type","start","expiry"]},"v1PlanCost":{"description":"Plan Cost","properties":{"discount":{"format":"float","type":"number","x-omitempty":false},"price":{"format":"float","type":"number","x-omitempty":false}}},"v1PlanCpuCoreHoursUsages":{"properties":{"hourlyUsages":{"items":{"$ref":"#/definitions/v1ResourceUsage"},"type":"array","uniqueItems":true}},"type":"object"},"v1PlanCredit":{"description":"Plan Credit","properties":{"cpuCoreHours":{"format":"int64","type":"number","x-omitempty":false},"creditUid":{"type":"string"},"expiry":{"$ref":"#/definitions/v1Time","description":"credit expiry time"},"name":{"type":"string"},"start":{"$ref":"#/definitions/v1Time","description":"credit start time"},"type":{"enum":["Pure","Alloy"],"type":"string"}},"required":["type"]},"v1PlanCreditEntity":{"description":"Plan Credit entity for create/update request","properties":{"cpuCoreHours":{"format":"int64","type":"number","x-omitempty":false},"expiry":{"$ref":"#/definitions/v1Time"},"name":{"type":"string"},"start":{"$ref":"#/definitions/v1Time"},"type":{"enum":["Pure","Alloy"],"type":"string"}},"required":["type"]},"v1PlanCreditUpdate":{"description":"Plan credit update entity","properties":{"credit":{"$ref":"#/definitions/v1PlanCreditEntity"}}},"v1PlanExpiry":{"description":"Plan expiry","properties":{"expiry":{"$ref":"#/definitions/v1Time","description":"plan expiry time"}},"required":["expiry"]},"v1PlanLimit":{"description":"Monthly Plan Limit","properties":{"alloy":{"$ref":"#/definitions/v1PlanLimitSpec"},"isOnDemand":{"description":"is onDemand plan and has no limit","type":"boolean","x-omitempty":false},"isUnlimited":{"description":"is unlimited cpu core hours","type":"boolean","x-omitempty":false},"pure":{"$ref":"#/definitions/v1PlanLimitSpec"}}},"v1PlanLimitSpec":{"description":"Monthly Plan Limit spec","properties":{"cpuCoreHours":{"description":"cpu cores hours","format":"int64","type":"integer","x-omitempty":false},"overageLimitPercentage":{"default":25,"description":"overage limit in percentage","format":"int8","type":"integer","x-omitempty":false},"warnLimitPercentage":{"default":90,"description":"warning limit in percentage","format":"int8","type":"integer","x-omitempty":false}}},"v1PlanLimitUpdate":{"description":"Plan limit change update entity","properties":{"planLimit":{"$ref":"#/definitions/v1PlanLimit"}},"required":["planLimit"]},"v1PlanMonthlyUsage":{"description":"Plan monthly usage entity","properties":{"dailyUsages":{"items":{"$ref":"#/definitions/v1ResourceUsage"},"type":"array","uniqueItems":true},"month":{"$ref":"#/definitions/v1Time","description":"usage month"},"planLimit":{"$ref":"#/definitions/v1PlanLimit"},"planType":{"enum":["Trial","MonthlyOnDemand","AnnualSubscription"],"type":"string"},"planUid":{"type":"string"},"totalMonthlyUsage":{"$ref":"#/definitions/v1TotalResourceUsage"}}},"v1PlanMonthlyUsages":{"properties":{"items":{"items":{"$ref":"#/definitions/v1PlanMonthlyUsage"},"type":"array"}},"type":"object"},"v1PlanRenewal":{"description":"Plan Renewal","properties":{"expiry":{"$ref":"#/definitions/v1Time","description":"credit expiry time"},"planLimit":{"$ref":"#/definitions/v1PlanLimit"},"start":{"$ref":"#/definitions/v1Time","description":"credit start time"},"type":{"enum":["Trial","MonthlyOnDemand","AnnualSubscription"],"type":"string"}},"required":["type","start","expiry"]},"v1PlanRenewalUpdate":{"description":"Plan add renawal update entity","properties":{"renewal":{"$ref":"#/definitions/v1PlanRenewal"}}},"v1PlanSpec":{"description":"Plan specifications","properties":{"cost":{"$ref":"#/definitions/v1PlanCost"},"developerCredits":{"$ref":"#/definitions/v1DeveloperCredit"},"expiry":{"$ref":"#/definitions/v1Time","description":"plan expiry time"},"freeCredits":{"items":{"$ref":"#/definitions/v1PlanCredit"},"type":"array"},"planLimit":{"$ref":"#/definitions/v1PlanLimit"},"renewal":{"$ref":"#/definitions/v1PlanRenewal"},"slaCredits":{"items":{"$ref":"#/definitions/v1PlanCredit"},"type":"array"},"start":{"$ref":"#/definitions/v1Time","description":"plan start time"},"tierPricing":{"$ref":"#/definitions/v1TierPrice"},"type":{"enum":["Trial","MonthlyOnDemand","AnnualSubscription"],"type":"string"}},"required":["type","start","expiry"]},"v1PlanStatus":{"properties":{"changeLogs":{"items":{"type":"string"},"type":"array"}},"type":"object"},"v1Plans":{"description":"Array of Plans","properties":{"items":{"items":{"$ref":"#/definitions/v1Plan"},"type":"array","uniqueItems":true},"listmeta":{"$ref":"#/definitions/v1ListMetaData"}},"required":["items"],"type":"object"},"v1PlansUsageComputeSpec":{"description":"Plans usage compute spec","properties":{"startTime":{"$ref":"#/definitions/v1Time"},"tenantUids":{"items":{"type":"string"},"type":"array","uniqueItems":true}},"type":"object"},"v1PodAntiAffinity":{"description":"Pod anti affinity is a group of inter pod anti affinity scheduling rules.","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"description":"The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding \"weight\" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred.","items":{"$ref":"#/definitions/v1VmWeightedPodAffinityTerm"},"type":"array"},"requiredDuringSchedulingIgnoredDuringExecution":{"description":"If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.","items":{"$ref":"#/definitions/v1VmPodAffinityTerm"},"type":"array"}},"type":"object"},"v1Pool":{"description":"Pool defines IP ranges or with CIDR for available IPs Gateway, Prefix and Nameserver if provided, will overwrite values in IPPool","properties":{"end":{"description":"End is the last IP address that can be rendered. It is used as a validation that the rendered IP is in bound.","type":"string"},"gateway":{"description":"Gateway is the gateway ip address","type":"string"},"nameserver":{"$ref":"#/definitions/v1Nameserver","description":"Nameserver provide information for dns resolvation"},"prefix":{"description":"Prefix is the mask of the network as integer (max 128)","format":"int32","type":"integer"},"start":{"description":"Start is the first ip address that can be rendered","type":"string"},"subnet":{"description":"Subnet is used to validate that the rendered IP is in bounds. eg: 192.168.0.0/24 If Start value is not given, start value is derived from the subnet ip incremented by 1 (start value is `192.168.0.1` for subnet `192.168.0.0/24`)","type":"string"}},"type":"object"},"v1PriceRange":{"description":"tier price range","properties":{"discount":{"format":"int64","type":"number"},"startFrom":{"format":"float64","type":"number"},"unitAmount":{"format":"float64","type":"number"},"upTo":{"format":"float64","type":"number"},"upToInfinity":{"type":"boolean"}}},"v1PrivateCloudRateConfig":{"description":"Private cloud rate config","properties":{"cpuUnitPricePerHour":{"format":"float64","type":"number"},"gpuUnitPricePerHour":{"format":"float64","type":"number"},"memoryUnitPriceGiBPerHour":{"format":"float64","type":"number"},"storageUnitPriceGiBPerHour":{"format":"float64","type":"number"}}},"v1ProductUsage":{"description":"Product usage","properties":{"alloyUsage":{"$ref":"#/definitions/v1SystemProductUsage"},"pureUsage":{"$ref":"#/definitions/v1SystemProductUsage"}}},"v1ProfileMetaEntity":{"description":"Cluster profile metadata request payload","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMetaInputEntity"},"spec":{"$ref":"#/definitions/v1ClusterProfileSpecEntity"}},"required":["metadata"],"type":"object"},"v1ProfileResolvedValues":{"description":"Cluster profile resolved pack values","properties":{"resolved":{"additionalProperties":{"type":"string"},"description":"Cluster profile pack resolved values","type":"object"},"uid":{"description":"Cluster profile uid","type":"string"}}},"v1ProfileStatus":{"properties":{"hasUserMacros":{"description":"If it is true then profile pack values has a reference to user defined macros","type":"boolean","x-omitempty":false}},"type":"object"},"v1ProfileTemplateSummary":{"description":"Edge host clusterprofile template summary","properties":{"cloudType":{"type":"string"},"name":{"type":"string"},"packs":{"items":{"$ref":"#/definitions/v1PackRefSummary"},"type":"array"},"type":{"type":"string"},"uid":{"type":"string"},"version":{"type":"string"}},"type":"object"},"v1ProfileType":{"default":"cluster","enum":["cluster","infra","add-on","system"],"type":"string"},"v1Project":{"description":"Project information","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1ProjectSpec"},"status":{"$ref":"#/definitions/v1ProjectStatus"}},"type":"object"},"v1ProjectActiveAppDeployment":{"description":"Active app deployment","properties":{"appRef":{"$ref":"#/definitions/v1ObjectEntity"},"state":{"type":"string"}},"type":"object"},"v1ProjectActiveAppDeployments":{"description":"Active app deployment","properties":{"apps":{"items":{"$ref":"#/definitions/v1ProjectActiveAppDeployment"},"type":"array"},"count":{"format":"int32","type":"integer"}},"type":"object"},"v1ProjectActiveCluster":{"description":"Active clusters","properties":{"clusterRef":{"$ref":"#/definitions/v1ObjectEntity"},"state":{"type":"string"}},"type":"object"},"v1ProjectActiveClusters":{"description":"Active clusters","properties":{"clusters":{"items":{"$ref":"#/definitions/v1ProjectActiveCluster"},"type":"array"},"count":{"format":"int32","type":"integer"}},"type":"object"},"v1ProjectActiveResources":{"description":"Active project resources","properties":{"appDeployments":{"$ref":"#/definitions/v1ProjectActiveAppDeployments"},"clusters":{"$ref":"#/definitions/v1ProjectActiveClusters"},"virtualClusters":{"$ref":"#/definitions/v1ProjectActiveClusters"}},"type":"object"},"v1ProjectAlertComponent":{"description":"Project alert component","properties":{"description":{"type":"string"},"name":{"type":"string"},"supportedChannels":{"items":{"type":"string"},"type":"array"}},"type":"object"},"v1ProjectAlertComponents":{"description":"Supported project alerts component","properties":{"components":{"items":{"$ref":"#/definitions/v1ProjectAlertComponent"},"type":"array"}},"type":"object"},"v1ProjectCleanUpStatus":{"description":"Project cleanup status","properties":{"cleanedResources":{"items":{"type":"string"},"type":"array"},"msg":{"type":"string"},"state":{"type":"string"}},"type":"object"},"v1ProjectCleanup":{"description":"Project delete request payload","properties":{"deletingClusterDurationThresholdInMin":{"format":"int32","type":"integer"},"provisioningClusterDurationThresholdInMin":{"format":"int32","type":"integer"}}},"v1ProjectClusterSettings":{"properties":{"nodesAutoRemediationSetting":{"$ref":"#/definitions/v1NodesAutoRemediationSettings"},"tenantClusterSettings":{"$ref":"#/definitions/v1TenantClusterSettings"}}},"v1ProjectEntity":{"description":"Project information","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1ProjectEntitySpec"}},"type":"object"},"v1ProjectEntitySpec":{"description":"Project specifications","properties":{"logoUid":{"type":"string"},"teams":{"items":{"$ref":"#/definitions/v1TeamRoleMap"},"type":"array","uniqueItems":true},"users":{"items":{"$ref":"#/definitions/v1UserRoleMap"},"type":"array","uniqueItems":true}}},"v1ProjectFilterSortFields":{"enum":["name","creationTimestamp","lastModifiedTimestamp"],"type":"string","x-nullable":true},"v1ProjectFilterSortSpec":{"properties":{"field":{"$ref":"#/definitions/v1ProjectFilterSortFields"},"order":{"$ref":"#/definitions/v1SortOrder"}}},"v1ProjectFilterSpec":{"description":"Project filter spec","properties":{"name":{"$ref":"#/definitions/v1FilterString"}}},"v1ProjectMeta":{"properties":{"name":{"type":"string"},"uid":{"type":"string"}},"type":"object"},"v1ProjectMetadata":{"description":"Project metadata","properties":{"metadata":{"$ref":"#/definitions/v1ObjectEntity"}}},"v1ProjectPatch":{"items":{"$ref":"#/definitions/v1HttpPatch"},"type":"array"},"v1ProjectResourceUsage":{"description":"project resource usage","properties":{"alloyCpuCoreHours":{"type":"number","x-omitempty":false},"project":{"$ref":"#/definitions/v1ProjectMeta"},"pureCpuCoreHours":{"type":"number","x-omitempty":false}}},"v1ProjectRolesEntity":{"properties":{"projects":{"items":{"$ref":"#/definitions/v1UidRoleSummary"},"type":"array"}},"type":"object"},"v1ProjectRolesPatch":{"properties":{"projects":{"items":{"properties":{"projectUid":{"type":"string"},"roles":{"items":{"type":"string"},"type":"array"}},"type":"object"},"type":"array"}},"type":"object"},"v1ProjectSpec":{"description":"Project specifications","properties":{"alerts":{"items":{"$ref":"#/definitions/v1Alert"},"type":"array","uniqueItems":true},"logoUrl":{"type":"string"},"teams":{"items":{"$ref":"#/definitions/v1TeamRoleMap"},"type":"array","uniqueItems":true},"users":{"items":{"$ref":"#/definitions/v1UserRoleMap"},"type":"array","uniqueItems":true}}},"v1ProjectSpecSummary":{"properties":{"logoUrl":{"type":"string"},"teams":{"items":{"$ref":"#/definitions/v1UidSummary"},"type":"array"},"users":{"items":{"$ref":"#/definitions/v1UidSummary"},"type":"array"}},"type":"object"},"v1ProjectStatus":{"description":"Project status","properties":{"cleanUpStatus":{"$ref":"#/definitions/v1ProjectCleanUpStatus"},"isDisabled":{"type":"boolean"}}},"v1ProjectStatusSummary":{"description":"Project status summary","properties":{"clustersHealth":{"$ref":"#/definitions/v1SpectroClustersHealth"},"status":{"$ref":"#/definitions/v1ProjectStatus"},"usage":{"$ref":"#/definitions/v1ProjectUsageSummary"}},"type":"object"},"v1ProjectSummary":{"description":"Project summary","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"specSummary":{"$ref":"#/definitions/v1ProjectSpecSummary","description":"Project spec summary"},"status":{"$ref":"#/definitions/v1ProjectStatusSummary","description":"Project status summary"}},"type":"object"},"v1ProjectTeamsEntity":{"properties":{"teams":{"items":{"$ref":"#/definitions/v1TeamRoleMap"},"type":"array","uniqueItems":true}}},"v1ProjectUsage":{"description":"Project usage object","properties":{"alloy":{"$ref":"#/definitions/v1ProjectUsageData"},"pure":{"$ref":"#/definitions/v1ProjectUsageData"}}},"v1ProjectUsageData":{"description":"Project usage data object","properties":{"amount":{"description":"Billing amount for the project","format":"float64","type":"number"},"tierPrice":{"description":"Tier price based on the usage","format":"float64","type":"number"},"usedCredits":{"description":"Project used credits","format":"float64","type":"number"}}},"v1ProjectUsageSummary":{"description":"Project usage summary","properties":{"alloyCpuCores":{"type":"number","x-omitempty":false},"clusters":{"items":{"$ref":"#/definitions/v1ClusterUsageSummary"},"type":"array"},"pureCpuCores":{"type":"number","x-omitempty":false}},"type":"object"},"v1ProjectUsersEntity":{"properties":{"users":{"items":{"$ref":"#/definitions/v1UserRoleMap"},"type":"array","uniqueItems":true}}},"v1Projects":{"properties":{"items":{"items":{"$ref":"#/definitions/v1Project"},"type":"array","uniqueItems":true},"listmeta":{"$ref":"#/definitions/v1ListMetaData"}},"required":["items"],"type":"object"},"v1ProjectsFilterSpec":{"description":"Project filter summary spec","properties":{"filter":{"$ref":"#/definitions/v1ProjectFilterSpec"},"sort":{"items":{"$ref":"#/definitions/v1ProjectFilterSortSpec"},"type":"array","uniqueItems":true}}},"v1ProjectsMetadata":{"properties":{"items":{"items":{"$ref":"#/definitions/v1ProjectMetadata"},"type":"array","uniqueItems":true}},"required":["items"],"type":"object"},"v1ProjectsSummary":{"properties":{"items":{"items":{"$ref":"#/definitions/v1ProjectSummary"},"type":"array","uniqueItems":true},"listmeta":{"$ref":"#/definitions/v1ListMetaData"}},"required":["items"],"type":"object"},"v1ProjectsWorkspaces":{"description":"List projects and its workspaces","properties":{"name":{"type":"string"},"uid":{"type":"string"},"workspaces":{"items":{"$ref":"#/definitions/v1WorkspacesRoles"},"type":"array","uniqueItems":true}}},"v1PublicCloudRateConfig":{"description":"Public cloud rate config","properties":{"computeOptimized":{"$ref":"#/definitions/v1CloudInstanceRateConfig"},"memoryOptimized":{"$ref":"#/definitions/v1CloudInstanceRateConfig"}}},"v1RateConfig":{"description":"Rate config","properties":{"aws":{"$ref":"#/definitions/v1PublicCloudRateConfig"},"azure":{"$ref":"#/definitions/v1PublicCloudRateConfig"},"coxedge":{"$ref":"#/definitions/v1PublicCloudRateConfig"},"custom":{"items":{"$ref":"#/definitions/v1CustomCloudRateConfig"},"type":"array","uniqueItems":true},"edge":{"$ref":"#/definitions/v1PrivateCloudRateConfig"},"edgeNative":{"$ref":"#/definitions/v1PrivateCloudRateConfig"},"gcp":{"$ref":"#/definitions/v1PublicCloudRateConfig"},"generic":{"$ref":"#/definitions/v1PrivateCloudRateConfig"},"libvirt":{"$ref":"#/definitions/v1PrivateCloudRateConfig"},"maas":{"$ref":"#/definitions/v1PrivateCloudRateConfig"},"openstack":{"$ref":"#/definitions/v1PrivateCloudRateConfig"},"vsphere":{"$ref":"#/definitions/v1PrivateCloudRateConfig"}}},"v1RegistriesMetadata":{"description":"Pack Registries Metadata","properties":{"items":{"items":{"$ref":"#/definitions/v1RegistryMetadata"},"type":"array","uniqueItems":true}},"required":["items"],"type":"object"},"v1RegistryAuth":{"description":"Auth credentials of the registry","properties":{"password":{"format":"password","type":"string"},"tls":{"$ref":"#/definitions/v1TlsConfiguration"},"token":{"format":"password","type":"string"},"type":{"enum":["noAuth","basic","token"],"type":"string"},"username":{"type":"string"}},"type":"object"},"v1RegistryConf":{"description":"Registry configuration","properties":{"auth":{"$ref":"#/definitions/v1RegistryAuth"},"endpoint":{"type":"string"}},"type":"object"},"v1RegistryConfigEntity":{"description":"Registry configuration entity","properties":{"config":{"$ref":"#/definitions/v1RegistryConfiguration"}},"type":"object"},"v1RegistryConfiguration":{"description":"Registry configuration","properties":{"auth":{"$ref":"#/definitions/v1RegistryAuth"},"endpoint":{"type":"string"},"name":{"type":"string"}},"type":"object"},"v1RegistryMetadata":{"description":"Registry meta","properties":{"isDefault":{"type":"boolean","x-omitempty":false},"isPrivate":{"type":"boolean","x-omitempty":false},"kind":{"type":"string"},"name":{"type":"string"},"scope":{"type":"string"},"uid":{"type":"string"}},"type":"object"},"v1RegistryPackMetadata":{"description":"Registry metadata information","properties":{"annotations":{"additionalProperties":{"type":"string"},"description":"Pack annotations is used to allow pack to add more arbitrary configurations","type":"object"},"latestPackUid":{"description":"Latest pack uid","type":"string"},"latestVersion":{"description":"Pack latest version","type":"string"},"logoUrl":{"description":"Pack logo url","type":"string"},"name":{"description":"Pack registry name","type":"string"},"scope":{"description":"Pack registry scope","type":"string"},"uid":{"description":"Pack registry uid","type":"string"}}},"v1RegistrySyncStatus":{"description":"Status of the registry sync","properties":{"lastRunTime":{"$ref":"#/definitions/v1Time"},"lastSyncedTime":{"$ref":"#/definitions/v1Time"},"message":{"type":"string"},"status":{"type":"string"}},"type":"object"},"v1RelatedObject":{"description":"Object for which the resource is related","properties":{"kind":{"enum":["spectrocluster","machine","cloudconfig","clusterprofile","pack","appprofile","appdeployment","edgehost"],"type":"string"},"name":{"type":"string"},"uid":{"type":"string"}},"type":"object"},"v1ReleaseDescription":{"description":"spectro application management release description","properties":{"details":{"type":"string"},"title":{"type":"string"},"version":{"type":"string"}}},"v1ReleaseVersion":{"description":"spectro application management release version information","properties":{"date":{"$ref":"#/definitions/v1Time"},"description":{"type":"string"},"releaseNotes":{"items":{"$ref":"#/definitions/v1ReleaseDescription"},"type":"array"},"version":{"type":"string"}}},"v1ResourceCloudCostSummary":{"description":"Resource cloud cost summary information","properties":{"data":{"items":{"$ref":"#/definitions/v1CloudCostDataPoint"},"type":"array","uniqueItems":true},"entity":{"$ref":"#/definitions/v1ResourceReference"},"total":{"$ref":"#/definitions/v1ResourceTotalCloudCost"}},"type":"object"},"v1ResourceConsumption":{"description":"Resource consumption information","properties":{"associatedResources":{"items":{"$ref":"#/definitions/v1ResourceReference"},"type":"array"},"data":{"items":{"$ref":"#/definitions/v1ResourceConsumptionDataPoint"},"type":"array","uniqueItems":true},"entity":{"$ref":"#/definitions/v1ResourceReference"},"total":{"$ref":"#/definitions/v1ResourceTotalConsumptionData"}},"type":"object"},"v1ResourceConsumptionData":{"description":"Resource cosumption data","properties":{"cpu":{"format":"float64","type":"number","x-omitempty":false},"memory":{"format":"float64","type":"number","x-omitempty":false}},"type":"object"},"v1ResourceConsumptionDataPoint":{"description":"Resource cosumption data point","properties":{"allotted":{"$ref":"#/definitions/v1ResourceConsumptionData"},"timestamp":{"format":"int64","type":"number"},"usage":{"$ref":"#/definitions/v1ResourceConsumptionData"}},"type":"object"},"v1ResourceConsumptionFilter":{"description":"Resource consumption filter","properties":{"clouds":{"items":{"type":"string"},"type":"array","uniqueItems":true},"clusters":{"items":{"type":"string"},"type":"array","uniqueItems":true},"endTime":{"$ref":"#/definitions/v1Time"},"includeMasterMachines":{"type":"boolean"},"namespaces":{"items":{"type":"string"},"type":"array","uniqueItems":true},"projects":{"items":{"type":"string"},"type":"array","uniqueItems":true},"startTime":{"$ref":"#/definitions/v1Time"},"workspaces":{"items":{"type":"string"},"type":"array","uniqueItems":true}},"type":"object"},"v1ResourceConsumptionOptions":{"description":"Resource consumption options","properties":{"enableSummaryView":{"default":true,"type":"boolean"},"groupBy":{"default":"namespace","enum":["tenant","project","workspace","cluster","namespace","cloud"],"type":"string"},"period":{"default":60,"format":"int32","type":"integer"}},"type":"object"},"v1ResourceConsumptionSpec":{"description":"Resource consumption spec","properties":{"filter":{"$ref":"#/definitions/v1ResourceConsumptionFilter"},"options":{"$ref":"#/definitions/v1ResourceConsumptionOptions"}},"type":"object"},"v1ResourceCost":{"description":"Resource Cost information","properties":{"cloud":{"$ref":"#/definitions/v1CloudCost"},"total":{"format":"float64","type":"number","x-omitempty":false}},"type":"object"},"v1ResourceCostDataPoint":{"description":"Resource cost data point","properties":{"cpu":{"format":"float64","type":"number","x-omitempty":false},"memory":{"format":"float64","type":"number","x-omitempty":false},"storage":{"format":"float64","type":"number","x-omitempty":false},"timestamp":{"format":"int64","type":"number"},"total":{"format":"float64","type":"number","x-omitempty":false}},"type":"object"},"v1ResourceCostSummary":{"description":"Resource cost summary information","properties":{"associatedResources":{"items":{"$ref":"#/definitions/v1ResourceReference"},"type":"array"},"data":{"items":{"$ref":"#/definitions/v1ResourceCostDataPoint"},"type":"array","uniqueItems":true},"entity":{"$ref":"#/definitions/v1ResourceReference"},"total":{"$ref":"#/definitions/v1ResourceTotalCost"}},"type":"object"},"v1ResourceCostSummaryFilter":{"description":"Resource cost summary filter","properties":{"clouds":{"items":{"type":"string"},"type":"array","uniqueItems":true},"clusters":{"items":{"type":"string"},"type":"array","uniqueItems":true},"endTime":{"$ref":"#/definitions/v1Time"},"includeMasterMachines":{"type":"boolean"},"namespaces":{"items":{"type":"string"},"type":"array","uniqueItems":true},"projects":{"items":{"type":"string"},"type":"array","uniqueItems":true},"startTime":{"$ref":"#/definitions/v1Time"},"workspaces":{"items":{"type":"string"},"type":"array","uniqueItems":true}},"type":"object"},"v1ResourceCostSummaryOptions":{"description":"Resource cost summary options","properties":{"enableSummaryView":{"default":true,"type":"boolean"},"groupBy":{"default":"cluster","enum":["tenant","project","workspace","cluster","namespace","deployment","cloud"],"type":"string"},"period":{"default":60,"format":"int32","type":"integer"}},"type":"object"},"v1ResourceCostSummarySpec":{"description":"Resource cost summary spec","properties":{"filter":{"$ref":"#/definitions/v1ResourceCostSummaryFilter"},"options":{"$ref":"#/definitions/v1ResourceCostSummaryOptions"}},"type":"object"},"v1ResourceEntity":{"properties":{"checks":{"items":{"type":"string"},"type":"array"},"data":{"additionalProperties":{"type":"object"},"type":"object"}},"type":"object"},"v1ResourceGroup":{"description":"Azure resource Group is a container that holds related resources for an Azure solution","properties":{"id":{"description":"The ID of the resource group","type":"string"},"location":{"description":"The location of the resource group. It cannot be changed after the resource group has been created","type":"string"},"name":{"description":"The type of the resource group","type":"string"}},"type":"object"},"v1ResourceLimitType":{"enum":["user","project","apiKey","team","role","cloudaccount","clusterprofile","workspace","registry","privategateway","location","certificate","macro","sshkey","alert","spectrocluster","edgehost","appprofile","appdeployment","edgetoken","clustergroup","filter","systemadmin"],"type":"string"},"v1ResourceReference":{"properties":{"kind":{"type":"string"},"name":{"type":"string"},"uid":{"type":"string"}},"required":["uid"],"type":"object"},"v1ResourceRoles":{"properties":{"resourceRoles":{"items":{"$ref":"#/definitions/v1ResourceRolesEntity"},"type":"array"}},"type":"object"},"v1ResourceRolesEntity":{"properties":{"filterRefs":{"items":{"$ref":"#/definitions/v1UidSummary"},"type":"array"},"projectUids":{"items":{"$ref":"#/definitions/v1UidSummary"},"type":"array"},"roles":{"items":{"$ref":"#/definitions/v1UidSummary"},"type":"array"},"uid":{"type":"string"}},"type":"object"},"v1ResourceRolesUpdateEntity":{"properties":{"filterRefs":{"items":{"type":"string"},"type":"array"},"projectUids":{"items":{"type":"string"},"type":"array"},"roles":{"items":{"type":"string"},"type":"array"}},"type":"object"},"v1ResourceTotalCloudCost":{"description":"Resource total cloud cost information","properties":{"compute":{"format":"float64","type":"number","x-omitempty":false},"storage":{"format":"float64","type":"number","x-omitempty":false},"total":{"format":"float64","type":"number","x-omitempty":false}},"type":"object"},"v1ResourceTotalConsumptionData":{"description":"Resource total cosumption data","properties":{"allotted":{"$ref":"#/definitions/v1ResourceConsumptionData"},"usage":{"$ref":"#/definitions/v1ResourceConsumptionData"}},"type":"object"},"v1ResourceTotalCost":{"description":"Resource total cost information","properties":{"cpu":{"format":"float64","type":"number","x-omitempty":false},"memory":{"format":"float64","type":"number","x-omitempty":false},"storage":{"format":"float64","type":"number","x-omitempty":false},"total":{"format":"float64","type":"number","x-omitempty":false}},"type":"object"},"v1ResourceUsage":{"description":"ResourceUsage","properties":{"projects":{"items":{"$ref":"#/definitions/v1ProjectResourceUsage"},"type":"array","uniqueItems":true},"timestamp":{"$ref":"#/definitions/v1Time","description":"resource usage time"},"totalAlloyCpuCoreHours":{"type":"number","x-omitempty":false},"totalPureCpuCoreHours":{"type":"number","x-omitempty":false}}},"v1ResourceUsageDataPoint":{"description":"Resource usage data point","properties":{"baremetal":{"$ref":"#/definitions/v1ResourceUsageMeteringDataPoint"},"cpu":{"format":"float64","type":"number","x-omitempty":false},"edgehost":{"$ref":"#/definitions/v1ResourceUsageMeteringDataPoint"},"memory":{"format":"float64","type":"number","x-omitempty":false},"timestamp":{"format":"int64","type":"number"}},"type":"object"},"v1ResourceUsageMeteringDataPoint":{"description":"min and max count for machines \u0026 edgehost for the given period","properties":{"activeEdgehosts":{"format":"int64","type":"number"},"activeMachines":{"format":"int64","type":"number"},"maxEdgehosts":{"format":"int64","type":"number"},"maxMachines":{"format":"int64","type":"number"}},"type":"object"},"v1ResourceUsageSummary":{"description":"Resource usage summary information","properties":{"associatedResources":{"items":{"$ref":"#/definitions/v1ResourceReference"},"type":"array"},"data":{"items":{"$ref":"#/definitions/v1ResourceUsageDataPoint"},"type":"array","uniqueItems":true},"entity":{"$ref":"#/definitions/v1ResourceReference"}},"type":"object"},"v1ResourceUsageSummaryFilter":{"description":"Resource usage summary filter","properties":{"clouds":{"items":{"type":"string"},"type":"array","uniqueItems":true},"clusters":{"items":{"type":"string"},"type":"array","uniqueItems":true},"endTime":{"$ref":"#/definitions/v1Time"},"includeMasterMachines":{"type":"boolean"},"namespaces":{"items":{"type":"string"},"type":"array","uniqueItems":true},"pods":{"items":{"type":"string"},"type":"array","uniqueItems":true},"projects":{"items":{"type":"string"},"type":"array","uniqueItems":true},"startTime":{"$ref":"#/definitions/v1Time"},"workload":{"$ref":"#/definitions/v1ResourceWorkloadFilter"},"workspaces":{"items":{"type":"string"},"type":"array","uniqueItems":true}},"type":"object"},"v1ResourceUsageSummaryOptions":{"description":"Resource usage summary options","properties":{"enableSummaryView":{"default":true,"type":"boolean"},"groupBy":{"default":"cluster","enum":["tenant","project","workspace","cluster","namespace","deployment","statefulset","daemonset","pod","cloud"],"type":"string"},"includeMeteringInfo":{"default":false,"type":"boolean"},"period":{"default":60,"format":"int32","type":"integer"}},"type":"object"},"v1ResourceUsageSummarySpec":{"description":"Resource usage summary spec","properties":{"filter":{"$ref":"#/definitions/v1ResourceUsageSummaryFilter"},"options":{"$ref":"#/definitions/v1ResourceUsageSummaryOptions"}},"type":"object"},"v1ResourceWorkloadFilter":{"description":"Workload resource filter","properties":{"names":{"items":{"type":"string"},"type":"array","uniqueItems":true},"type":{"default":"all","enum":["deployment","statefulset","daemonset","all"],"type":"string"}},"type":"object"},"v1Resources":{"properties":{"resources":{"additionalProperties":{"$ref":"#/definitions/v1ResourceEntity","type":"object"},"type":"object"}},"type":"object"},"v1ResourcesCloudCostSummary":{"description":"Resources cloud cost summary information","properties":{"resources":{"items":{"$ref":"#/definitions/v1ResourceCloudCostSummary"},"type":"array"},"total":{"$ref":"#/definitions/v1ResourceTotalCloudCost"}},"type":"object"},"v1ResourcesConsumption":{"description":"Resources consumption information","properties":{"cpuUnit":{"type":"string"},"memoryUnit":{"type":"string"},"resources":{"items":{"$ref":"#/definitions/v1ResourceConsumption"},"type":"array"},"total":{"$ref":"#/definitions/v1ResourceTotalConsumptionData"}},"type":"object"},"v1ResourcesCostSummary":{"description":"Resources cost summary information","properties":{"resources":{"items":{"$ref":"#/definitions/v1ResourceCostSummary"},"type":"array"},"total":{"$ref":"#/definitions/v1ResourceTotalCost"}},"type":"object"},"v1ResourcesUsageSummary":{"description":"Resources usage summary information","properties":{"cpuUnit":{"type":"string"},"memoryUnit":{"type":"string"},"resources":{"items":{"$ref":"#/definitions/v1ResourceUsageSummary"},"type":"array"}},"type":"object"},"v1RestoreStatusMeta":{"description":"Restore status meta","properties":{"isSucceeded":{"type":"boolean"},"msg":{"type":"string"},"restoreTime":{"$ref":"#/definitions/v1Time"}}},"v1Role":{"description":"Role","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1RoleSpec"},"status":{"$ref":"#/definitions/v1RoleStatus"}}},"v1RoleClone":{"description":"Role clone specifications","properties":{"metadata":{"$ref":"#/definitions/v1RoleCloneMetadata"}}},"v1RoleCloneMetadata":{"description":"Role clone metadata","properties":{"name":{"type":"string"}}},"v1RolePatch":{"items":{"$ref":"#/definitions/v1HttpPatch"},"type":"array"},"v1RoleSpec":{"description":"Role specifications","properties":{"permissions":{"items":{"type":"string"},"type":"array","uniqueItems":true},"scope":{"$ref":"#/definitions/v1Scope"},"type":{"enum":["system","user"],"type":"string"}}},"v1RoleStatus":{"description":"Role status","properties":{"isEnabled":{"description":"Specifies if role account is enabled/disabled","type":"boolean","x-omitempty":false}}},"v1Roles":{"description":"Array of Roles","properties":{"items":{"items":{"$ref":"#/definitions/v1Role"},"type":"array","uniqueItems":true},"listmeta":{"$ref":"#/definitions/v1ListMetaData"}},"required":["items"],"type":"object"},"v1S3StorageConfig":{"description":"S3 storage config object","properties":{"bucketName":{"description":"S3 storage bucket name","type":"string"},"caCert":{"description":"CA Certificate","type":"string"},"credentials":{"$ref":"#/definitions/v1AwsCloudAccount","description":"AWS cloud account credentials"},"region":{"description":"AWS region name","type":"string"},"s3ForcePathStyle":{"default":true,"type":"boolean"},"s3Url":{"description":"Custom hosted S3 URL","type":"string"},"useRestic":{"default":true,"description":"Set to 'true', to use Restic plugin for the backup","type":"boolean"}},"required":["bucketName","region","credentials"],"type":"object"},"v1SchedulerJob":{"properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta","type":"object","x-omitempty":false},"spec":{"properties":{"cycles":{"type":"integer","x-omitempty":false},"interval":{"type":"integer","x-omitempty":false}},"type":"object"},"status":{"properties":{"cycleNumber":{"type":"integer","x-omitempty":false},"error":{"type":"string","x-omitempty":false},"forceNextRun":{"type":"boolean","x-omitempty":false},"isActive":{"type":"boolean","x-omitempty":false},"isDisabled":{"type":"boolean","x-omitempty":false},"isLocked":{"type":"boolean","x-omitempty":false},"lastRunTime":{"$ref":"#/definitions/v1Time","x-omitempty":false},"lastSuccessfulRunTime":{"$ref":"#/definitions/v1Time","x-omitempty":false},"nextRunTime":{"$ref":"#/definitions/v1Time","x-omitempty":false}},"type":"object"}},"type":"object"},"v1SchedulerJobs":{"items":{"$ref":"#/definitions/v1SchedulerJob"},"type":"array","uniqueItems":true},"v1SchedulerJobsHealth":{"items":{"$ref":"#/definitions/v1SchedulerJob"},"type":"array","uniqueItems":true},"v1Scope":{"enum":["system","tenant","project","resource"],"type":"string"},"v1SearchFilterBoolCondition":{"properties":{"value":{"type":"boolean"}}},"v1SearchFilterCondition":{"properties":{"bool":{"$ref":"#/definitions/v1SearchFilterBoolCondition"},"date":{"$ref":"#/definitions/v1SearchFilterDateCondition"},"float":{"$ref":"#/definitions/v1SearchFilterFloatCondition"},"int":{"$ref":"#/definitions/v1SearchFilterIntegerCondition"},"keyValue":{"$ref":"#/definitions/v1SearchFilterKeyValueCondition"},"string":{"$ref":"#/definitions/v1SearchFilterStringCondition"}}},"v1SearchFilterConjunctionOperator":{"enum":["and","or"],"type":"string","x-nullable":true},"v1SearchFilterDateCondition":{"properties":{"match":{"$ref":"#/definitions/v1SearchFilterDateConditionMatch"},"negation":{"type":"boolean"},"operator":{"$ref":"#/definitions/v1SearchFilterDateOperator"}}},"v1SearchFilterDateConditionMatch":{"properties":{"conjunction":{"$ref":"#/definitions/v1SearchFilterConjunctionOperator"},"values":{"items":{"$ref":"#/definitions/v1Time"},"type":"array","uniqueItems":true}}},"v1SearchFilterDateOperator":{"enum":["eq","gt","gte","lt","lte","range"],"type":"string"},"v1SearchFilterFloatCondition":{"properties":{"match":{"$ref":"#/definitions/v1SearchFilterFloatConditionMatch"},"negation":{"type":"boolean"},"operator":{"$ref":"#/definitions/v1SearchFilterIntegerOperator"}}},"v1SearchFilterFloatConditionMatch":{"properties":{"conjunction":{"$ref":"#/definitions/v1SearchFilterConjunctionOperator"},"values":{"items":{"format":"float64","type":"number"},"type":"array","uniqueItems":true}}},"v1SearchFilterGroup":{"properties":{"conjunction":{"$ref":"#/definitions/v1SearchFilterConjunctionOperator"},"filters":{"items":{"$ref":"#/definitions/v1SearchFilterItem"},"type":"array","uniqueItems":true}}},"v1SearchFilterIntegerCondition":{"properties":{"match":{"$ref":"#/definitions/v1SearchFilterIntegerConditionMatch"},"negation":{"type":"boolean"},"operator":{"$ref":"#/definitions/v1SearchFilterIntegerOperator"}}},"v1SearchFilterIntegerConditionMatch":{"properties":{"conjunction":{"$ref":"#/definitions/v1SearchFilterConjunctionOperator"},"values":{"items":{"type":"integer"},"type":"array","uniqueItems":true}}},"v1SearchFilterIntegerOperator":{"enum":["eq","gt","gte","lt","lte"],"type":"string"},"v1SearchFilterItem":{"properties":{"condition":{"$ref":"#/definitions/v1SearchFilterCondition"},"property":{"type":"string"},"type":{"$ref":"#/definitions/v1SearchFilterPropertyType"}}},"v1SearchFilterKeyValueCondition":{"properties":{"ignoreCase":{"type":"boolean"},"key":{"type":"string"},"match":{"$ref":"#/definitions/v1SearchFilterKeyValueConditionMatch"},"negation":{"type":"boolean"},"operator":{"$ref":"#/definitions/v1SearchFilterStringOperator"}}},"v1SearchFilterKeyValueConditionMatch":{"properties":{"conjunction":{"$ref":"#/definitions/v1SearchFilterConjunctionOperator"},"values":{"items":{"type":"string"},"type":"array","uniqueItems":true}}},"v1SearchFilterKeyValueOperator":{"enum":["eq"],"type":"string"},"v1SearchFilterPropertyType":{"enum":["string","int","float","bool","date","keyValue"],"type":"string"},"v1SearchFilterSchemaSpec":{"properties":{"schema":{"$ref":"#/definitions/v1SearchFilterSchemaSpecProperties"}}},"v1SearchFilterSchemaSpecEnumValue":{"properties":{"displayValue":{"type":"string"},"value":{"type":"string"}}},"v1SearchFilterSchemaSpecProperties":{"properties":{"properties":{"items":{"$ref":"#/definitions/v1SearchFilterSchemaSpecProperty"},"type":"array"}}},"v1SearchFilterSchemaSpecProperty":{"properties":{"default":{"type":"string","x-order":6},"displayName":{"type":"string","x-order":2},"enum":{"items":{"type":"string"},"type":"array","x-omitempty":true,"x-order":4},"enumValues":{"items":{"$ref":"#/definitions/v1SearchFilterSchemaSpecEnumValue"},"type":"array","x-omitempty":true,"x-order":5},"hideDisplay":{"type":"boolean","x-order":1},"maxFloatVal":{"format":"float64","type":"number","x-order":10},"maxIntVal":{"format":"int32","type":"integer","x-order":8},"minFloatVal":{"format":"float64","type":"number","x-order":9},"minIntVal":{"format":"int32","type":"integer","x-order":7},"name":{"type":"string","x-order":0},"type":{"type":"string","x-order":3}}},"v1SearchFilterSortSpec":{"properties":{"field":{"$ref":"#/definitions/v1SearchSortFields"},"order":{"$ref":"#/definitions/v1SortOrder"}}},"v1SearchFilterSpec":{"properties":{"conjunction":{"$ref":"#/definitions/v1SearchFilterConjunctionOperator"},"filterGroups":{"items":{"$ref":"#/definitions/v1SearchFilterGroup"},"type":"array","uniqueItems":true}}},"v1SearchFilterStringCondition":{"properties":{"ignoreCase":{"type":"boolean"},"match":{"$ref":"#/definitions/v1SearchFilterStringConditionMatch"},"negation":{"type":"boolean"},"operator":{"$ref":"#/definitions/v1SearchFilterStringOperator"}}},"v1SearchFilterStringConditionMatch":{"properties":{"conjunction":{"$ref":"#/definitions/v1SearchFilterConjunctionOperator"},"values":{"items":{"type":"string"},"type":"array","uniqueItems":true}}},"v1SearchFilterStringOperator":{"enum":["eq","contains","beginsWith"],"type":"string"},"v1SearchFilterSummarySpec":{"description":"Spectro cluster search filter summary spec","properties":{"filter":{"$ref":"#/definitions/v1SearchFilterSpec"},"sort":{"items":{"$ref":"#/definitions/v1SearchFilterSortSpec"},"type":"array","uniqueItems":true}}},"v1SearchSortFields":{"enum":["environment","clusterName","clusterState","healthState","creationTimestamp","lastModifiedTimestamp"],"type":"string","x-nullable":true},"v1SectroClusterK8sDashboardUrl":{"description":"Service version information","properties":{"url":{"type":"string"}},"type":"object"},"v1ServiceEncryptionKey":{"description":"Returns the data encryption key for the session","properties":{"encryptionKey":{"description":"Encryption key to be used to decrypt the encrypted data in the response","type":"string"}},"type":"object"},"v1ServiceImage":{"description":"Service image entity","properties":{"buildId":{"type":"string"},"image":{"type":"string"},"serviceName":{"type":"string"},"version":{"type":"string"}},"type":"object"},"v1ServiceManifest":{"description":"Service manifest information","properties":{"apiVersion":{"description":"Deprecated. Not used for the resource info.","type":"string"},"kind":{"description":"Deprecated. Not used for the resource info.","type":"string"},"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1ServiceManifestSpec"}},"type":"object"},"v1ServiceManifestSpec":{"properties":{"manifests":{"items":{"$ref":"#/definitions/v1GitRepoFileContent"},"type":"array","uniqueItems":true},"name":{"type":"string"},"version":{"type":"string"}},"type":"object"},"v1ServicePort":{"properties":{"port":{"description":"The port that will be exposed by this service.","format":"int32","type":"integer"},"protocol":{"type":"string"}},"required":["port"],"type":"object"},"v1ServiceSpec":{"description":"ServiceSpec defines the specification of service registering edge","properties":{"name":{"type":"string"},"version":{"type":"string"}},"type":"object"},"v1ServiceVersion":{"description":"Service version information","properties":{"apiVersion":{"description":"Deprecated. Not used for the resource info.","type":"string"},"kind":{"description":"Deprecated. Not used for the resource info.","type":"string"},"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1ServiceVersionSpec"}},"type":"object"},"v1ServiceVersionSpec":{"properties":{"latestVersion":{"$ref":"#/definitions/v1GitRepoFileContent"},"name":{"type":"string"}},"type":"object"},"v1ServicesImages":{"properties":{"serviceImages":{"items":{"$ref":"#/definitions/v1ServiceImage"},"type":"array","uniqueItems":true}},"type":"object"},"v1SonobuoyEntity":{"description":"Sonobuoy response","properties":{"reports":{"additionalProperties":{"$ref":"#/definitions/v1SonobuoyReportEntity"},"type":"object"},"requestUid":{"type":"string"},"status":{"enum":["Completed","InProgress","Failed","Initiated"],"type":"string"}},"required":["requestUid","status","reports"]},"v1SonobuoyLog":{"description":"Compliance Scan Sonobuoy Log","properties":{"description":{"type":"string"},"msg":{"type":"string"},"output":{"type":"string"},"path":{"type":"string"},"state":{"type":"string"}}},"v1SonobuoyLogEntity":{"description":"Sonobuoy log","properties":{"description":{"type":"string"},"msg":{"type":"string"},"output":{"type":"string"},"path":{"type":"string"},"state":{"type":"string"}}},"v1SonobuoyReport":{"description":"Compliance Scan Sonobuoy Report","properties":{"fail":{"format":"int32","type":"integer"},"logs":{"items":{"$ref":"#/definitions/v1SonobuoyLog"},"type":"array"},"node":{"type":"string"},"pass":{"format":"int32","type":"integer"},"plugin":{"type":"string"},"status":{"type":"string"},"total":{"format":"int32","type":"integer"}}},"v1SonobuoyReportEntity":{"description":"Sonobuoy report","properties":{"fail":{"format":"int32","type":"integer"},"logs":{"items":{"$ref":"#/definitions/v1SonobuoyLogEntity"},"type":"array"},"node":{"type":"string"},"pass":{"format":"int32","type":"integer"},"plugin":{"type":"string"},"status":{"type":"string"},"total":{"format":"int32","type":"integer"}}},"v1SortOrder":{"default":"asc","enum":["asc","desc"],"type":"string"},"v1SpcApply":{"properties":{"actionType":{"enum":["DownloadAndInstall","DownloadAndInstallLater"],"type":"string"},"canBeApplied":{"description":"If it is true then Agent can apply the changes to the palette","type":"boolean","x-omitempty":false},"crdDigest":{"type":"string"},"lastModifiedTime":{"$ref":"#/definitions/v1Time"},"patchAppliedTime":{"$ref":"#/definitions/v1Time"},"spcHash":{"type":"string"},"spcInfraHash":{"type":"string"}},"type":"object"},"v1SpcApplySettings":{"properties":{"actionType":{"enum":["DownloadAndInstall","DownloadAndInstallLater"],"type":"string"}},"type":"object"},"v1SpcPatchTimeEntity":{"properties":{"clusterHash":{"type":"string"},"patchTime":{"$ref":"#/definitions/v1Time"}},"type":"object"},"v1SpectroAppMgmtUpgrade":{"description":"Spectro application management upgrade information","properties":{"profiles":{"items":{"$ref":"#/definitions/v1ClusterProfileNotificationUpdateEntity"},"type":"array","uniqueItems":true},"version":{"type":"string"}},"required":["version"],"type":"object"},"v1SpectroAwsClusterEntity":{"description":"AWS cluster request payload for create and update","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"properties":{"cloudAccountUid":{"description":"Cloud account uid to be used for cluster provisioning","type":"string"},"cloudConfig":{"$ref":"#/definitions/v1AwsClusterConfig"},"clusterConfig":{"$ref":"#/definitions/v1ClusterConfigEntity","description":"General cluster configuration like health, patching settings, namespace resource allocation, rbac"},"machinepoolconfig":{"items":{"$ref":"#/definitions/v1AwsMachinePoolConfigEntity"},"type":"array"},"policies":{"$ref":"#/definitions/v1SpectroClusterPolicies"},"profiles":{"items":{"$ref":"#/definitions/v1SpectroClusterProfileEntity"},"type":"array"}},"required":["cloudType","cloudAccountUid","cloudConfig"],"type":"object"}},"type":"object"},"v1SpectroAwsClusterImportEntity":{"description":"Spectro AWS cluster import request payload","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMetaInputEntity"},"spec":{"properties":{"clusterConfig":{"$ref":"#/definitions/v1ImportClusterConfig"}},"type":"object"}},"type":"object"},"v1SpectroAwsClusterRateEntity":{"description":"Spectro AWS cluster request payload for estimating rate","properties":{"cloudConfig":{"$ref":"#/definitions/v1AwsClusterConfig"},"machinepoolconfig":{"items":{"$ref":"#/definitions/v1AwsMachinePoolConfigEntity"},"type":"array"}},"type":"object"},"v1SpectroAzureClusterEntity":{"description":"Azure cluster request payload for create and update","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"properties":{"cloudAccountUid":{"description":"Cloud account uid to be used for cluster provisioning","type":"string"},"cloudConfig":{"$ref":"#/definitions/v1AzureClusterConfig"},"clusterConfig":{"$ref":"#/definitions/v1ClusterConfigEntity","description":"General cluster configuration like health, patching settings, namespace resource allocation, rbac"},"machinepoolconfig":{"items":{"$ref":"#/definitions/v1AzureMachinePoolConfigEntity"},"type":"array"},"policies":{"$ref":"#/definitions/v1SpectroClusterPolicies"},"profiles":{"items":{"$ref":"#/definitions/v1SpectroClusterProfileEntity"},"type":"array"}},"required":["cloudType","cloudAccountUid","cloudConfig"],"type":"object"}},"type":"object"},"v1SpectroAzureClusterImportEntity":{"description":"Spectro Azure cluster import request payload","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMetaInputEntity"},"spec":{"properties":{"clusterConfig":{"$ref":"#/definitions/v1ImportClusterConfig"}},"type":"object"}},"type":"object"},"v1SpectroAzureClusterRateEntity":{"description":"Spectro Azure cluster request payload for estimating rate","properties":{"cloudConfig":{"$ref":"#/definitions/v1AzureClusterConfig"},"machinepoolconfig":{"items":{"$ref":"#/definitions/v1AzureMachinePoolConfigEntity"},"type":"array"}},"type":"object"},"v1SpectroCluster":{"description":"SpectroCluster is the Schema for the spectroclusters API","properties":{"apiVersion":{"description":"Deprecated. Not used for the resource info. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources","type":"string"},"kind":{"description":"Cloud type of the cloud config","type":"string"},"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1SpectroClusterSpec"},"status":{"$ref":"#/definitions/v1SpectroClusterStatus"}},"type":"object"},"v1SpectroClusterActiveAppDeployment":{"description":"Active app deployment","properties":{"appRef":{"$ref":"#/definitions/v1ObjectEntity"},"state":{"type":"string"}},"type":"object"},"v1SpectroClusterActiveCluster":{"description":"Active clusters","properties":{"clusterRef":{"$ref":"#/definitions/v1ObjectEntity"},"state":{"type":"string"}},"type":"object"},"v1SpectroClusterActiveResources":{"description":"Active cluster resources","properties":{"appDeployments":{"items":{"$ref":"#/definitions/v1SpectroClusterActiveAppDeployment"},"type":"array"},"clusters":{"items":{"$ref":"#/definitions/v1SpectroClusterActiveCluster"},"type":"array"},"virtualClusters":{"items":{"$ref":"#/definitions/v1SpectroClusterActiveCluster"},"type":"array"}},"type":"object"},"v1SpectroClusterAddOnService":{"description":"Spectro cluster addon service","properties":{"endpoint":{"type":"string"},"name":{"type":"string"}}},"v1SpectroClusterAddOnServiceSummary":{"description":"Spectro cluster status summary","properties":{"endpoint":{"type":"string"},"name":{"type":"string"}}},"v1SpectroClusterAssetEntity":{"description":"Cluster asset","properties":{"spec":{"properties":{"frpKubeconfig":{"type":"string"},"kubeconfig":{"type":"string"},"kubeconfigclient":{"type":"string"},"manifest":{"type":"string"}},"type":"object"}},"type":"object"},"v1SpectroClusterAssetFrpKubeConfig":{"description":"Cluster asset Frp Kube Config","properties":{"frpKubeconfig":{"type":"string"}},"type":"object"},"v1SpectroClusterAssetKubeConfig":{"description":"Cluster asset Kube Config","properties":{"kubeconfig":{"type":"string"}},"type":"object"},"v1SpectroClusterAssetKubeConfigClient":{"description":"Cluster asset Kube Config Client","properties":{"kubeconfigclient":{"type":"string"}},"type":"object"},"v1SpectroClusterAssetManifest":{"description":"Cluster asset","properties":{"manifest":{"type":"string"}},"type":"object"},"v1SpectroClusterCloudCost":{"description":"Spectro cluster cloud cost information","properties":{"cost":{"$ref":"#/definitions/v1ResourceCost"},"data":{"items":{"$ref":"#/definitions/v1CloudCostDataPoint"},"type":"array"}},"type":"object"},"v1SpectroClusterCloudCostSummaryFilter":{"description":"Spectro cluster cloud cost summary filter","properties":{"clouds":{"items":{"type":"string"},"type":"array","uniqueItems":true},"endTime":{"$ref":"#/definitions/v1Time"},"projects":{"items":{"type":"string"},"type":"array","uniqueItems":true},"startTime":{"$ref":"#/definitions/v1Time"},"workspaces":{"items":{"type":"string"},"type":"array","uniqueItems":true}},"type":"object"},"v1SpectroClusterCloudCostSummaryOptions":{"description":"Spectro cluster cloud cost summary options","properties":{"groupBy":{"default":"project","enum":["tenant","project","cloud","cluster"],"type":"string"},"period":{"default":1440,"format":"int32","type":"integer"}},"type":"object"},"v1SpectroClusterCloudCostSummarySpec":{"description":"Spectro cluster cloud cost summary spec","properties":{"filter":{"$ref":"#/definitions/v1SpectroClusterCloudCostSummaryFilter"},"options":{"$ref":"#/definitions/v1SpectroClusterCloudCostSummaryOptions"}},"type":"object"},"v1SpectroClusterCost":{"description":"Spectro cluster cost information","properties":{"cloud":{"$ref":"#/definitions/v1SpectroClusterCloudCost"},"cost":{"$ref":"#/definitions/v1ResourceCost"},"name":{"type":"string"},"uid":{"type":"string"}},"type":"object"},"v1SpectroClusterCostSummary":{"properties":{"cluster":{"$ref":"#/definitions/v1SpectroClusterCost"},"endTime":{"$ref":"#/definitions/v1Time"},"period":{"format":"int32","type":"integer"},"startTime":{"$ref":"#/definitions/v1Time"}},"type":"object"},"v1SpectroClusterFilterSpec":{"description":"Spectro cluster filter spec","properties":{"cloudAccounts":{"items":{"type":"string"},"type":"array","uniqueItems":true},"clusterName":{"$ref":"#/definitions/v1FilterString"},"clusterProfiles":{"items":{"type":"string"},"type":"array","uniqueItems":true},"clusterState":{"$ref":"#/definitions/v1ClusterState","description":"Deprecated. Use clusterStates"},"clusterStates":{"items":{"$ref":"#/definitions/v1ClusterState"},"type":"array","uniqueItems":true},"cpuUsage":{"$ref":"#/definitions/v1FilterIntRange"},"environment":{"description":"Deprecated. Use environments","items":{"type":"string"},"type":"array","uniqueItems":true},"environments":{"items":{"type":"string"},"type":"array","uniqueItems":true},"healthState":{"default":"all","enum":["all","Healthy","UnHealthy"],"type":"string"},"isDeleted":{"default":false,"type":"boolean"},"isHostCluster":{"default":false,"type":"boolean","x-omitempty":false},"memoryUsage":{"$ref":"#/definitions/v1FilterNumberRange"},"metricPeriod":{"default":60,"description":"Metric period in minutes defines latest metrics by period","format":"int32","type":"integer"},"projectUids":{"items":{"type":"string"},"type":"array","uniqueItems":true},"tags":{"$ref":"#/definitions/v1FilterArray"}}},"v1SpectroClusterHealthCheck":{"properties":{"spec":{"$ref":"#/definitions/v1SpectroClusterHealthCheckSpec","type":"object"},"status":{"$ref":"#/definitions/v1SpectroClusterHealthCheckStatus","type":"object"}},"type":"object"},"v1SpectroClusterHealthCheckSpec":{"properties":{"name":{"type":"string"},"orgName":{"type":"string"},"ownerName":{"type":"string"},"ownerUid":{"type":"string"},"tenantUid":{"type":"string"}},"type":"object"},"v1SpectroClusterHealthCheckStatus":{"properties":{"machineHealthChecks":{"items":{"$ref":"#/definitions/v1HealthCheck"},"type":"array"},"msgBrokerHealthChecks":{"items":{"$ref":"#/definitions/v1HealthCheck"},"type":"array"},"spectroClusterHealthChecks":{"items":{"$ref":"#/definitions/v1HealthCheck"},"type":"array"}},"type":"object"},"v1SpectroClusterHealthCondition":{"description":"Spectro cluster health condition","properties":{"message":{"type":"string"},"relatedObject":{"$ref":"#/definitions/v1RelatedObject","type":"object"},"type":{"type":"string"}}},"v1SpectroClusterHealthStatus":{"description":"Spectro cluster health status","properties":{"agentVersion":{"type":"string"},"conditions":{"items":{"$ref":"#/definitions/v1SpectroClusterHealthCondition"},"type":"array","uniqueItems":true},"lastHeartBeatTimestamp":{"$ref":"#/definitions/v1Time"},"state":{"type":"string"}}},"v1SpectroClusterKubeCtlRedirect":{"description":"Active resources of tenant","properties":{"redirectUri":{"type":"string"}},"type":"object"},"v1SpectroClusterLocationInputEntity":{"description":"Cluster location","properties":{"location":{"$ref":"#/definitions/v1ClusterLocation"}},"type":"object"},"v1SpectroClusterMetaSummary":{"description":"Spectro cluster meta summary","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"specSummary":{"description":"Spectro cluster meta summary","properties":{"archType":{"description":"Architecture type of the cluster","items":{"default":"amd64","enum":["arm64","amd64"],"type":"string"},"type":"array"},"cloudAccountUid":{"type":"string"},"cloudRegion":{"type":"string"},"cloudType":{"type":"string"},"clusterType":{"type":"string"},"importMode":{"type":"string"},"location":{"$ref":"#/definitions/v1ClusterMetaSpecLocation"},"projectMeta":{"$ref":"#/definitions/v1ProjectMeta"},"tags":{"items":{"type":"string"},"type":"array"}},"type":"object"},"status":{"description":"Spectro cluster meta status summary","properties":{"cost":{"$ref":"#/definitions/v1ClusterMetaStatusCost"},"fips":{"$ref":"#/definitions/v1ClusterFips"},"health":{"$ref":"#/definitions/v1ClusterMetaStatusHealth"},"state":{"type":"string"},"updates":{"$ref":"#/definitions/v1ClusterMetaStatusUpdates"}}}},"type":"object"},"v1SpectroClusterMetadataFilterSpec":{"description":"Spectro cluster filter spec","properties":{"environment":{"type":"string"},"includeVirtual":{"default":false,"type":"boolean"},"isAlloy":{"default":false,"description":"isAlloy is renamed to isImported","type":"boolean"},"isImportReadOnly":{"default":true,"type":"boolean"},"isImported":{"default":false,"type":"boolean"},"name":{"$ref":"#/definitions/v1FilterString"},"state":{"type":"string"}}},"v1SpectroClusterMetadataSpec":{"description":"Spectro cluster metadata spec","properties":{"filter":{"$ref":"#/definitions/v1SpectroClusterMetadataFilterSpec"},"sort":{"enum":["environment","state","name"],"type":"string","x-nullable":true}}},"v1SpectroClusterMetrics":{"description":"Spectro cluster metrics","properties":{"cpu":{"$ref":"#/definitions/v1ComputeMetrics"},"memory":{"$ref":"#/definitions/v1ComputeMetrics"}}},"v1SpectroClusterMigration":{"description":"Spectro cluster migration status","properties":{"database":{"$ref":"#/definitions/v1MgmtMigrationStatuses"},"state":{"type":"string","x-omitempty":false},"tenant":{"$ref":"#/definitions/v1SpectroTenantMigration"}},"type":"object"},"v1SpectroClusterNotifications":{"description":"Spectro cluster notifications","properties":{"isAvailable":{"type":"boolean","x-omitempty":false}}},"v1SpectroClusterOidcClaims":{"properties":{"Email":{"type":"string","x-omitempty":false},"FirstName":{"type":"string","x-omitempty":false},"LastName":{"type":"string","x-omitempty":false},"SpectroTeam":{"type":"string","x-omitempty":false}},"type":"object"},"v1SpectroClusterOidcSpec":{"properties":{"clientId":{"type":"string","x-omitempty":false},"clientSecret":{"type":"string","x-omitempty":false},"issuerUrl":{"description":"the issuer is the URL identifier for the service","type":"string","x-omitempty":false},"requiredClaims":{"$ref":"#/definitions/v1SpectroClusterOidcClaims"},"scopes":{"items":{"type":"string"},"type":"array","x-omitempty":false}},"type":"object"},"v1SpectroClusterPackCondition":{"properties":{"message":{"type":"string"},"reason":{"type":"string"},"status":{"type":"string"},"type":{"enum":["ReadyForInstall","Installed","Ready","Error","UpgradeAvailable","WaitingForOtherLayers"],"type":"string"}},"type":"object"},"v1SpectroClusterPackConfigList":{"properties":{"items":{"items":{"$ref":"#/definitions/v1PackConfig"},"type":"array","uniqueItems":true}},"required":["items"],"type":"object"},"v1SpectroClusterPackDiff":{"description":"Cluster pack difference","properties":{"current":{"$ref":"#/definitions/v1PackRef"},"diffConfigKeys":{"items":{"type":"string"},"type":"array"},"target":{"$ref":"#/definitions/v1PackRef"}},"type":"object"},"v1SpectroClusterPackProperties":{"description":"Cluster pack properties response","properties":{"yaml":{"type":"string","x-omitempty":false}},"type":"object"},"v1SpectroClusterPackStatusEntity":{"properties":{"condition":{"$ref":"#/definitions/v1SpectroClusterPackCondition","description":"Pack deployment status conditions"},"endTime":{"$ref":"#/definitions/v1Time","description":"Pack deployment end time"},"name":{"description":"Pack name","type":"string"},"profileUid":{"description":"Cluster profile uid","type":"string"},"startTime":{"$ref":"#/definitions/v1Time","description":"Pack deployment start time"},"type":{"$ref":"#/definitions/v1PackType"},"version":{"description":"pack version","type":"string"}},"type":"object"},"v1SpectroClusterPacksEntity":{"description":"Cluster entity for pack refs validate","properties":{"profiles":{"items":{"$ref":"#/definitions/v1SpectroClusterProfileEntity"},"type":"array"}},"type":"object"},"v1SpectroClusterPacksStatusEntity":{"properties":{"packs":{"items":{"$ref":"#/definitions/v1SpectroClusterPackStatusEntity"},"type":"array"}},"type":"object"},"v1SpectroClusterPolicies":{"description":"Cluster policies","properties":{"backupPolicy":{"$ref":"#/definitions/v1ClusterBackupConfig"},"scanPolicy":{"$ref":"#/definitions/v1ClusterComplianceScheduleConfig"}},"type":"object"},"v1SpectroClusterProfile":{"description":"Cluster profile response","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1SpectroClusterProfileSpec"}},"type":"object"},"v1SpectroClusterProfileEntity":{"description":"Cluster profile request payload","properties":{"packValues":{"description":"Cluster profile packs array","items":{"$ref":"#/definitions/v1PackValuesEntity"},"type":"array","uniqueItems":true},"replaceWithProfile":{"description":"Cluster profile uid to be replaced with new profile","type":"string"},"uid":{"description":"Cluster profile uid","type":"string"}},"type":"object"},"v1SpectroClusterProfileList":{"properties":{"profiles":{"items":{"$ref":"#/definitions/v1SpectroClusterProfile"},"type":"array"}},"required":["profiles"],"type":"object"},"v1SpectroClusterProfileSpec":{"description":"Cluster profile spec response","properties":{"cloudType":{"description":"Cluster profile cloud type","type":"string"},"packs":{"description":"Cluster profile packs array","items":{"$ref":"#/definitions/v1ClusterProfilePacksEntity"},"type":"array","uniqueItems":true},"relatedObject":{"$ref":"#/definitions/v1ObjectReference","description":"RelatedObject refers to the type of object(clustergroup, cluster or edgeHost) the cluster profile is associated with"},"type":{"description":"Cluster profile type [ \"cluster\", \"infra\", \"add-on\", \"system\" ]","type":"string"},"version":{"description":"Cluster profile version","format":"int32","type":"integer"}},"type":"object"},"v1SpectroClusterProfileUpdates":{"properties":{"profiles":{"items":{"$ref":"#/definitions/v1ClusterProfileTemplate"},"type":"array","uniqueItems":true}},"type":"object"},"v1SpectroClusterProfileValidatorResponse":{"description":"Cluster profile validator response","properties":{"packs":{"$ref":"#/definitions/v1ConstraintValidatorResponse"},"uid":{"description":"Cluster profile uid","type":"string"}},"type":"object"},"v1SpectroClusterProfiles":{"properties":{"profiles":{"items":{"$ref":"#/definitions/v1SpectroClusterProfileEntity"},"type":"array"},"spcApplySettings":{"$ref":"#/definitions/v1SpcApplySettings"}},"required":["profiles"],"type":"object"},"v1SpectroClusterProfilesDeleteEntity":{"properties":{"profileUids":{"description":"Cluster's profile uid list","items":{"type":"string"},"type":"array","uniqueItems":true}},"type":"object"},"v1SpectroClusterProfilesPacksManifests":{"properties":{"profiles":{"items":{"$ref":"#/definitions/v1ClusterProfilePacksManifests"},"type":"array"}},"required":["profiles"],"type":"object"},"v1SpectroClusterProfilesParamReferenceEntity":{"description":"Cluster profiles param reference entity","properties":{"references":{"items":{"type":"string"},"type":"array","uniqueItems":true}},"type":"object"},"v1SpectroClusterProfilesResolvedValues":{"description":"Cluster profiles resolved values response","properties":{"profiles":{"items":{"$ref":"#/definitions/v1ProfileResolvedValues"},"type":"array","uniqueItems":true}},"type":"object"},"v1SpectroClusterProjectCleanedResource":{"description":"List of cleaned project spectro cluster resources","properties":{"resources":{"items":{"type":"string"},"type":"array"}},"type":"object"},"v1SpectroClusterProjectCleanupValidateEntity":{"description":"Cluster duration thresholds","properties":{"deletingClusterDurationThresholdInMin":{"format":"int32","type":"integer"},"provisioningClusterDurationThresholdInMin":{"format":"int32","type":"integer"}},"type":"object"},"v1SpectroClusterRate":{"description":"Cluster estimated rate information","properties":{"machinePools":{"items":{"$ref":"#/definitions/v1MachinePoolRate"},"type":"array"},"name":{"type":"string"},"rate":{"$ref":"#/definitions/v1TotalClusterRate"},"resourceMetadata":{"$ref":"#/definitions/v1CloudResourceMetadata"}},"type":"object"},"v1SpectroClusterRepave":{"description":"Spectro cluster repave status information","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1SpectroClusterRepaveSpec"},"status":{"$ref":"#/definitions/v1SpectroClusterRepaveStatus"}},"type":"object"},"v1SpectroClusterRepaveReason":{"description":"Cluster repave reason description","properties":{"code":{"type":"string"},"message":{"type":"string"},"pack":{"$ref":"#/definitions/v1SpectroClusterPackDiff"}},"type":"object"},"v1SpectroClusterRepaveSpec":{"properties":{"reasons":{"description":"Spectro cluster repave reasons","items":{"$ref":"#/definitions/v1SpectroClusterRepaveReason"},"type":"array"},"source":{"$ref":"#/definitions/v1ClusterRepaveSource"},"spectroClusterUid":{"type":"string"}},"type":"object"},"v1SpectroClusterRepaveStatus":{"properties":{"message":{"type":"string"},"repaveTransitionTime":{"$ref":"#/definitions/v1Time"},"state":{"$ref":"#/definitions/v1ClusterRepaveState"}},"type":"object"},"v1SpectroClusterRepaveValidationResponse":{"description":"Cluster repave validation response","properties":{"isRepaveRequired":{"description":"If true then the pack changes can cause cluster repave","type":"boolean","x-omitempty":false},"reasons":{"items":{"$ref":"#/definitions/v1SpectroClusterRepaveReason"},"type":"array"}},"type":"object"},"v1SpectroClusterRevision":{"description":"Revision specification details for a cluster","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1SpectroClusterSpec"}},"type":"object"},"v1SpectroClusterRevisionMeta":{"description":"Revision spec uid along with the creationTimestamp for the revision","properties":{"creationTimestamp":{"$ref":"#/definitions/v1Time"},"uid":{"description":"The unique id of the spc revision document","type":"string"}},"type":"object"},"v1SpectroClusterRevisionMetaList":{"properties":{"spcRevisions":{"items":{"$ref":"#/definitions/v1SpectroClusterRevisionMeta"},"type":"array"}},"type":"object"},"v1SpectroClusterSortFields":{"enum":["environment","clusterName","healthState","creationTimestamp","lastModifiedTimestamp"],"type":"string","x-nullable":true},"v1SpectroClusterSortSpec":{"properties":{"field":{"$ref":"#/definitions/v1SpectroClusterSortFields"},"order":{"$ref":"#/definitions/v1SortOrder"}}},"v1SpectroClusterSpec":{"description":"SpectroClusterSpec defines the desired state of SpectroCluster","properties":{"cloudConfigRef":{"$ref":"#/definitions/v1ObjectReference","description":"CloudConfigRef point to the cloud configuration for the cluster, input by user Ref types are: AwsCloudConfig/VsphereCloudConfig/BaremetalConfig/ etc this user config will be used to generate cloud specific cluster/machine spec for cluster-api For VM, it will contain information needed to launch VMs, like cloud account, instance type For BM, it will contain actual baremetal machines"},"cloudType":{"type":"string"},"clusterConfig":{"$ref":"#/definitions/v1ClusterConfig","description":"ClusterConfig is the configuration related to a general cluster. Configuration related to the health of the cluster."},"clusterProfileTemplates":{"description":"When a cluster created from a clusterprofile at t1, ClusterProfileTemplate is a copy of the draft version or latest published version of the clusterprofileSpec.clusterprofileTemplate then clusterprofile may evolve to v2 at t2, but before user decide to upgrade the cluster, it will stay as it is when user decide to upgrade, clusterProfileTemplate will be updated from the clusterprofile pointed by ClusterProfileRef","items":{"$ref":"#/definitions/v1ClusterProfileTemplate"},"type":"array"},"clusterType":{"enum":["PureManage","AlloyMonitor","AlloyAssist","AlloyExtend"],"type":"string"}},"type":"object"},"v1SpectroClusterStatus":{"description":"SpectroClusterStatus","properties":{"abortTimestamp":{"$ref":"#/definitions/v1Time"},"addOnServices":{"items":{"$ref":"#/definitions/v1SpectroClusterAddOnService"},"type":"array"},"apiEndpoints":{"items":{"$ref":"#/definitions/v1APIEndpoint"},"type":"array"},"clusterImport":{"$ref":"#/definitions/v1ClusterImport"},"conditions":{"items":{"$ref":"#/definitions/v1ClusterCondition"},"type":"array"},"fips":{"$ref":"#/definitions/v1ClusterFips"},"location":{"$ref":"#/definitions/v1ClusterLocation"},"packs":{"items":{"$ref":"#/definitions/v1ClusterPackStatus"},"type":"array"},"profileStatus":{"$ref":"#/definitions/v1ProfileStatus"},"repave":{"$ref":"#/definitions/v1ClusterRepaveStatus"},"services":{"items":{"$ref":"#/definitions/v1LoadBalancerService"},"type":"array"},"spcApply":{"$ref":"#/definitions/v1SpcApply"},"state":{"description":"current operational state","type":"string"},"upgrades":{"items":{"$ref":"#/definitions/v1Upgrades"},"type":"array"},"virtual":{"$ref":"#/definitions/v1Virtual"}},"type":"object"},"v1SpectroClusterSummary":{"description":"Spectro cluster summary","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"specSummary":{"description":"Spectro cluster spec summary","properties":{"archTypes":{"description":"Architecture type of the cluster","items":{"$ref":"#/definitions/v1ArchType"},"type":"array"},"cloudAccountMeta":{"$ref":"#/definitions/v1CloudAccountMeta"},"cloudConfig":{"$ref":"#/definitions/v1CloudConfigMeta"},"clusterConfig":{"$ref":"#/definitions/v1ClusterConfigResponse"},"clusterProfileTemplate":{"$ref":"#/definitions/v1ClusterProfileTemplateMeta"},"clusterProfileTemplates":{"items":{"$ref":"#/definitions/v1ClusterProfileTemplateMeta"},"type":"array"},"projectMeta":{"$ref":"#/definitions/v1ProjectMeta"}},"type":"object"},"status":{"description":"Spectro cluster status summary","properties":{"clusterImport":{"$ref":"#/definitions/v1ClusterImport"},"cost":{"$ref":"#/definitions/v1ResourceCost"},"fips":{"$ref":"#/definitions/v1ClusterFips"},"health":{"$ref":"#/definitions/v1SpectroClusterHealthStatus"},"hourlyRate":{"$ref":"#/definitions/v1ResourceCost"},"location":{"$ref":"#/definitions/v1ClusterMetaSpecLocation"},"metrics":{"$ref":"#/definitions/v1SpectroClusterMetrics"},"notifications":{"$ref":"#/definitions/v1SpectroClusterNotifications"},"repave":{"$ref":"#/definitions/v1ClusterRepaveStatus"},"state":{"type":"string"},"virtual":{"$ref":"#/definitions/v1Virtual"}}}},"type":"object"},"v1SpectroClusterSummarySpec":{"description":"Spectro cluster filter summary spec","properties":{"filter":{"$ref":"#/definitions/v1SpectroClusterFilterSpec"},"sort":{"items":{"$ref":"#/definitions/v1SpectroClusterSortSpec"},"type":"array","uniqueItems":true}}},"v1SpectroClusterUidStatusSummary":{"description":"Spectro cluster status summary","properties":{"abortTimestamp":{"$ref":"#/definitions/v1Time"},"addOnServices":{"items":{"$ref":"#/definitions/v1SpectroClusterAddOnServiceSummary"},"type":"array"},"apiEndpoints":{"items":{"$ref":"#/definitions/v1APIEndpoint"},"type":"array"},"clusterImport":{"$ref":"#/definitions/v1ClusterImport"},"conditions":{"items":{"$ref":"#/definitions/v1ClusterCondition"},"type":"array"},"cost":{"$ref":"#/definitions/v1ResourceCost"},"fips":{"$ref":"#/definitions/v1ClusterFips"},"health":{"$ref":"#/definitions/v1SpectroClusterHealthStatus"},"hourlyRate":{"$ref":"#/definitions/v1ResourceCost"},"kubeMeta":{"$ref":"#/definitions/v1KubeMeta"},"location":{"$ref":"#/definitions/v1ClusterMetaSpecLocation"},"metrics":{"$ref":"#/definitions/v1SpectroClusterMetrics"},"notifications":{"$ref":"#/definitions/v1SpectroClusterNotifications"},"packs":{"items":{"$ref":"#/definitions/v1ClusterPackStatus"},"type":"array"},"services":{"items":{"$ref":"#/definitions/v1LoadBalancerService"},"type":"array"},"spcApply":{"$ref":"#/definitions/v1SpcApply"},"state":{"description":"current operational state","type":"string"},"upgrades":{"items":{"$ref":"#/definitions/v1Upgrades"},"type":"array"},"virtual":{"$ref":"#/definitions/v1Virtual"},"workspaces":{"items":{"$ref":"#/definitions/v1ResourceReference"},"type":"array"}}},"v1SpectroClusterUidSummary":{"description":"Spectro cluster summary","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"description":"Spectro cluster spec summary","properties":{"archTypes":{"description":"Architecture types of the cluster","items":{"$ref":"#/definitions/v1ArchType"},"type":"array"},"cloudConfig":{"$ref":"#/definitions/v1CloudConfigMeta"},"cloudaccount":{"$ref":"#/definitions/v1CloudAccountMeta"},"clusterProfileTemplate":{"$ref":"#/definitions/v1ClusterProfileTemplateMeta"},"clusterProfileTemplates":{"items":{"$ref":"#/definitions/v1ClusterProfileTemplateMeta"},"type":"array"}},"type":"object"},"status":{"$ref":"#/definitions/v1SpectroClusterUidStatusSummary"}},"type":"object"},"v1SpectroClusterUidUpgrades":{"description":"Cluster status upgrades","properties":{"upgrades":{"items":{"$ref":"#/definitions/v1Upgrades"},"type":"array"}},"type":"object"},"v1SpectroClusterVMCloneEntity":{"properties":{"annotationFilters":{"description":"Annotation filters","items":{"type":"string"},"type":"array"},"cloneName":{"description":"Cloning Virtual machine's name","type":"string"},"labelFilters":{"description":"Label filters","items":{"type":"string"},"type":"array"},"newMacAddresses":{"additionalProperties":{"type":"string"},"description":"NewMacAddresses manually sets that target interfaces' mac addresses. The key is the interface name and the value is the new mac address. If this field is not specified, a new MAC address will be generated automatically, as for any interface that is not included in this map","type":"object"},"newSMBiosSerial":{"description":"NewSMBiosSerial manually sets that target's SMbios serial. If this field is not specified, a new serial will be generated automatically.","type":"string"}},"required":["cloneName"],"type":"object"},"v1SpectroClusterValidatorResponse":{"description":"Cluster validator response","properties":{"machinePools":{"$ref":"#/definitions/v1ConstraintValidatorResponse"},"profiles":{"items":{"$ref":"#/definitions/v1SpectroClusterProfileValidatorResponse"},"type":"array","uniqueItems":true}},"type":"object"},"v1SpectroClusters":{"properties":{"items":{"items":{"$ref":"#/definitions/v1SpectroCluster"},"type":"array","uniqueItems":true},"listmeta":{"$ref":"#/definitions/v1ListMetaData"}},"required":["items"],"type":"object"},"v1SpectroClustersAgentsNotifyEntity":{"description":"SpectroClusters for which agents has to be notified","properties":{"clusterUids":{"items":{"type":"string"},"type":"array"},"notifyAllClusters":{"type":"boolean"}}},"v1SpectroClustersCostComputeSpec":{"description":"Cluster's cost compute spec","properties":{"clusterUids":{"items":{"type":"string"},"type":"array","uniqueItems":true},"startTime":{"$ref":"#/definitions/v1Time"}},"type":"object"},"v1SpectroClustersHealth":{"description":"Spectro Clusters health data","properties":{"errored":{"format":"int32","type":"integer","x-omitempty":false},"healthy":{"format":"int32","type":"integer","x-omitempty":false},"running":{"format":"int32","type":"integer","x-omitempty":false},"unhealthy":{"format":"int32","type":"integer","x-omitempty":false}},"type":"object"},"v1SpectroClustersMetadata":{"properties":{"items":{"items":{"$ref":"#/definitions/v1ObjectMeta"},"type":"array","uniqueItems":true}},"required":["items"],"type":"object"},"v1SpectroClustersMetadataSearch":{"properties":{"items":{"items":{"$ref":"#/definitions/v1SpectroClusterMetaSummary"},"type":"array","uniqueItems":true},"listmeta":{"$ref":"#/definitions/v1ListMetaData"}},"required":["items"],"type":"object"},"v1SpectroClustersSummary":{"properties":{"items":{"items":{"$ref":"#/definitions/v1SpectroClusterSummary"},"type":"array","uniqueItems":true},"listmeta":{"$ref":"#/definitions/v1ListMetaData"}},"required":["items"],"type":"object"},"v1SpectroClustersUsageComputeSpec":{"description":"Cluster's usage compute spec","properties":{"clusterUids":{"items":{"type":"string"},"type":"array","uniqueItems":true},"startTime":{"$ref":"#/definitions/v1Time"}},"type":"object"},"v1SpectroCoxEdgeClusterEntity":{"description":"CoxEdge cluster request payload for create and update","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"properties":{"cloudAccountUid":{"description":"Cloud account uid to be used for cluster provisioning","type":"string"},"cloudConfig":{"$ref":"#/definitions/v1CoxEdgeClusterConfig"},"cloudType":{"type":"string"},"clusterConfig":{"$ref":"#/definitions/v1ClusterConfigEntity","description":"General cluster configuration like health, patching settings, namespace resource allocation, rbac"},"machinepoolconfig":{"items":{"$ref":"#/definitions/v1CoxEdgeMachinePoolConfigEntity"},"type":"array"},"policies":{"$ref":"#/definitions/v1SpectroClusterPolicies"},"profiles":{"items":{"$ref":"#/definitions/v1SpectroClusterProfileEntity"},"type":"array"}},"required":["cloudType","cloudAccountUid","cloudConfig"],"type":"object"}},"type":"object"},"v1SpectroCoxEdgeClusterRateEntity":{"description":"Cox Edge cluster request payload for estimating rate","properties":{"cloudConfig":{"$ref":"#/definitions/v1CoxEdgeClusterConfig"},"machinepoolconfig":{"items":{"$ref":"#/definitions/v1CoxEdgeMachinePoolConfigEntity"},"type":"array"}},"type":"object"},"v1SpectroCustomClusterEntity":{"description":"Custom cluster request payload for create and update","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMetaInputEntity"},"spec":{"properties":{"cloudAccountUid":{"description":"Cloud account uid to be used for cluster provisioning","type":"string"},"cloudConfig":{"$ref":"#/definitions/v1CustomClusterConfig"},"clusterConfig":{"$ref":"#/definitions/v1CustomClusterConfigEntity","description":"General cluster configuration like patching settings, namespace resource allocation, rbac"},"machinepoolconfig":{"items":{"$ref":"#/definitions/v1CustomMachinePoolConfigEntity"},"type":"array"},"profiles":{"items":{"$ref":"#/definitions/v1SpectroClusterProfileEntity"},"type":"array"}},"required":["cloudType","cloudAccountUid","cloudConfig"],"type":"object"}},"type":"object"},"v1SpectroEdgeClusterEntity":{"description":"Edge cluster request payload for create and update","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"properties":{"cloudConfig":{"$ref":"#/definitions/v1EdgeClusterConfig"},"clusterConfig":{"$ref":"#/definitions/v1ClusterConfigEntity","description":"General cluster configuration like health, patching settings, namespace resource allocation, rbac"},"machinepoolconfig":{"items":{"$ref":"#/definitions/v1EdgeMachinePoolConfigEntity"},"type":"array"},"policies":{"$ref":"#/definitions/v1SpectroClusterPolicies"},"profiles":{"items":{"$ref":"#/definitions/v1SpectroClusterProfileEntity"},"type":"array"}},"type":"object"}},"type":"object"},"v1SpectroEdgeClusterImportEntity":{"description":"Spectro Edge cluster import request payload","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMetaInputEntity"},"spec":{"properties":{"clusterConfig":{"$ref":"#/definitions/v1ImportClusterConfig"}},"type":"object"}},"type":"object"},"v1SpectroEdgeClusterRateEntity":{"description":"Edge cluster request payload for estimating rate","properties":{"cloudConfig":{"$ref":"#/definitions/v1EdgeClusterConfig"},"machinepoolconfig":{"items":{"$ref":"#/definitions/v1EdgeMachinePoolConfigEntity"},"type":"array"}},"type":"object"},"v1SpectroEdgeNativeClusterEntity":{"description":"EdgeNative cluster create or update request payload","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"properties":{"cloudConfig":{"$ref":"#/definitions/v1EdgeNativeClusterConfig"},"clusterConfig":{"$ref":"#/definitions/v1ClusterConfigParamEntity","description":"General cluster configuration like health, patching settings, namespace resource allocation, rbac"},"machinepoolconfig":{"items":{"$ref":"#/definitions/v1EdgeNativeMachinePoolConfigEntity"},"type":"array"},"policies":{"$ref":"#/definitions/v1SpectroClusterPolicies"},"profiles":{"items":{"$ref":"#/definitions/v1SpectroClusterProfileEntity"},"type":"array"}},"type":"object"}},"type":"object"},"v1SpectroEdgeNativeClusterImportEntity":{"description":"Spectro EdgeNative cluster import request payload","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMetaInputEntity"},"spec":{"properties":{"clusterConfig":{"$ref":"#/definitions/v1ImportClusterConfig"}},"type":"object"}},"type":"object"},"v1SpectroEdgeNativeClusterRateEntity":{"description":"Edge-native cluster request payload for estimating rate","properties":{"cloudConfig":{"$ref":"#/definitions/v1EdgeNativeClusterConfig"},"machinepoolconfig":{"items":{"$ref":"#/definitions/v1EdgeNativeMachinePoolConfigEntity"},"type":"array"}},"type":"object"},"v1SpectroEksClusterEntity":{"description":"Spectro EKS cluster request payload for create and update","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"properties":{"cloudAccountUid":{"description":"Cloud account uid to be used for cluster provisioning","type":"string"},"cloudConfig":{"$ref":"#/definitions/v1EksClusterConfig"},"clusterConfig":{"$ref":"#/definitions/v1ClusterConfigEntity","description":"General cluster configuration like health, patching settings, namespace resource allocation, rbac"},"fargateProfiles":{"items":{"$ref":"#/definitions/v1FargateProfile"},"type":"array"},"machinepoolconfig":{"items":{"$ref":"#/definitions/v1EksMachinePoolConfigEntity"},"type":"array"},"policies":{"$ref":"#/definitions/v1SpectroClusterPolicies"},"profiles":{"items":{"$ref":"#/definitions/v1SpectroClusterProfileEntity"},"type":"array"}},"required":["cloudAccountUid","cloudConfig"],"type":"object"}},"type":"object"},"v1SpectroEksClusterRateEntity":{"description":"Spectro EKS cluster request payload for estimating rate","properties":{"cloudConfig":{"$ref":"#/definitions/v1EksClusterConfig"},"machinepoolconfig":{"items":{"$ref":"#/definitions/v1EksMachinePoolConfigEntity"},"type":"array"}},"type":"object"},"v1SpectroGcpClusterEntity":{"description":"GCP cluster request payload for create and update","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"properties":{"cloudAccountUid":{"description":"Cloud account uid to be used for cluster provisioning","type":"string"},"cloudConfig":{"$ref":"#/definitions/v1GcpClusterConfig"},"clusterConfig":{"$ref":"#/definitions/v1ClusterConfigEntity","description":"General cluster configuration like health, patching settings, namespace resource allocation, rbac"},"machinepoolconfig":{"items":{"$ref":"#/definitions/v1GcpMachinePoolConfigEntity"},"type":"array"},"policies":{"$ref":"#/definitions/v1SpectroClusterPolicies"},"profiles":{"items":{"$ref":"#/definitions/v1SpectroClusterProfileEntity"},"type":"array"}},"required":["cloudType","cloudAccountUid","cloudConfig"],"type":"object"}},"type":"object"},"v1SpectroGcpClusterImportEntity":{"description":"Spectro GCP cluster import request payload","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMetaInputEntity"},"spec":{"properties":{"clusterConfig":{"$ref":"#/definitions/v1ImportClusterConfig"}},"type":"object"}},"type":"object"},"v1SpectroGcpClusterRateEntity":{"description":"Gcp cluster request payload for estimating rate","properties":{"cloudConfig":{"$ref":"#/definitions/v1GcpClusterConfig"},"machinepoolconfig":{"items":{"$ref":"#/definitions/v1GcpMachinePoolConfigEntity"},"type":"array"}},"type":"object"},"v1SpectroGenericClusterImportEntity":{"description":"Spectro generic cluster import request payload","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMetaInputEntity"},"spec":{"properties":{"clusterConfig":{"$ref":"#/definitions/v1ImportClusterConfig"},"edgeConfig":{"$ref":"#/definitions/v1ImportEdgeHostConfig"}},"type":"object"}},"type":"object"},"v1SpectroGenericClusterRateEntity":{"description":"Generic cluster request payload for estimating rate","properties":{"cloudConfig":{"$ref":"#/definitions/v1GenericClusterConfig"},"machinepoolconfig":{"items":{"$ref":"#/definitions/v1GenericMachinePoolConfigEntity"},"type":"array"}},"type":"object"},"v1SpectroInstallerEntity":{"description":"Spectro installer entity for create","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"properties":{"cloudAccountUid":{"type":"string"},"privateGatewayUid":{"type":"string"},"spectroClusterUid":{"type":"string"}},"type":"object"},"status":{"$ref":"#/definitions/v1InstallerStatus"}},"type":"object"},"v1SpectroInstallerInputEntity":{"description":"Spectro installer entity for create","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMetaInputEntity"}},"type":"object"},"v1SpectroInstallerStatus":{"description":"spectro installer status","properties":{"status":{"$ref":"#/definitions/v1InstallerStatus"}},"type":"object"},"v1SpectroInstallers":{"description":"List Spectro installers","properties":{"items":{"items":{"$ref":"#/definitions/v1SpectroInstallerEntity"},"type":"array","uniqueItems":true},"listmeta":{"$ref":"#/definitions/v1ListMetaData"}},"type":"object"},"v1SpectroLibvirtClusterEntity":{"description":"Libvirt cluster request payload for create and update","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"properties":{"cloudConfig":{"$ref":"#/definitions/v1LibvirtClusterConfig"},"clusterConfig":{"$ref":"#/definitions/v1ClusterConfigEntity","description":"General cluster configuration like health, patching settings, namespace resource allocation, rbac"},"machinepoolconfig":{"items":{"$ref":"#/definitions/v1LibvirtMachinePoolConfigEntity"},"type":"array"},"policies":{"$ref":"#/definitions/v1SpectroClusterPolicies"},"profiles":{"items":{"$ref":"#/definitions/v1SpectroClusterProfileEntity"},"type":"array"}},"type":"object"}},"type":"object"},"v1SpectroLibvirtClusterImportEntity":{"description":"Spectro Libvirt cluster import request payload","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMetaInputEntity"},"spec":{"properties":{"clusterConfig":{"$ref":"#/definitions/v1ImportClusterConfig"}},"type":"object"}},"type":"object"},"v1SpectroLibvirtClusterRateEntity":{"description":"libvirt cluster request payload for estimating rate","properties":{"cloudConfig":{"$ref":"#/definitions/v1LibvirtClusterConfig"},"machinepoolconfig":{"items":{"$ref":"#/definitions/v1LibvirtMachinePoolConfigEntity"},"type":"array"}},"type":"object"},"v1SpectroMaasClusterEntity":{"description":"Spectro Maas cluster request payload for create and update","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"properties":{"cloudAccountUid":{"description":"Cloud account uid to be used for cluster provisioning","type":"string"},"cloudConfig":{"$ref":"#/definitions/v1MaasClusterConfig"},"clusterConfig":{"$ref":"#/definitions/v1ClusterConfigEntity","description":"General cluster configuration like health, patching settings, namespace resource allocation, rbac"},"machinepoolconfig":{"items":{"$ref":"#/definitions/v1MaasMachinePoolConfigEntity"},"type":"array"},"policies":{"$ref":"#/definitions/v1SpectroClusterPolicies"},"profiles":{"items":{"$ref":"#/definitions/v1SpectroClusterProfileEntity"},"type":"array"}},"required":["cloudType","cloudAccountUid","cloudConfig"],"type":"object"}},"type":"object"},"v1SpectroMaasClusterImportEntity":{"description":"Spectro maas cluster import request payload","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMetaInputEntity"},"spec":{"properties":{"clusterConfig":{"$ref":"#/definitions/v1ImportClusterConfig"}},"type":"object"}},"type":"object"},"v1SpectroMaasClusterRateEntity":{"description":"Maas cluster request payload for estimating rate","properties":{"cloudConfig":{"$ref":"#/definitions/v1MaasClusterConfig"},"machinepoolconfig":{"items":{"$ref":"#/definitions/v1MaasMachinePoolConfigEntity"},"type":"array"}},"type":"object"},"v1SpectroMgmt":{"description":"Spectro management data","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1SpectroMgmtSpec"},"status":{"$ref":"#/definitions/v1SpectroMgmtStatus"}},"type":"object"},"v1SpectroMgmtSpec":{"description":"spectro management specifications","properties":{"installerMode":{"type":"string"},"spectroClusterUid":{"type":"string"},"targetVersion":{"type":"string"},"version":{"type":"string"}}},"v1SpectroMgmtStatus":{"description":"spectro management status information","properties":{"appVersions":{"items":{"$ref":"#/definitions/v1AppVersion"},"type":"array","uniqueItems":true},"isFailed":{"type":"boolean","x-omitempty":false},"lastUpdatedTime":{"$ref":"#/definitions/v1Time"},"message":{"type":"string"},"messageLogs":{"items":{"type":"string"},"type":"array"},"state":{"type":"string"},"upgradeHistory":{"items":{"$ref":"#/definitions/v1SpectroMgmtUpgrade"},"type":"array","uniqueItems":true}}},"v1SpectroMgmtUpgrade":{"description":"spectro management upgrade logs","properties":{"upgradeTime":{"$ref":"#/definitions/v1Time"},"version":{"type":"string"}}},"v1SpectroMgmtUpgradePack":{"description":"Spectro application management cluster upgrade pack information","properties":{"diffMessage":{"description":"Spectro application management cluster pack difference message","type":"string"},"layer":{"description":"Spectro application management cluster pack layer type","type":"string"},"name":{"description":"Spectro application management cluster pack name","type":"string"},"registryUid":{"description":"Spectro application management cluster pack registry unique identifier","type":"string"},"type":{"description":"Spectro application management cluster pack type","type":"string"},"uid":{"description":"Spectro application management cluster pack unique identifier","type":"string"},"values":{"description":"Spectro application management cluster pack values","type":"string"},"version":{"description":"Spectro application management cluster pack version","type":"string"}},"type":"object"},"v1SpectroMgmtUpgradeProfile":{"description":"Spectro application management cluster upgrade pack information","properties":{"packs":{"description":"Spectro application management cluster upgrade packs","items":{"$ref":"#/definitions/v1SpectroMgmtUpgradePack"},"type":"array"},"uid":{"description":"Spectro application management cluster profile unique identifier","type":"string"}},"type":"object"},"v1SpectroMgmtUpgradeProfiles":{"description":"Spectro application management cluster information","properties":{"profiles":{"description":"Spectro application management cluster profiles","items":{"$ref":"#/definitions/v1SpectroMgmtUpgradeProfile"},"type":"array"},"version":{"description":"Spectro application management cluster version","type":"string"}},"type":"object"},"v1SpectroMgmtUpgradeSpc":{"description":"Spectro application management cluster upgrade profiles","properties":{"current":{"$ref":"#/definitions/v1SpectroMgmtUpgradeProfiles"},"target":{"$ref":"#/definitions/v1SpectroMgmtUpgradeProfiles"}},"type":"object"},"v1SpectroOpenStackClusterEntity":{"description":"OpenStack cluster request payload for create and update","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"properties":{"cloudAccountUid":{"description":"Cloud account uid to be used for cluster provisioning","type":"string"},"cloudConfig":{"$ref":"#/definitions/v1OpenStackClusterConfig"},"clusterConfig":{"$ref":"#/definitions/v1ClusterConfigEntity","description":"General cluster configuration like health, patching settings, namespace resource allocation, rbac"},"machinepoolconfig":{"items":{"$ref":"#/definitions/v1OpenStackMachinePoolConfigEntity"},"type":"array"},"policies":{"$ref":"#/definitions/v1SpectroClusterPolicies"},"profiles":{"items":{"$ref":"#/definitions/v1SpectroClusterProfileEntity"},"type":"array"}},"required":["cloudAccountUid","cloudConfig"],"type":"object"}},"type":"object"},"v1SpectroOpenStackClusterImportEntity":{"description":"Spectro OpenStack cluster import request payload","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMetaInputEntity"},"spec":{"properties":{"clusterConfig":{"$ref":"#/definitions/v1ImportClusterConfig"}},"type":"object"}},"type":"object"},"v1SpectroOpenStackClusterRateEntity":{"description":"Openstack cluster request payload for estimating rate","properties":{"cloudConfig":{"$ref":"#/definitions/v1OpenStackClusterConfig"},"machinepoolconfig":{"items":{"$ref":"#/definitions/v1OpenStackMachinePoolConfigEntity"},"type":"array"}},"type":"object"},"v1SpectroTenantClusterMigration":{"description":"Spectro tenant cluster migration status","properties":{"message":{"type":"string"},"name":{"type":"string"},"state":{"type":"string"},"uid":{"type":"string"}},"type":"object"},"v1SpectroTenantMigration":{"description":"Spectro tenant migration status","properties":{"clusters":{"items":{"$ref":"#/definitions/v1SpectroTenantClusterMigration"},"type":"array","uniqueItems":true},"state":{"type":"string","x-omitempty":false}},"type":"object"},"v1SpectroTencentClusterEntity":{"description":"Tencent cluster request payload for create and update","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"properties":{"cloudAccountUid":{"description":"Cloud account uid to be used for cluster provisioning","type":"string"},"cloudConfig":{"$ref":"#/definitions/v1TencentClusterConfig"},"clusterConfig":{"$ref":"#/definitions/v1ClusterConfigEntity","description":"General cluster configuration like health, patching settings, namespace resource allocation, rbac"},"machinepoolconfig":{"items":{"$ref":"#/definitions/v1TencentMachinePoolConfigEntity"},"type":"array"},"policies":{"$ref":"#/definitions/v1SpectroClusterPolicies"},"profiles":{"items":{"$ref":"#/definitions/v1SpectroClusterProfileEntity"},"type":"array"}},"required":["cloudType","cloudAccountUid","cloudConfig"],"type":"object"}},"type":"object"},"v1SpectroTencentClusterRateEntity":{"description":"Spectro Tencent cluster request payload for estimating rate","properties":{"cloudConfig":{"$ref":"#/definitions/v1TencentClusterConfig"},"machinepoolconfig":{"items":{"$ref":"#/definitions/v1TencentMachinePoolConfigEntity"},"type":"array"}},"type":"object"},"v1SpectroVirtualClusterEntity":{"description":"Spectro virtual cluster request payload for create and update","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"properties":{"cloudConfig":{"$ref":"#/definitions/v1VirtualClusterConfig"},"clusterConfig":{"$ref":"#/definitions/v1ClusterConfigEntity","description":"General cluster configuration like health, patching settings, namespace resource allocation, rbac"},"machinepoolconfig":{"items":{"$ref":"#/definitions/v1VirtualMachinePoolConfigEntity"},"type":"array"},"policies":{"$ref":"#/definitions/v1SpectroClusterPolicies"},"profiles":{"items":{"$ref":"#/definitions/v1SpectroClusterProfileEntity"},"type":"array"}},"required":["cloudType","clusterConfig"],"type":"object"}},"type":"object"},"v1SpectroVsphereClusterEntity":{"description":"vSphere cluster request payload for create and update","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"properties":{"cloudAccountUid":{"description":"Cloud account uid to be used for cluster provisioning","type":"string"},"cloudConfig":{"$ref":"#/definitions/v1VsphereClusterConfigEntity"},"clusterConfig":{"$ref":"#/definitions/v1ClusterConfigEntity","description":"General cluster configuration like health, patching settings, namespace resource allocation, rbac"},"edgeHostUid":{"description":"Appliance (Edge Host) uid for Edge env","type":"string"},"machinepoolconfig":{"items":{"$ref":"#/definitions/v1VsphereMachinePoolConfigEntity"},"type":"array"},"policies":{"$ref":"#/definitions/v1SpectroClusterPolicies"},"profiles":{"items":{"$ref":"#/definitions/v1SpectroClusterProfileEntity"},"type":"array"}},"required":["cloudConfig"],"type":"object"}},"type":"object"},"v1SpectroVsphereClusterImportEntity":{"description":"Spectro Vsphere cluster import request payload","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMetaInputEntity"},"spec":{"properties":{"clusterConfig":{"$ref":"#/definitions/v1ImportClusterConfig"}},"type":"object"}},"type":"object"},"v1SpectroVsphereClusterRateEntity":{"description":"Vsphere cluster request payload for estimating rate","properties":{"cloudConfig":{"$ref":"#/definitions/v1VsphereClusterConfigEntity"},"machinepoolconfig":{"items":{"$ref":"#/definitions/v1VsphereMachinePoolConfigEntity"},"type":"array"}},"type":"object"},"v1SpotMarketOptions":{"description":"SpotMarketOptions defines the options available to a user when configuring Machines to run on Spot instances. Most users should provide an empty struct.","properties":{"maxPrice":{"description":"MaxPrice defines the maximum price the user is willing to pay for Spot VM instances","type":"string"}},"type":"object"},"v1SpotVMOptions":{"description":"SpotVMOptions defines the options relevant to running the Machine on Spot VMs","properties":{"maxPrice":{"description":"MaxPrice defines the maximum price the user is willing to pay for Spot VM instances","type":"string"}},"type":"object"},"v1SsoLogin":{"description":"Describes the allowed sso login details","properties":{"displayName":{"description":"Describes the display name for the sso login","type":"string"},"logo":{"description":"Describes the url path for the sso login","type":"string"},"name":{"description":"Describes the processed name for the sso login","type":"string"},"redirectUri":{"description":"Describes the sso login url for the authentication","type":"string"}},"type":"object"},"v1SsoLogins":{"description":"Describes the allowed sso logins","items":{"$ref":"#/definitions/v1SsoLogin"},"type":"array","uniqueItems":true},"v1StorageAccount":{"description":"Azure storage account provides a unique namespace for your Azure resources","properties":{"id":{"description":"Fully qualified resource ID for the resource","type":"string"},"kind":{"description":"The kind of the resource","type":"string"},"location":{"description":"The geo-location where the resource lives","type":"string"},"name":{"description":"The name of the resource","type":"string"}},"type":"object"},"v1StorageAccountEntity":{"description":"Azure storage account entity","properties":{"id":{"description":"Azure storage account id","type":"string"},"name":{"description":"Azure storage account name","type":"string"}},"type":"object"},"v1StorageContainer":{"description":"Azure storage container organizes a set of blobs, similar to a directory in a file system","properties":{"id":{"description":"Fully qualified resource ID for the resource.","type":"string"},"name":{"description":"The name of the resource","type":"string"},"type":{"description":"The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\"","type":"string"}},"type":"object"},"v1StorageCost":{"description":"Cloud storage cost","properties":{"discountedUsage":{"description":"Cloud storage upper limit which is free.","type":"string"},"price":{"description":"Array of cloud storage range prices","items":{"$ref":"#/definitions/v1StoragePrice"},"type":"array"}},"type":"object"},"v1StoragePrice":{"description":"Cloud storage price within an upper limit.","properties":{"limit":{"description":"Upper limit of cloud storage usage","type":"string"},"price":{"description":"Price of cloud storage type","type":"string"}},"type":"object"},"v1StorageRate":{"description":"Storage estimated rate information","properties":{"iops":{"format":"float64","type":"number"},"rate":{"format":"float64","type":"number","x-omitempty":false},"sizeGB":{"format":"float64","type":"number"},"throughput":{"format":"float64","type":"number"},"type":{"type":"string"}},"type":"object"},"v1StorageType":{"description":"Cloud cloud Storage type details","properties":{"cost":{"$ref":"#/definitions/v1StorageCost"},"iopsCost":{"$ref":"#/definitions/v1StorageCost"},"kind":{"description":"kind of storage type","type":"string"},"name":{"description":"Name of the storage type","type":"string"},"throughputCost":{"$ref":"#/definitions/v1StorageCost"}},"type":"object"},"v1StripeKey":{"description":"Stripe key object","properties":{"publishKey":{"description":"Publish stripe key","type":"string"}}},"v1Subnet":{"properties":{"cidrBlock":{"description":"CidrBlock is the CIDR block to be used when the provider creates a managed Vnet.","type":"string"},"name":{"type":"string"},"securityGroupName":{"description":"Network Security Group(NSG) to be attached to subnet. NSG for a control plane subnet, should allow inbound to port 6443, as port 6443 is used by kubeadm to bootstrap the control planes","type":"string"}},"type":"object"},"v1Subscription":{"description":"Azure Subscription Type","properties":{"authorizationSource":{"description":"The authorization source of the request. Valid values are one or more combinations of Legacy, RoleBased, Bypassed, Direct and Management","type":"string"},"displayName":{"description":"The subscription display name","type":"string"},"state":{"description":"The subscription state. Possible values are Enabled, Warned, PastDue, Disabled, and Deleted.","type":"string"},"subscriptionId":{"description":"The subscription ID","type":"string"}},"type":"object"},"v1SyftDependency":{"description":"Compliance Scan Syft Dependency","properties":{"name":{"type":"string"},"type":{"type":"string"},"version":{"type":"string"}}},"v1SyftDependencyEntity":{"description":"Syft dependency","properties":{"name":{"type":"string"},"type":{"type":"string"},"version":{"type":"string"}}},"v1SyftEntity":{"description":"Syft response","properties":{"report":{"$ref":"#/definitions/v1SyftReportEntity"},"requestUid":{"type":"string"},"status":{"enum":["Completed","InProgress","Failed","Initiated"],"type":"string"}},"required":["requestUid","status","report"]},"v1SyftImageContext":{"description":"Compliance Scan Syft Image Context","properties":{"containerName":{"type":"string"},"namespace":{"type":"string"},"podName":{"type":"string"}}},"v1SyftReport":{"description":"Compliance Scan Syft Report","properties":{"dependencies":{"items":{"$ref":"#/definitions/v1SyftDependency"},"type":"array"},"image":{"type":"string"},"imageContexts":{"items":{"$ref":"#/definitions/v1SyftImageContext"},"type":"array"},"isSBOMExist":{"type":"boolean"},"state":{"type":"string"},"time":{"$ref":"#/definitions/v1Time"},"vulnerabilities":{"items":{"$ref":"#/definitions/v1SyftVulnerability"},"type":"array"},"vulnerabilitySummary":{"$ref":"#/definitions/v1SyftVulnerabilitySummary"}}},"v1SyftReportEntity":{"description":"Syft report","properties":{"batchNo":{"format":"int32","type":"integer"},"batchSize":{"format":"int32","type":"integer"},"dependencies":{"items":{"$ref":"#/definitions/v1SyftDependencyEntity"},"type":"array"},"image":{"type":"string"},"imageContexts":{"items":{"$ref":"#/definitions/v1SyftImageContext"},"type":"array"},"sbom":{"type":"string"},"time":{"$ref":"#/definitions/v1Time"},"vulnerabilities":{"items":{"$ref":"#/definitions/v1SyftVulnerabilityEntity"},"type":"array"},"vulnerabilitySummary":{"$ref":"#/definitions/v1SyftVulnerabilitySummaryEntity"}}},"v1SyftScanContext":{"description":"Compliance Scan Syft Context","properties":{"format":{"type":"string"},"labelSelector":{"type":"string"},"namespace":{"type":"string"},"podName":{"type":"string"},"scope":{"type":"string"}}},"v1SyftVulnerability":{"description":"Compliance Scan Syft Vulnerability","properties":{"fixedIn":{"type":"string"},"installed":{"type":"string"},"name":{"type":"string"},"severity":{"type":"string"},"type":{"type":"string"},"vulnerability":{"type":"string"}}},"v1SyftVulnerabilityEntity":{"description":"Syft vulnerability","properties":{"fixedIn":{"type":"string"},"installed":{"type":"string"},"name":{"type":"string"},"severity":{"type":"string"},"type":{"type":"string"},"vulnerability":{"type":"string"}}},"v1SyftVulnerabilitySummary":{"description":"Compliance Scan Syft Vulnerability Summary","properties":{"critical":{"format":"int32","type":"integer"},"high":{"format":"int32","type":"integer"},"low":{"format":"int32","type":"integer"},"medium":{"format":"int32","type":"integer"},"negligible":{"format":"int32","type":"integer"},"unknown":{"format":"int32","type":"integer"}}},"v1SyftVulnerabilitySummaryEntity":{"description":"Syft vulnerability summary","properties":{"critical":{"format":"int32","type":"integer"},"high":{"format":"int32","type":"integer"},"low":{"format":"int32","type":"integer"},"medium":{"format":"int32","type":"integer"},"negligible":{"format":"int32","type":"integer"},"unknown":{"format":"int32","type":"integer"}}},"v1SysLogin":{"description":"System admin login input","properties":{"emailId":{"type":"string"},"password":{"format":"password","type":"string"},"username":{"type":"string"}},"type":"object"},"v1SysUserToken":{"description":"Auth token response","properties":{"Authorization":{"type":"string"},"IsEmailSet":{"type":"boolean","x-omitempty":false},"IsEmailVerified":{"type":"boolean","x-omitempty":false},"IsMfa":{"type":"boolean","x-omitempty":false},"IsPasswordReset":{"type":"boolean","x-omitempty":false}},"type":"object"},"v1SystemAdmin":{"description":"System Admin information","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1SystemAdministratorSpec"},"status":{"$ref":"#/definitions/v1SystemAdministratorStatus"}},"type":"object"},"v1SystemAdminActivation":{"description":"System Administrator Activation Specification","properties":{"expiry":{"$ref":"#/definitions/v1Time"},"link":{"type":"string"}},"type":"object"},"v1SystemAdminEntity":{"description":"System Admin information","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMetaInputEntity"},"spec":{"$ref":"#/definitions/v1SystemAdministratorSpec"}},"type":"object"},"v1SystemAdminMfa":{"description":"System Administrator MFA configuration","properties":{"devices":{"items":{"type":"string"},"type":"array"},"state":{"type":"string"}},"type":"object"},"v1SystemAdminProfile":{"description":"System Administrator Profile Entity","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMetaInputEntity"},"spec":{"$ref":"#/definitions/v1SystemAdminProfileSpec"}},"type":"object"},"v1SystemAdminProfileSpec":{"description":"System Administrator Profile Specification","properties":{"firstName":{"type":"string"},"lastName":{"type":"string"}},"type":"object"},"v1SystemAdministratorSpec":{"description":"System Administrator Entity Specification","properties":{"adminType":{"enum":["AccountAdmin","OperationAdmin"],"type":"string"},"emailId":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"mfa":{"$ref":"#/definitions/v1SystemAdminMfa","type":"string"}},"required":["firstName","lastName","emailId","adminType"],"type":"object"},"v1SystemAdministratorStatus":{"description":"System Administrator Status","properties":{"activation":{"$ref":"#/definitions/v1SystemAdminActivation"},"createdBy":{"type":"string"},"lastPasswordUpdate":{"$ref":"#/definitions/v1Time"},"lastSignIn":{"$ref":"#/definitions/v1Time"},"state":{"type":"string"}},"type":"object"},"v1SystemAdmins":{"description":"List of System Admin information's","properties":{"items":{"items":{"$ref":"#/definitions/v1SystemAdmin"},"type":"array","uniqueItems":true}},"required":["items"],"type":"object"},"v1SystemAwsAccount":{"description":"SystemAdmin","properties":{"spec":{"$ref":"#/definitions/v1SystemAwsSpec"}},"type":"object"},"v1SystemAwsImage":{"description":"SystemAdmin","properties":{"spec":{"$ref":"#/definitions/v1SystemAwsImageSpec"}},"type":"object"},"v1SystemAwsImageSpec":{"description":"system aws account specifications","properties":{"goldenImageRegion":{"type":"string"}}},"v1SystemAwsSpec":{"description":"system aws account specifications","properties":{"accessKey":{"type":"string"},"secretKey":{"type":"string"}}},"v1SystemAwsStsAccount":{"description":"System AWS Gov account specifications","properties":{"accessKey":{"type":"string"},"accountId":{"type":"string"},"secretKey":{"type":"string"}}},"v1SystemAzureAccount":{"description":"SystemAdmin","properties":{"spec":{"$ref":"#/definitions/v1SystemAzureSpec"}},"type":"object"},"v1SystemAzureSpec":{"description":"system azure account specifications","properties":{"clientId":{"type":"string"},"clientSecret":{"type":"string"},"subscriptionId":{"type":"string"},"tenantId":{"type":"string"}}},"v1SystemAzureStorage":{"description":"SystemAdmin","properties":{"spec":{"$ref":"#/definitions/v1SystemAzureStorageSpec"}},"type":"object"},"v1SystemAzureStorageSpec":{"description":"system aws account specifications","properties":{"accessKey":{"type":"string"},"container":{"type":"string"},"storageName":{"type":"string"}}},"v1SystemBackupConfigSpec":{"description":"system backup config spec","properties":{"ftp":{"$ref":"#/definitions/v1SystemFtpSpec"},"hourOfTheDay":{"type":"integer","x-omitempty":false},"interval":{"type":"integer","x-omitempty":false},"retentionPeriod":{"type":"integer","x-omitempty":false}},"type":"object"},"v1SystemBackupFtpConfigSpec":{"description":"system backup config spec","properties":{"backupSpec":{"$ref":"#/definitions/v1SystemBackupSpec"},"ftp":{"$ref":"#/definitions/v1SystemFtpSpec"}},"type":"object"},"v1SystemBackupS3ConfigSpec":{"description":"system backup config spec","properties":{"backupSpec":{"$ref":"#/definitions/v1SystemBackupSpec"},"s3":{"$ref":"#/definitions/v1SystemS3Spec"}},"type":"object"},"v1SystemBackupSpec":{"description":"system backup config spec","properties":{"hourOfTheDay":{"type":"integer","x-omitempty":false},"interval":{"type":"integer","x-omitempty":false},"retentionPeriod":{"type":"integer","x-omitempty":false}},"type":"object"},"v1SystemCertificateSpec":{"description":"system smtp config spec","properties":{"caCert":{"type":"string"},"crt":{"type":"string"},"insecureSkipVerify":{"type":"boolean"},"key":{"type":"string"}},"type":"object"},"v1SystemConfigAuth":{"description":"System config auth","properties":{"enforceServiceAuthToken":{"type":"boolean","x-omitempty":false},"enforceTlsVerify":{"type":"boolean","x-omitempty":false}}},"v1SystemConfigCluster":{"description":"System config cluster","properties":{"stableEndpointAccess":{"type":"boolean","x-omitempty":false}}},"v1SystemConfigDomainSpec":{"description":"system domain config spec","properties":{"apiServer":{"type":"string"},"derivedApiServer":{"type":"string"},"derivedRootDomain":{"type":"string"},"rootDomain":{"type":"string"},"urlProtocol":{"type":"string"}},"type":"object"},"v1SystemConfigStoreEntity":{"properties":{"key":{"type":"string","x-omitempty":false},"value":{"type":"string","x-omitempty":false}},"required":["key","value"],"type":"object"},"v1SystemCryptoData":{"description":"SystemAdmin","properties":{"input":{"type":"string"},"result":{"type":"string"}},"type":"object"},"v1SystemCryptoInput":{"description":"SystemAdmin","properties":{"input":{"type":"string"}},"type":"object"},"v1SystemEdgeImage":{"description":"SystemAdmin","properties":{"spec":{"$ref":"#/definitions/v1SystemEdgeImageSpec"}},"type":"object"},"v1SystemEdgeImageSpec":{"description":"system edge account specifications","properties":{"caCert":{"type":"string"},"imagesHostEndpoint":{"type":"string"},"insecureSkipVerify":{"type":"boolean"}}},"v1SystemEdgeNativeImage":{"description":"SystemAdmin","properties":{"spec":{"$ref":"#/definitions/v1SystemEdgeNativeImageSpec"}},"type":"object"},"v1SystemEdgeNativeImageSpec":{"description":"system edge-native account specifications","properties":{"caCert":{"type":"string"},"imagesHostEndpoint":{"type":"string"},"insecureSkipVerify":{"type":"boolean"},"stylusImagesEndpoint":{"type":"string"}}},"v1SystemFtpSpec":{"description":"system ftp config spec","properties":{"dir":{"type":"string","x-omitempty":false},"password":{"type":"string","x-omitempty":false},"server":{"type":"string","x-omitempty":false},"username":{"type":"string","x-omitempty":false}},"type":"object"},"v1SystemGcpAccount":{"description":"SystemAdmin","properties":{"spec":{"$ref":"#/definitions/v1SystemGcpSpec"}},"type":"object"},"v1SystemGcpImage":{"description":"SystemAdmin","properties":{"spec":{"$ref":"#/definitions/v1SystemGcpImageSpec"}},"type":"object"},"v1SystemGcpImageSpec":{"description":"system gcp account specifications","properties":{"imageProject":{"type":"string"}}},"v1SystemGcpSpec":{"description":"system gcp account specifications","properties":{"json":{"type":"string"}}},"v1SystemGitAuthSpec":{"description":"system git auth account specifications","properties":{"_type":{"type":"string"},"password":{"type":"string"},"token":{"type":"string"},"username":{"$ref":"#/definitions/v1SystemGitAuthSpec"}}},"v1SystemGithubSsoSpec":{"description":"system sso github config spec","properties":{"clientId":{"type":"string"},"clientSecretKey":{"type":"string"},"isEnabled":{"type":"boolean"},"logoUrl":{"type":"string","x-omitempty":false}},"type":"object"},"v1SystemKubectlSpec":{"description":"system web kubectl config spec","properties":{"endpoint":{"type":"string"},"isEnabled":{"type":"boolean"}},"type":"object"},"v1SystemLibvirtImage":{"description":"SystemAdmin","properties":{"spec":{"$ref":"#/definitions/v1SystemLibvirtImageSpec"}},"type":"object"},"v1SystemLibvirtImageSpec":{"description":"system libvirt account specifications","properties":{"caCert":{"type":"string"},"imagesHostEndpoint":{"type":"string"},"insecureSkipVerify":{"type":"boolean"}}},"v1SystemLoggerSpec":{"description":"system logger config spec","properties":{"format":{"type":"string"},"level":{"type":"string"}},"type":"object"},"v1SystemMaasImage":{"description":"SystemAdmin","properties":{"spec":{"$ref":"#/definitions/v1SystemMaasImageSpec"}},"type":"object"},"v1SystemMaasImageSpec":{"description":"system maas account specifications","properties":{"caCert":{"type":"string"},"imagesHostEndpoint":{"type":"string"},"insecureSkipVerify":{"type":"boolean"}}},"v1SystemOciImageRegistry":{"description":"system web kubectl config spec","properties":{"baseContentPath":{"type":"string"},"caCert":{"type":"string"},"endpoint":{"type":"string"},"insecureSkipVerify":{"type":"boolean"},"mirrorRegistries":{"type":"string"},"name":{"type":"string"},"password":{"type":"string"},"username":{"type":"string"}},"type":"object"},"v1SystemOidcClaims":{"properties":{"Email":{"type":"string","x-omitempty":false},"FirstName":{"type":"string","x-omitempty":false},"LastName":{"type":"string","x-omitempty":false},"SpectroTeam":{"type":"string","x-omitempty":false}},"type":"object"},"v1SystemOidcClientSpec":{"description":"system sso oidc config spec","properties":{"callbackUrl":{"type":"string","x-omitempty":false},"clientId":{"type":"string","x-omitempty":false},"clientSecret":{"type":"string","x-omitempty":false},"isEnabled":{"type":"boolean","x-omitempty":false},"issuerUrl":{"description":"the issuer is the URL identifier for the service","type":"string","x-omitempty":false},"logoUrl":{"type":"string","x-omitempty":false},"requiredClaims":{"$ref":"#/definitions/v1SystemOidcClaims"},"scopes":{"items":{"type":"string"},"type":"array","x-omitempty":false}},"type":"object"},"v1SystemOpenstackImage":{"description":"SystemAdmin","properties":{"spec":{"$ref":"#/definitions/v1SystemOpenstackImageSpec"}},"type":"object"},"v1SystemOpenstackImageSpec":{"description":"system openstack account specifications","properties":{"imagesHostEndpoint":{"type":"string"}}},"v1SystemPasswordPolicySpec":{"description":"system password policy","properties":{"creationTimestamp":{"$ref":"#/definitions/v1Time"},"expiryDurationInDays":{"type":"integer"},"firstReminderInDays":{"type":"integer"},"isRegex":{"type":"boolean"},"minLength":{"type":"integer"},"minNumOfBlockLetters":{"type":"integer"},"minNumOfDigits":{"type":"integer"},"minNumOfSmallLetters":{"type":"integer"},"minNumOfSpecialCharacters":{"type":"integer"},"regex":{"type":"string"},"reminderFrequency":{"type":"integer"},"updateTimestamp":{"$ref":"#/definitions/v1Time"}},"type":"object"},"v1SystemPlan":{"description":"system plan","properties":{"freeCredits":{"items":{"$ref":"#/definitions/v1SystemPlanCredit"},"type":"array"},"planLimit":{"$ref":"#/definitions/v1SystemPlanLimit"},"slaCredits":{"items":{"$ref":"#/definitions/v1SystemPlanCredit"},"type":"array"},"systemStartDate":{"$ref":"#/definitions/v1Time"}}},"v1SystemPlanCredit":{"description":"Plan Credit","properties":{"cpuCoreHours":{"format":"int64","type":"number","x-omitempty":false},"creditUid":{"type":"string"},"expiry":{"$ref":"#/definitions/v1Time","description":"credit expiry time"},"name":{"type":"string"},"start":{"$ref":"#/definitions/v1Time","description":"credit start time"},"type":{"enum":["Pure","Alloy"],"type":"string"}},"required":["type"]},"v1SystemPlanLimit":{"description":"System Monthly Plan Limit","properties":{"alloy":{"$ref":"#/definitions/v1SystemPlanLimitSpec"},"isUnlimited":{"description":"is unlimited cpu core hours","type":"boolean","x-omitempty":false},"pure":{"$ref":"#/definitions/v1SystemPlanLimitSpec"}}},"v1SystemPlanLimitSpec":{"description":"Monthly Plan Limit spec","properties":{"cpuCoreHours":{"description":"cpu cores hours","format":"int64","type":"integer","x-omitempty":false},"overageLimitPercentage":{"default":25,"description":"overage limit in percentage","format":"int8","type":"integer","x-omitempty":false},"warnLimitPercentage":{"default":90,"description":"warning limit in percentage","format":"int8","type":"integer","x-omitempty":false}}},"v1SystemPlanLimitUpdate":{"description":"System Plan limit change update entity","properties":{"planLimit":{"$ref":"#/definitions/v1SystemPlanLimit"}}},"v1SystemProductUsage":{"description":"Yearly usage","properties":{"allocatedCredits":{"description":"Allocated credits","format":"int64","type":"number"},"breachedCredits":{"description":"Credits exceeded the allocated and free credits","format":"float64","type":"number"},"freeSlaCredits":{"description":"Free allocated SLA credits","format":"int64","type":"number"},"usedCredits":{"description":"Used credits","format":"float64","type":"number"}}},"v1SystemProxySpec":{"description":"system proxy config spec","properties":{"httpProxy":{"type":"string"},"httpsProxy":{"type":"string"},"noProxy":{"type":"string"}},"type":"object"},"v1SystemRateLimit":{"description":"system rate-limit","properties":{"isActive":{"type":"boolean"}}},"v1SystemRegistry":{"description":"Registry configuration","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1RegistryConf"}},"type":"object"},"v1SystemResourceLimit":{"properties":{"kind":{"$ref":"#/definitions/v1ResourceLimitType","type":"string","x-omitempty":false},"limit":{"format":"int64","type":"number","x-omitempty":false}}},"v1SystemResourceLimits":{"description":"System resource limits. Supported resources keys are 'user','project','apiKey','team','role','cloudaccount','clusterprofile','workspace','registry','privategateway','location','certificate','macro','sshkey','alert','spectrocluster','edgehost'.","properties":{"resources":{"items":{"$ref":"#/definitions/v1SystemResourceLimit"},"type":"array","uniqueItems":true}}},"v1SystemRetentionPolicy":{"description":"system retention policy","properties":{"retentionPeriod":{"type":"integer","x-omitempty":false}},"type":"object"},"v1SystemReverseProxy":{"description":"system config reverse proxy","properties":{"caCert":{"type":"string"},"clientCert":{"type":"string"},"clientKey":{"type":"string"},"port":{"type":"integer"},"protocol":{"enum":["http","https"],"type":"string"},"server":{"type":"string"},"vHostPort":{"type":"integer"}}},"v1SystemS3Spec":{"description":"system backup s3 storage config spec","properties":{"accessKey":{"type":"string","x-omitempty":false},"bucket":{"type":"string","x-omitempty":false},"folder":{"type":"string","x-omitempty":false},"region":{"type":"string","x-omitempty":false},"secretKey":{"type":"string","x-omitempty":false}},"type":"object"},"v1SystemScarSpec":{"description":"system scar config spec","properties":{"baseContentPath":{"type":"string"},"caCert":{"type":"string"},"endpoint":{"type":"string"},"insecureVerify":{"type":"boolean"},"password":{"type":"string"},"username":{"type":"string"}},"type":"object"},"v1SystemScarValidationResponse":{"description":"system proxy config spec","properties":{"spectroVersion":{"type":"string"}},"type":"object"},"v1SystemSecurityMode":{"description":"System service mode","properties":{"securityMode":{"type":"string"}}},"v1SystemServiceLogin":{"description":"System service login input","properties":{"authToken":{"description":"authToken helps in two step verification for the authorization.","type":"string"},"isSystem":{"type":"boolean"},"overlordUid":{"type":"string"},"serviceName":{"type":"string"},"serviceVersion":{"type":"string"},"spectroClusterUid":{"type":"string"},"tenantUid":{"type":"string"}},"type":"object"},"v1SystemSmtpSpec":{"description":"system smtp config spec","properties":{"fromEmailId":{"type":"string"},"insecureSkipVerifyTls":{"type":"boolean"},"password":{"type":"string"},"smtpPort":{"type":"integer"},"smtpServer":{"type":"string"},"userName":{"type":"string"}},"type":"object"},"v1SystemSsoAuthSpec":{"description":"system sso config spec","properties":{"github":{"$ref":"#/definitions/v1SystemGithubSsoSpec"},"oidcAuthSpecs":{"additionalProperties":{"$ref":"#/definitions/v1SystemOidcClientSpec"},"type":"object"}},"type":"object"},"v1SystemSsoSpec":{"description":"system sso config spec","properties":{"acsUrlRoot":{"type":"string"},"acsUrlScheme":{"type":"string"},"apiVersion":{"type":"string"},"audienceUrl":{"type":"string"},"authSpec":{"$ref":"#/definitions/v1SystemSsoAuthSpec"},"entityId":{"type":"string"}},"type":"object"},"v1SystemStartDate":{"description":"system start date","properties":{"systemStartDate":{"$ref":"#/definitions/v1Time"}}},"v1SystemStorageS3ConfigSpec":{"description":"system storage s3 config spec","properties":{"isEnabled":{"type":"boolean"},"retentionPolicy":{"$ref":"#/definitions/v1SystemRetentionPolicy"},"s3":{"$ref":"#/definitions/v1SystemS3Spec"}},"type":"object"},"v1SystemTencentAccount":{"description":"SystemAdmin","properties":{"spec":{"$ref":"#/definitions/v1SystemTencentSpec"}},"type":"object"},"v1SystemTencentSpec":{"description":"system tencent account specifications","properties":{"secretId":{"type":"string"},"secretKey":{"type":"string"}}},"v1SystemTimeseriesMetrics":{"description":"system timeseries metrics config","properties":{"archivalInterval":{"type":"integer"},"batchInterval":{"type":"integer"},"enabled":{"type":"boolean","x-omitempty":false},"retentionPeriod":{"type":"integer"}},"type":"object"},"v1SystemTimeseriesSpec":{"description":"system timeseries config spec","properties":{"machine":{"$ref":"#/definitions/v1SystemTimeseriesMetrics"},"pod":{"$ref":"#/definitions/v1SystemTimeseriesMetrics"}},"type":"object"},"v1SystemUsage":{"description":"System usage billing object","properties":{"planLimit":{"$ref":"#/definitions/v1PlanLimit"},"usageBillingPeriod":{"$ref":"#/definitions/v1InvoiceBillingPeriod"},"yearlyUsages":{"description":"List of every year system usage","items":{"$ref":"#/definitions/v1YearlyUsage"},"type":"array","uniqueItems":true}}},"v1SystemUserMe":{"description":"User information wrt permissions","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1SystemUserSpec"},"status":{"$ref":"#/definitions/v1SystemUserMeStatus"}},"type":"object"},"v1SystemUserMeStatus":{"description":"User status with permissions","properties":{"isEmailSet":{"type":"boolean","x-omitempty":false},"isEmailVerified":{"type":"boolean","x-omitempty":false},"isMfaEnabled":{"type":"boolean","x-omitempty":false},"isPasswordReset":{"type":"boolean","x-omitempty":false},"lastEmailUpdateTime":{"$ref":"#/definitions/v1Time"},"lastEmailVerifiedTime":{"$ref":"#/definitions/v1Time"},"lastLoginTime":{"$ref":"#/definitions/v1Time"},"lastPasswordUpdateTime":{"$ref":"#/definitions/v1Time"}}},"v1SystemUserSpec":{"description":"User specifications","properties":{"adminType":{"description":"Admin type","type":"string"},"emailId":{"description":"System User's email id","type":"string"}}},"v1SystemVersionInfo":{"description":"system version info","properties":{"version":{"type":"string"}},"type":"object"},"v1SystemVsphereImage":{"description":"SystemAdmin","properties":{"spec":{"$ref":"#/definitions/v1SystemVsphereImageSpec"}},"type":"object"},"v1SystemVsphereImageSpec":{"description":"system vsphere account specifications","properties":{"caCert":{"type":"string"},"imagesHostEndpoint":{"type":"string"},"insecureSkipVerify":{"type":"boolean"},"overlordOvaLocation":{"type":"string"}}},"v1TagFilter":{"description":"Tag Filter create spec","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMetaInputEntity"},"spec":{"$ref":"#/definitions/v1TagFilterSpec"}},"type":"object"},"v1TagFilterGroup":{"properties":{"conjunction":{"$ref":"#/definitions/v1SearchFilterConjunctionOperator"},"filters":{"items":{"$ref":"#/definitions/v1TagFilterItem"},"type":"array","uniqueItems":true}}},"v1TagFilterItem":{"properties":{"key":{"type":"string"},"negation":{"type":"boolean"},"operator":{"$ref":"#/definitions/v1SearchFilterKeyValueOperator"},"values":{"items":{"type":"string"},"type":"array","uniqueItems":true}}},"v1TagFilterSpec":{"description":"Filter create spec","properties":{"filterGroup":{"$ref":"#/definitions/v1TagFilterGroup"}},"type":"object"},"v1TagFilterSummary":{"description":"Filter summary object","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1TagFilterSpec"}},"type":"object"},"v1Taint":{"description":"Taint","properties":{"effect":{"enum":["NoSchedule","PreferNoSchedule","NoExecute"],"type":"string"},"key":{"description":"The taint key to be applied to a node","type":"string"},"timeAdded":{"$ref":"#/definitions/v1Time"},"value":{"description":"The taint value corresponding to the taint key.","type":"string"}},"type":"object"},"v1Team":{"description":"Team information","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1TeamSpec"},"status":{"$ref":"#/definitions/v1TeamStatus"}},"type":"object"},"v1TeamPatch":{"items":{"$ref":"#/definitions/v1HttpPatch"},"type":"array"},"v1TeamRoleMap":{"properties":{"roles":{"items":{"type":"string"},"type":"array"},"teamId":{"type":"string"}}},"v1TeamSpec":{"description":"Team specifications","properties":{"roles":{"items":{"type":"string"},"type":"array","uniqueItems":true},"sources":{"items":{"type":"string"},"type":"array","uniqueItems":true},"users":{"items":{"type":"string"},"type":"array","uniqueItems":true}}},"v1TeamSpecSummary":{"properties":{"emailId":{"type":"string"},"projects":{"items":{"$ref":"#/definitions/v1UidSummary"},"type":"array"},"roles":{"items":{"$ref":"#/definitions/v1UidSummary"},"type":"array"},"users":{"items":{"$ref":"#/definitions/v1UidSummary"},"type":"array"}},"type":"object"},"v1TeamStatus":{"description":"Team status","type":"object"},"v1TeamSummary":{"description":"Team summary","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1TeamSpecSummary"},"status":{"$ref":"#/definitions/v1TeamStatus"}},"type":"object"},"v1TeamSummarySortFields":{"enum":["name","creationTimestamp"],"type":"string","x-nullable":true},"v1TeamSummarySortSpec":{"properties":{"field":{"$ref":"#/definitions/v1TeamSummarySortFields"},"order":{"$ref":"#/definitions/v1SortOrder"}}},"v1TeamTenantRolesEntity":{"properties":{"roles":{"items":{"$ref":"#/definitions/v1UidSummary"},"type":"array"}},"type":"object"},"v1TeamTenantRolesUpdate":{"properties":{"roles":{"items":{"type":"string"},"type":"array"}},"type":"object"},"v1Teams":{"properties":{"items":{"items":{"$ref":"#/definitions/v1Team"},"type":"array","uniqueItems":true},"listmeta":{"$ref":"#/definitions/v1ListMetaData"}},"required":["items"],"type":"object"},"v1TeamsBatch":{"items":{"$ref":"#/definitions/v1Team"},"type":"array","uniqueItems":true},"v1TeamsFilterSpec":{"description":"Teams filter spec","properties":{"name":{"$ref":"#/definitions/v1FilterString"}}},"v1TeamsMetadata":{"properties":{"items":{"items":{"$ref":"#/definitions/v1ObjectEntity"},"type":"array","uniqueItems":true}},"required":["items"],"type":"object"},"v1TeamsSummary":{"description":"Deprecated, Use v1UsersSummaryList - Returns User summary","properties":{"items":{"items":{"$ref":"#/definitions/v1TeamSummary"},"type":"array","uniqueItems":true},"listmeta":{"$ref":"#/definitions/v1ListMetaData"}},"required":["items"],"type":"object"},"v1TeamsSummaryList":{"description":"Returns Team summary","properties":{"items":{"items":{"$ref":"#/definitions/v1TeamSummary"},"type":"array","uniqueItems":true}},"required":["items"],"type":"object"},"v1TeamsSummarySpec":{"description":"Teams filter summary spec","properties":{"filter":{"$ref":"#/definitions/v1TeamsFilterSpec"},"sort":{"items":{"$ref":"#/definitions/v1TeamSummarySortSpec"},"type":"array","uniqueItems":true}}},"v1Tenant":{"description":"Tenant","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1TenantSpec"},"status":{"$ref":"#/definitions/v1TenantStatus"}},"type":"object"},"v1TenantActivate":{"description":"Activate/Deactivate tenant","properties":{"isActive":{"default":true,"type":"boolean"}},"type":"object"},"v1TenantActivity":{"description":"Active tenant and clusters data","properties":{"clustersInfo":{"$ref":"#/definitions/v1ClustersInfo"},"org":{"type":"string"},"planType":{"type":"string"},"totalProjects":{"format":"int64","type":"number"},"totalUsers":{"format":"int64","type":"number"},"uid":{"type":"string"},"users":{"items":{"$ref":"#/definitions/v1UserActivityInfo"},"type":"array","uniqueItems":true}},"type":"object"},"v1TenantAddressPatch":{"description":"Tenant Address","properties":{"address":{"$ref":"#/definitions/v1Address"}},"type":"object"},"v1TenantAssetCert":{"description":"tenant cert","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1Cert"}},"type":"object"},"v1TenantAssetCerts":{"properties":{"items":{"items":{"$ref":"#/definitions/v1TenantAssetCert"},"type":"array","uniqueItems":true}},"required":["items"],"type":"object"},"v1TenantBasicEntity":{"description":"Tenant Basic param","properties":{"emailId":{"type":"string"},"orgName":{"type":"string"}},"type":"object"},"v1TenantCleanUpStatus":{"description":"Tenant CleanUp Status","properties":{"cleanUpError":{"type":"string"},"cleanUpStages":{"type":"string"},"cleanUpTimestamp":{"$ref":"#/definitions/v1Time"},"cleanedResources":{"items":{"type":"string"},"type":"array"},"isCompleted":{"type":"boolean","x-omitempty":false},"isInProgress":{"type":"boolean","x-omitempty":false}},"type":"object"},"v1TenantClusterSettings":{"properties":{"nodesAutoRemediationSetting":{"$ref":"#/definitions/v1NodesAutoRemediationSettings"}}},"v1TenantContractSpec":{"description":"Tenant contract settings","properties":{"acceptedTime":{"$ref":"#/definitions/v1Time","description":"If the contract is accepted offline, set the accepted time"},"isAccepted":{"description":"If the contract is accepted offline, then set this field to true","type":"boolean"},"isRequired":{"description":"Is the contract required, for on-prem installation it will be false","type":"boolean"}},"required":["isRequired","isAccepted"],"type":"object"},"v1TenantDomains":{"description":"Tenant domains","properties":{"domains":{"items":{"type":"string"},"type":"array","uniqueItems":true}},"type":"object"},"v1TenantEmailPatch":{"description":"Tenant EmailId","properties":{"emailId":{"type":"string"}},"type":"object"},"v1TenantEnableClusterGroup":{"description":"Enable or Disable cluster group for a tenant","properties":{"hideSystemClusterGroups":{"type":"boolean","x-omitempty":false},"isClusterGroupEnabled":{"description":"Deprecated. Use hideSystemClusterGroups field","type":"boolean","x-omitempty":false}}},"v1TenantEntity":{"description":"Tenant Entity","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1TenantSpecEntity"}},"type":"object"},"v1TenantFreemium":{"description":"Tenant freemium configuration","properties":{"activeClustersLimit":{"type":"integer","x-omitempty":false},"isFreemium":{"type":"boolean","x-omitempty":false},"isUnlimited":{"type":"boolean","x-omitempty":false},"overageUsageLimit":{"format":"float64","type":"number","x-omitempty":false},"totalUsageLimit":{"format":"float64","type":"number","x-omitempty":false}}},"v1TenantFreemiumUsage":{"properties":{"isFreemium":{"type":"boolean","x-omitempty":false},"isUnlimited":{"type":"boolean","x-omitempty":false},"limit":{"$ref":"#/definitions/v1FreemiumUsageLimit"},"usage":{"$ref":"#/definitions/v1FreemiumUsage"}},"type":"object"},"v1TenantOidcClaims":{"properties":{"Email":{"type":"string","x-omitempty":false},"FirstName":{"type":"string","x-omitempty":false},"LastName":{"type":"string","x-omitempty":false},"SpectroTeam":{"type":"string","x-omitempty":false}},"type":"object"},"v1TenantOidcClientSpec":{"description":"Tenant","properties":{"callbackUrl":{"type":"string","x-omitempty":false},"clientId":{"type":"string","x-omitempty":false},"clientSecret":{"type":"string","x-omitempty":false},"defaultTeams":{"items":{"type":"string"},"type":"array","x-omitempty":false},"isSsoEnabled":{"type":"boolean","x-omitempty":false},"issuerUrl":{"description":"the issuer is the URL identifier for the service","type":"string","x-omitempty":false},"logoutUrl":{"type":"string","x-omitempty":false},"requiredClaims":{"$ref":"#/definitions/v1TenantOidcClaims"},"scopes":{"items":{"type":"string"},"type":"array","x-omitempty":false},"scopesDelimiter":{"type":"string","x-omitempty":false},"syncSsoTeams":{"type":"boolean","x-omitempty":false}},"type":"object"},"v1TenantPasswordPolicyEntity":{"description":"Tenant Password Policy Entity","properties":{"creationTimestamp":{"$ref":"#/definitions/v1Time"},"expiryDurationInDays":{"type":"integer"},"firstReminderInDays":{"type":"integer"},"isRegex":{"type":"boolean"},"minLength":{"type":"integer"},"minNumOfBlockLetters":{"type":"integer"},"minNumOfDigits":{"type":"integer"},"minNumOfSmallLetters":{"type":"integer"},"minNumOfSpecialCharacters":{"type":"integer"},"regex":{"type":"string"},"updateTimestamp":{"$ref":"#/definitions/v1Time"}},"type":"object"},"v1TenantResourceLimit":{"properties":{"kind":{"$ref":"#/definitions/v1ResourceLimitType","type":"string"},"label":{"type":"string"},"limit":{"format":"int64","type":"number","x-omitempty":false}}},"v1TenantResourceLimitEntity":{"properties":{"kind":{"$ref":"#/definitions/v1ResourceLimitType","type":"string","x-omitempty":false},"limit":{"format":"int64","type":"number","x-omitempty":false}}},"v1TenantResourceLimits":{"description":"Tenant resource limits","properties":{"resources":{"items":{"$ref":"#/definitions/v1TenantResourceLimit"},"type":"array","uniqueItems":true}}},"v1TenantResourceLimitsEntity":{"description":"Tenant resource limits. Supported resources keys are 'user','project','apiKey','team','role','cloudaccount','clusterprofile','workspace','registry','privategateway','location','certificate','macro','sshkey','alert','spectrocluster','edgehost'.","properties":{"resources":{"items":{"$ref":"#/definitions/v1TenantResourceLimitEntity"},"type":"array","uniqueItems":true}}},"v1TenantSamlRequestSpec":{"description":"Tenant","properties":{"attributes":{"items":{"$ref":"#/definitions/v1TenantSamlSpecAttribute"},"type":"array"},"defaultTeams":{"items":{"type":"string"},"type":"array"},"federationMetadata":{"type":"string"},"identityProvider":{"type":"string"},"isSingleLogoutEnabled":{"type":"boolean"},"isSsoEnabled":{"type":"boolean"},"nameIdFormat":{"type":"string"},"syncSsoTeams":{"type":"boolean"}},"type":"object"},"v1TenantSamlSpec":{"description":"Tenant","properties":{"acsUrl":{"type":"string"},"attributes":{"items":{"$ref":"#/definitions/v1TenantSamlSpecAttribute"},"type":"array"},"audienceUrl":{"description":"same as entity id","type":"string"},"certificate":{"description":"certificate for slo","type":"string"},"defaultTeams":{"items":{"type":"string"},"type":"array"},"entityId":{"type":"string"},"federationMetadata":{"type":"string"},"identityProvider":{"type":"string"},"isSingleLogoutEnabled":{"type":"boolean","x-omitempty":false},"isSsoEnabled":{"type":"boolean","x-omitempty":false},"issuer":{"description":"same as entity id","type":"string"},"nameIdFormat":{"type":"string"},"serviceProviderMetadata":{"type":"string"},"singleLogoutUrl":{"description":"slo url","type":"string","x-omitempty":false},"syncSsoTeams":{"type":"boolean","x-omitempty":false}},"type":"object"},"v1TenantSamlSpecAttribute":{"properties":{"attributeValue":{"type":"string"},"mappedAttribute":{"type":"string"},"name":{"type":"string"},"nameFormat":{"type":"string"}},"type":"object"},"v1TenantSelfSignUpSpec":{"description":"Tenant sign up data","properties":{"emailId":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"loginMode":{"default":"devops","enum":["dev","devops"],"type":"string"},"notifyTenantAdmin":{"type":"boolean"},"orgName":{"type":"string"}},"required":["firstName","lastName","emailId","orgName"],"type":"object"},"v1TenantSpec":{"description":"Tenant Spec","properties":{"address":{"$ref":"#/definitions/v1Address"},"authType":{"type":"string"},"defaultLoginMode":{"type":"string"},"orgEmailId":{"type":"string"},"orgName":{"type":"string"},"planUid":{"type":"string"}},"type":"object"},"v1TenantSpecEntity":{"description":"Tenant Entity input","properties":{"address":{"$ref":"#/definitions/v1Address"},"authType":{"type":"string"},"emailId":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"loginMode":{"default":"devops","enum":["dev","devops"],"type":"string"},"orgEmailId":{"type":"string"},"orgName":{"type":"string"},"roles":{"items":{"type":"string"},"type":"array","uniqueItems":true},"ssoApp":{"type":"string"}},"type":"object"},"v1TenantSsoAuthProvidersEntity":{"properties":{"isEnabled":{"type":"boolean","x-omitempty":false},"ssoLogins":{"items":{"type":"string"},"type":"array","uniqueItems":true}},"type":"object"},"v1TenantStatus":{"description":"Tenant Status","properties":{"cleanUpStatus":{"$ref":"#/definitions/v1TenantCleanUpStatus"},"isActive":{"type":"boolean","x-omitempty":false},"toBeDeleted":{"type":"boolean","x-omitempty":false}},"type":"object"},"v1TenantUpgradeSettingsEntity":{"properties":{"enableLock":{"type":"boolean","x-omitempty":false},"supportedVersionsRange":{"type":"integer","x-omitempty":false}}},"v1TenantUsage":{"description":"Tenant usage object","properties":{"orgName":{"description":"Organization name","type":"string"},"tenantUid":{"description":"Tenant uid","type":"string"},"usedAlloyCredits":{"description":"Credits used by imported clusters","format":"float64","type":"number"},"usedPureCredits":{"description":"Credits used by managed clusters","format":"float64","type":"number"}}},"v1Tenants":{"description":"Tenants list","properties":{"items":{"items":{"$ref":"#/definitions/v1Tenant"},"type":"array","uniqueItems":true},"listmeta":{"$ref":"#/definitions/v1ListMetaData"}},"required":["items"],"type":"object"},"v1TenantsAccountsNas":{"properties":{"failures":{"items":{"type":"string"},"type":"array"},"success":{"items":{"type":"string"},"type":"array"}},"type":"object"},"v1TenantsActivities":{"description":"Active tenants and clusters data","properties":{"tenants":{"additionalProperties":{"$ref":"#/definitions/v1TenantActivity"},"type":"object"}},"type":"object"},"v1TencentAccount":{"description":"Tencent cloud account information","properties":{"apiVersion":{"description":"Deprecated. Not used for the resource info.","type":"string"},"kind":{"description":"Deprecated. Cloud type of the account.","type":"string"},"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1TencentCloudAccount"},"status":{"$ref":"#/definitions/v1CloudAccountStatus"}},"type":"object"},"v1TencentAccounts":{"properties":{"items":{"items":{"$ref":"#/definitions/v1TencentAccount"},"type":"array","uniqueItems":true},"listmeta":{"$ref":"#/definitions/v1ListMetaData"}},"required":["items"],"type":"object"},"v1TencentAvailabilityZone":{"description":"Tencent availability zone","properties":{"name":{"description":"Tencent availability zone name","type":"string"},"state":{"description":"Tencent availability zone state","type":"string"},"zoneId":{"description":"Tencent availability zone id","type":"string"}},"type":"object"},"v1TencentAvailabilityZones":{"description":"List of Tencent Availability zones","properties":{"zones":{"items":{"$ref":"#/definitions/v1TencentAvailabilityZone"},"type":"array"}},"required":["zones"],"type":"object"},"v1TencentCloudAccount":{"properties":{"secretId":{"description":"Tencent api secretID","type":"string"},"secretKey":{"description":"Tencent api secret key","type":"string"}},"required":["secretId","secretKey"],"type":"object"},"v1TencentCloudClusterConfigEntity":{"description":"Tencent cloud cluster config entity","properties":{"clusterConfig":{"$ref":"#/definitions/v1TencentClusterConfig"}},"type":"object"},"v1TencentCloudConfig":{"description":"TencentCloudConfig is the Schema for the tencentcloudconfigs API","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1TencentCloudConfigSpec"}},"type":"object"},"v1TencentCloudConfigSpec":{"description":"TencentCloudConfigSpec defines the cloud configuration input by user This will translate to clusterspec/machinespec for cluster-api","properties":{"cloudAccountRef":{"$ref":"#/definitions/v1ObjectReference","description":"cloudAccountRef should point to the secret which contains TencentCloudAccount"},"clusterConfig":{"$ref":"#/definitions/v1TencentClusterConfig"},"machinePoolConfig":{"items":{"$ref":"#/definitions/v1TencentMachinePoolConfig"},"type":"array"}},"type":"object"},"v1TencentClusterConfig":{"description":"Cluster level configuration for tencent cloud and applicable for all the machine pools","properties":{"endpointAccess":{"$ref":"#/definitions/v1TkeEndpointAccess","description":"Endpoints specifies access to this cluster's control plane endpoints"},"region":{"type":"string"},"sshKeyIDs":{"items":{"type":"string"},"type":"array"},"vpcID":{"description":"VPC Id to deploy cluster into should have one public and one private subnet for the the cluster creation, this field is optional, If VPC Id is not provided a fully managed VPC will be created","type":"string"}},"required":["region"],"type":"object"},"v1TencentInstanceTypes":{"description":"List of Tencent instance types","properties":{"instanceTypes":{"items":{"$ref":"#/definitions/v1InstanceType"},"type":"array"}},"type":"object"},"v1TencentKeypair":{"description":"Tencent Keypair entity","properties":{"id":{"description":"Tencent keypair id","type":"string"},"name":{"description":"Tencent keypair name","type":"string"},"publickey":{"description":"Tencent public key","type":"string"}},"type":"object"},"v1TencentKeypairs":{"description":"List of Tencent keypairs","properties":{"keypairs":{"items":{"$ref":"#/definitions/v1TencentKeypair"},"type":"array"}},"type":"object"},"v1TencentMachine":{"description":"Tencent cloud VM definition","properties":{"apiVersion":{"description":"Deprecated. Not used for the resource info.","type":"string"},"kind":{"description":"Deprecated. Cloud type of the machine.","type":"string"},"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1TencentMachineSpec"},"status":{"$ref":"#/definitions/v1CloudMachineStatus"}},"type":"object"},"v1TencentMachinePoolCloudConfigEntity":{"properties":{"azs":{"items":{"type":"string"},"type":"array"},"instanceType":{"description":"instance type","type":"string"},"rootDeviceSize":{"description":"rootDeviceSize in GBs","format":"int64","maximum":2000,"minimum":1,"type":"integer"},"subnetIds":{"additionalProperties":{"type":"string"},"description":"AZ to subnet mapping filled by ally from hubble SubnetIDs [\"ap-guangzhou-6\"] = \"subnet-079b6061\" This field is optional If we don't provide a subnetId then by default the first subnet from the AZ will be picked up for deployment","type":"object"}},"type":"object"},"v1TencentMachinePoolConfig":{"properties":{"additionalLabels":{"additionalProperties":{"type":"string"},"description":"AdditionalLabels","type":"object"},"additionalTags":{"additionalProperties":{"type":"string"},"description":"AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole","type":"object"},"azs":{"description":"AZs is only used for dynamic placement","items":{"type":"string"},"type":"array"},"instanceConfig":{"$ref":"#/definitions/v1InstanceConfig"},"instanceType":{"description":"instance type","type":"string"},"isControlPlane":{"description":"whether this pool is for control plane","type":"boolean"},"labels":{"description":"labels for this pool, example: master/worker, gpu, windows","items":{"type":"string"},"type":"array"},"machinePoolProperties":{"$ref":"#/definitions/v1MachinePoolProperties"},"maxSize":{"description":"max size of the pool, for scaling","format":"int32","type":"integer"},"minSize":{"description":"min size of the pool, for scaling","format":"int32","type":"integer"},"name":{"type":"string"},"nodeRepaveInterval":{"description":"Minimum number of seconds a node should be Ready, before the next node is selected for repave. Applicable only for workerpools in infrastructure cluster","format":"int32","type":"integer"},"rootDeviceSize":{"description":"rootDeviceSize in GBs","format":"int64","type":"integer"},"size":{"description":"size of the pool, number of machines","format":"int32","type":"integer"},"subnetIds":{"additionalProperties":{"type":"string"},"description":"AZ to subnet mapping filled by ally from hubble SubnetIDs [\"ap-guangzhou-6\"] = \"subnet-079b6061\" This field is optional If we don't provide a subnetId then by default the first subnet from the AZ will be picked up for deployment","type":"object"},"taints":{"description":"master or worker taints","items":{"$ref":"#/definitions/v1Taint"},"type":"array"},"updateStrategy":{"$ref":"#/definitions/v1UpdateStrategy","description":"rolling update strategy for this machinepool if not specified, will use ScaleOut"},"useControlPlaneAsWorker":{"description":"if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools","type":"boolean"}},"type":"object"},"v1TencentMachinePoolConfigEntity":{"properties":{"cloudConfig":{"$ref":"#/definitions/v1TencentMachinePoolCloudConfigEntity"},"poolConfig":{"$ref":"#/definitions/v1MachinePoolConfigEntity"}},"required":["cloudConfig"],"type":"object"},"v1TencentMachineSpec":{"description":"Tencent cloud VM definition spec","properties":{"dnsName":{"type":"string"},"imageId":{"type":"string"},"instanceType":{"type":"string"},"nics":{"items":{"$ref":"#/definitions/v1TencentNic"},"type":"array"},"securityGroups":{"items":{"type":"string"},"type":"array"},"subnetId":{"type":"string"},"type":{"type":"string"},"vpcId":{"type":"string"},"zoneId":{"type":"string"}},"required":["nics","instanceType","imageId"],"type":"object"},"v1TencentMachines":{"description":"Tencent machine list","properties":{"items":{"items":{"$ref":"#/definitions/v1TencentMachine"},"type":"array","uniqueItems":true},"listmeta":{"$ref":"#/definitions/v1ListMetaData"}},"required":["items"],"type":"object"},"v1TencentNic":{"description":"Tencent network interface","properties":{"index":{"format":"int8","type":"integer"},"privateIPs":{"items":{"type":"string"},"type":"array"},"publicIp":{"type":"string"}},"type":"object"},"v1TencentRegion":{"description":"Tencent region entity","properties":{"name":{"description":"Name of tencent region","type":"string"},"state":{"description":"State of tencent region","type":"string"}},"type":"object"},"v1TencentRegions":{"description":"List of tencent regions","properties":{"regions":{"description":"Tencent regions entity","items":{"$ref":"#/definitions/v1TencentRegion"},"type":"array"}},"required":["regions"],"type":"object"},"v1TencentSecurityGroup":{"description":"Tencent Security Group. A security group is a virtual firewall that features stateful data packet filtering","properties":{"id":{"description":"Tencent security group id","type":"string"},"isDefault":{"description":"Whether it is the default security group, the default security group does not support deletion.","type":"boolean"},"name":{"description":"Tencent security group name","type":"string"},"projectId":{"description":"Tencent security group associated to a project","type":"string"}},"type":"object"},"v1TencentSecurityGroups":{"description":"List of Tencent security groups","properties":{"groups":{"items":{"$ref":"#/definitions/v1TencentSecurityGroup"},"type":"array"}},"type":"object"},"v1TencentStorageTypes":{"description":"List of Tencent storage types","properties":{"storageTypes":{"items":{"$ref":"#/definitions/v1StorageType"},"type":"array"}},"type":"object"},"v1TencentSubnet":{"description":"Tencent Subnet entity","properties":{"az":{"description":"Availability zone associated with tencent subnet","type":"string"},"cidrBlock":{"description":"Tencent subnet CIDR. The CIDR notation consists of an IP address, a slash character ('/') and a decimal number from 0 to 32","type":"string"},"name":{"description":"Tencent subnet name","type":"string"},"subnetId":{"description":"Tencent subnet id","type":"string"}},"type":"object"},"v1TencentVpc":{"description":"Tencent VPC entity","properties":{"cidrBlock":{"description":"Tencent VPC CIDR. The CIDR notation consists of an IP address, a slash character ('/') and a decimal number from 0 to 32","type":"string"},"name":{"description":"Tencent VPC name","type":"string"},"subnets":{"items":{"$ref":"#/definitions/v1TencentSubnet"},"type":"array"},"vpcId":{"description":"Tencent VPC id","type":"string"}},"required":["vpcId"],"type":"object"},"v1TencentVpcs":{"description":"List of Tencent VPCs","properties":{"vpcs":{"items":{"$ref":"#/definitions/v1TencentVpc"},"type":"array"}},"required":["vpcs"],"type":"object"},"v1TierPrice":{"description":"tier price","properties":{"alloyPricing":{"items":{"$ref":"#/definitions/v1PriceRange"},"type":"array","uniqueItems":true},"purePricing":{"items":{"$ref":"#/definitions/v1PriceRange"},"type":"array","uniqueItems":true}}},"v1Time":{"description":"Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.","format":"date-time","type":"string"},"v1TkeEndpointAccess":{"description":"TKEEndpointAccess specifies how control plane endpoints are accessible","properties":{"IsExtranet":{"description":"IsExtranet Whether it is external network access (TRUE external network access FALSE internal network access, default value: FALSE)","type":"boolean"},"private":{"description":"Private points VPC-internal control plane access to the private endpoint","type":"boolean"},"privateCIDR":{"description":"Deprecated. PrivateCIDRs specifies which blocks can access the public endpoint","type":"string"},"public":{"description":"Public controls whether control plane endpoints are publicly accessible","type":"boolean"},"publicCIDRs":{"description":"Deprecated. PublicCIDRs specifies which blocks can access the public endpoint","items":{"type":"string"},"type":"array"},"securityGroup":{"description":"Tencent security group","type":"string"},"subnetId":{"description":"Tencent Subnet","type":"string"}},"type":"object"},"v1TlsConfiguration":{"description":"TLS configuration","properties":{"ca":{"type":"string"},"certificate":{"type":"string"},"enabled":{"type":"boolean","x-omitempty":false},"insecureSkipVerify":{"type":"boolean","x-omitempty":false},"key":{"type":"string"}},"type":"object"},"v1TotalClusterRate":{"description":"Cluster total estimated rate information","properties":{"compute":{"format":"float64","type":"number","x-omitempty":false},"storage":{"format":"float64","type":"number","x-omitempty":false},"total":{"format":"float64","type":"number","x-omitempty":false}},"type":"object"},"v1TotalResourceUsage":{"description":"Total Resource Usage","properties":{"projects":{"items":{"$ref":"#/definitions/v1ProjectResourceUsage"},"type":"array","uniqueItems":true},"totalAlloyCpuCoreHours":{"type":"number","x-omitempty":false},"totalPureCpuCoreHours":{"type":"number","x-omitempty":false}}},"v1TransferJob":{"description":"transfer job details","properties":{"finishTime":{"$ref":"#/definitions/v1Time"},"folder":{"type":"string"},"isCompleted":{"type":"boolean"},"message":{"items":{"type":"string"},"type":"array"},"startTime":{"$ref":"#/definitions/v1Time"},"state":{"type":"string"},"status":{"items":{"type":"string"},"type":"array"}},"type":"object"},"v1Uid":{"properties":{"uid":{"type":"string"}},"required":["uid"],"type":"object"},"v1UidRoleSummary":{"properties":{"inheritedRoles":{"items":{"$ref":"#/definitions/v1UidSummary"},"type":"array"},"name":{"type":"string"},"roles":{"items":{"$ref":"#/definitions/v1UidSummary"},"type":"array"},"uid":{"type":"string"}},"type":"object"},"v1UidSummary":{"properties":{"name":{"type":"string"},"uid":{"type":"string"}},"type":"object"},"v1Uids":{"items":{"$ref":"#/definitions/v1Uid"},"type":"array","uniqueItems":true},"v1UpdateStrategy":{"description":"UpdatesStrategy will be used to translate to RollingUpdateStrategy of a MachineDeployment We'll start with default values for the translation, can expose more details later Following is details of parameters translated from the type ScaleOut =\u003e maxSurge=1, maxUnavailable=0 ScaleIn =\u003e maxSurge=0, maxUnavailable=1","properties":{"type":{"description":"update strategy, either ScaleOut or ScaleIn if empty, will default to RollingUpdateScaleOut","enum":["RollingUpdateScaleOut","RollingUpdateScaleIn"],"type":"string"}},"type":"object"},"v1UpdateTenantStatus":{"description":"Update tenant status","properties":{"errorMessage":{"type":"string"},"kind":{"type":"string"},"stage":{"type":"string"}},"type":"object"},"v1Updated":{"description":"The resource was updated successfully"},"v1UpdatedMsg":{"description":"Update response with message","properties":{"msg":{"type":"string"}}},"v1Upgrades":{"description":"Upgrades represent the reason of the last upgrade that took place","properties":{"reason":{"items":{"type":"string"},"type":"array"},"timestamp":{"$ref":"#/definitions/v1Time"}},"type":"object"},"v1User":{"description":"User","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1UserSpec"},"status":{"$ref":"#/definitions/v1UserStatus"}},"type":"object"},"v1UserActivateInfo":{"properties":{"passwordToken":{"type":"string"}},"type":"object"},"v1UserActivateLink":{"properties":{"activationLink":{"type":"string"}},"type":"object"},"v1UserActivityInfo":{"description":"Active user data","properties":{"lastLogin":{"type":"string"},"lastLoginTimestamp":{"$ref":"#/definitions/v1Time"},"name":{"type":"string"},"uid":{"type":"string"}},"type":"object"},"v1UserAssetSsh":{"description":"SSH key information","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1UserAssetSshSpec"}},"type":"object"},"v1UserAssetSshEntity":{"description":"SSH Key request payload","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMetaInputEntity"},"spec":{"$ref":"#/definitions/v1UserAssetSshSpec"}},"type":"object"},"v1UserAssetSshSpec":{"description":"SSH key specification","properties":{"publicKey":{"type":"string"}},"type":"object"},"v1UserAssetsLocation":{"description":"Location object","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1UserAssetsLocationSpec"}},"type":"object"},"v1UserAssetsLocationAzure":{"description":"Azure location object","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMetaInputEntity"},"spec":{"$ref":"#/definitions/v1UserAssetsLocationAzureSpec"}},"type":"object"},"v1UserAssetsLocationAzureSpec":{"description":"Azure location specification","properties":{"config":{"$ref":"#/definitions/v1AzureStorageConfig"},"isDefault":{"description":"Set to 'true', if location has to be set as default","type":"boolean"},"type":{"description":"Azure location type [azure]","type":"string"}},"required":["config"],"type":"object"},"v1UserAssetsLocationGcp":{"description":"GCP location object","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMetaInputEntity"},"spec":{"$ref":"#/definitions/v1UserAssetsLocationGcpSpec"}},"type":"object"},"v1UserAssetsLocationGcpSpec":{"description":"GCP location specification","properties":{"config":{"$ref":"#/definitions/v1GcpStorageConfig"},"isDefault":{"description":"Set to 'true', if location has to be set as default","type":"boolean"},"type":{"description":"GCP location type [gcp]","type":"string"}},"required":["config"],"type":"object"},"v1UserAssetsLocationS3":{"description":"S3 location object","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMetaInputEntity"},"spec":{"$ref":"#/definitions/v1UserAssetsLocationS3Spec"}},"type":"object"},"v1UserAssetsLocationS3Spec":{"description":"S3 location specification","properties":{"config":{"$ref":"#/definitions/v1S3StorageConfig"},"isDefault":{"description":"Set to 'true', if location has to be set as default","type":"boolean"},"type":{"description":"S3 location type [s3/minio]","type":"string"}},"required":["config"],"type":"object"},"v1UserAssetsLocationSpec":{"description":"Location specification","properties":{"isDefault":{"type":"boolean"},"storage":{"$ref":"#/definitions/v1LocationType"},"type":{"type":"string"}},"type":"object"},"v1UserAssetsLocations":{"properties":{"items":{"description":"List of locations","items":{"$ref":"#/definitions/v1UserAssetsLocation"},"type":"array","uniqueItems":true}},"required":["items"],"type":"object"},"v1UserAssetsSsh":{"properties":{"items":{"description":"List of SSH keys","items":{"$ref":"#/definitions/v1UserAssetSsh"},"type":"array","uniqueItems":true}},"required":["items"],"type":"object"},"v1UserAuthenticatedUrl":{"description":"Returns the Authenticated redirect Url for the palette oidc","properties":{"redirectUrl":{"description":"authenticated redirect Url for the palette oidc","type":"string"}},"type":"object"},"v1UserEntity":{"description":"User","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1UserSpecEntity"}},"type":"object"},"v1UserInfoResponse":{"properties":{"address":{"description":"End-User's preferred postal address","type":"string"},"birthdate":{"description":"End-User's birthday, represented as an ISO 8601:2004 [ISO8601‑2004] YYYY-MM-DD format","type":"string"},"email":{"description":"End-User's preferred e-mail address","type":"string"},"email_verified":{"description":"User at the time the verification was performed","type":"boolean"},"family_name":{"description":"Surname(s) or last name(s) of the End-User","type":"string"},"gender":{"description":"End-User's gender","type":"string"},"given_name":{"description":"Given name(s) or first name(s) of the End-User","type":"string"},"locale":{"description":"End-User's locale, represented as a BCP47 [RFC5646] language tag","type":"string"},"middle_name":{"description":"Middle name(s) of the End-User","type":"string"},"name":{"description":"End-User's full name in displayable form including all name parts, possibly including titles and suffixes, ordered according to the End-User's locale and preferences","type":"string"},"nickname":{"description":"Casual name of the End-User that may or may not be the same as the given_name","type":"string"},"phone_number":{"description":"End-User's preferred telephone number","type":"string"},"phone_number_verified":{"description":"User at the time the verification was performed","type":"boolean"},"picture":{"description":"URL of the End-User's profile picture","type":"string"},"preferred_username":{"description":"Shorthand name by which the End-User wishes to be referred to at the RP, such as janedoe or j.doe","type":"string"},"profile":{"description":"URL of the End-User's profile page","type":"string"},"sub":{"description":"Subject - Identifier for the End-User at the Issuer","type":"string"},"updated_at":{"description":"Time the End-User's information was last updated","type":"integer"},"website":{"description":"URL of the End-User's Web page or blog","type":"string"},"zoneinfo":{"description":"String from zoneinfo [zoneinfo] time zone database representing the End-User's time zone","type":"string"}},"type":"object"},"v1UserKubectlSession":{"properties":{"clusterUid":{"type":"string"},"creationTime":{"type":"string"},"isActive":{"type":"boolean"},"podIp":{"type":"string"},"podName":{"type":"string"},"port":{"type":"string"},"projectUid":{"type":"string"},"sessionUid":{"type":"string"},"shellyCluster":{"type":"string"},"tenantClusterEndpoint":{"type":"string"},"userName":{"type":"string"},"userUid":{"type":"string"}},"type":"object"},"v1UserMe":{"description":"User information wrt permissions","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1UserSpec"},"status":{"$ref":"#/definitions/v1UserMeStatus"}},"type":"object"},"v1UserMeStatus":{"description":"User status with permissions","properties":{"activationLink":{"description":"Contains activation link for the user","type":"string"},"isActive":{"description":"Specifies if user account is active/disabled","type":"boolean"},"isContractAccepted":{"description":"Specifies if user account has accepted the contract","type":"boolean","x-omitempty":false},"loginMode":{"description":"User's login Mode","type":"string"},"projectPermissions":{"additionalProperties":{"items":{"type":"string"},"type":"array"},"type":"object"},"tenant":{"$ref":"#/definitions/v1UserMeTenant","description":"users's tenant information"},"tenantPermissions":{"additionalProperties":{"items":{"type":"string"},"type":"array"},"type":"object"}}},"v1UserMeTenant":{"properties":{"orgName":{"type":"string"},"tenantUid":{"type":"string"}},"type":"object"},"v1UserMeta":{"properties":{"emailId":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"org":{"type":"string"},"uid":{"type":"string"}},"type":"object"},"v1UserMetaEntity":{"description":"User meta entity","properties":{"emailId":{"type":"string"},"name":{"type":"string"},"uid":{"type":"string"}},"type":"object"},"v1UserPatch":{"items":{"$ref":"#/definitions/v1HttpPatch"},"type":"array"},"v1UserProfile":{"description":"User Profile","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1UserProfileSpec"},"status":{"$ref":"#/definitions/v1UserProfileStatus"}},"type":"object"},"v1UserProfileSpec":{"description":"User Profile specifications","properties":{"emailId":{"description":"User's email id","type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"}}},"v1UserProfileStatus":{"description":"User Profile status","properties":{"lastPasswordPolicyMail":{"$ref":"#/definitions/v1Time","description":"user's last password policy time"},"lastPasswordUpdate":{"$ref":"#/definitions/v1Time","description":"user's last password update time"}}},"v1UserProfiles":{"properties":{"items":{"items":{"$ref":"#/definitions/v1UserProfile"},"type":"array","uniqueItems":true},"listmeta":{"$ref":"#/definitions/v1ListMetaData"}},"required":["items"],"type":"object"},"v1UserRoleMap":{"properties":{"roles":{"items":{"type":"string"},"type":"array"},"userId":{"type":"string"}}},"v1UserRoleUIDs":{"properties":{"roles":{"items":{"type":"string"},"type":"array"}},"type":"object"},"v1UserRolesEntity":{"properties":{"inheritedRoles":{"items":{"$ref":"#/definitions/v1UidSummary"},"type":"array"},"roles":{"items":{"$ref":"#/definitions/v1UidSummary"},"type":"array"}},"type":"object"},"v1UserRsaToken":{"description":"Rsa Auth token response","properties":{"token":{"type":"string"}},"type":"object"},"v1UserSpec":{"description":"User specifications","properties":{"emailId":{"description":"User's email id","type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"roles":{"items":{"type":"string"},"type":"array","uniqueItems":true}}},"v1UserSpecEntity":{"description":"User Entity input","properties":{"emailId":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"loginMode":{"type":"string"},"roles":{"items":{"type":"string"},"type":"array","uniqueItems":true},"teams":{"items":{"type":"string"},"type":"array","uniqueItems":true}},"type":"object"},"v1UserSpecSummary":{"properties":{"emailId":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"projects":{"description":"Deprecated.","items":{"$ref":"#/definitions/v1UidSummary"},"type":"array"},"projectsCount":{"format":"int32","type":"integer","x-omitempty":false},"roles":{"items":{"$ref":"#/definitions/v1UidSummary"},"type":"array"},"teams":{"items":{"$ref":"#/definitions/v1UidSummary"},"type":"array"}},"type":"object"},"v1UserStatus":{"description":"User status","properties":{"activationLink":{"description":"provides the link to activate or reset the user password","type":"string","x-omitempty":false},"isActive":{"description":"Specifies if user account is active/disabled","type":"boolean","x-omitempty":false},"isPasswordResetting":{"description":"Specifies if user in multi org requested password reset","type":"boolean","x-omitempty":false},"lastSignIn":{"$ref":"#/definitions/v1Time","description":"user's last sign in time"}}},"v1UserStatusLoginMode":{"properties":{"loginMode":{"enum":["dev","devops"],"type":"string"}},"type":"object"},"v1UserSummary":{"description":"User summary","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1UserSpecSummary"},"status":{"$ref":"#/definitions/v1UserStatus"}},"type":"object"},"v1UserSummarySortFields":{"enum":["name","creationTimestamp"],"type":"string","x-nullable":true},"v1UserSummarySortSpec":{"properties":{"field":{"$ref":"#/definitions/v1UserSummarySortFields"},"order":{"$ref":"#/definitions/v1SortOrder"}}},"v1UserToken":{"description":"Returns the Authorization token. To be used for further api calls","properties":{"Authorization":{"description":"Describes the authentication token in jwt format.","type":"string"},"isMfa":{"description":"Indicates the authentication flow using MFA","type":"boolean","x-omitempty":false}},"type":"object"},"v1UserUpdateEntity":{"description":"User","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1UserUpdateSpecEntity"}},"type":"object"},"v1UserUpdateSpecEntity":{"description":"User Entity input","properties":{"emailId":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"roles":{"description":"Deprecated. Use 'v1/users/{uid}/roles' API to assign roles.","items":{"type":"string"},"type":"array","uniqueItems":true}},"type":"object"},"v1Users":{"properties":{"items":{"items":{"$ref":"#/definitions/v1User"},"type":"array","uniqueItems":true},"listmeta":{"$ref":"#/definitions/v1ListMetaData"}},"required":["items"],"type":"object"},"v1UsersFilterSpec":{"description":"Users filter spec","properties":{"emailId":{"$ref":"#/definitions/v1FilterString"},"name":{"$ref":"#/definitions/v1FilterString"}}},"v1UsersMetadata":{"properties":{"items":{"items":{"$ref":"#/definitions/v1UserMetaEntity"},"type":"array","uniqueItems":true}},"required":["items"],"type":"object"},"v1UsersSummary":{"description":"Deprecated, Use v1UsersSummaryList - Returns User summary","properties":{"items":{"items":{"$ref":"#/definitions/v1UserSummary"},"type":"array","uniqueItems":true},"listmeta":{"$ref":"#/definitions/v1ListMetaData"}},"required":["items"],"type":"object"},"v1UsersSummaryList":{"properties":{"items":{"items":{"$ref":"#/definitions/v1UserSummary"},"type":"array","uniqueItems":true}},"required":["items"],"type":"object"},"v1UsersSummarySpec":{"description":"Users filter summary spec","properties":{"filter":{"$ref":"#/definitions/v1UsersFilterSpec"},"sort":{"items":{"$ref":"#/definitions/v1UserSummarySortSpec"},"type":"array","uniqueItems":true}}},"v1V1SystemAdminEmail":{"description":"SystemAdmin","properties":{"email":{"type":"string"},"insecureVerify":{"type":"boolean"},"password":{"type":"string"}},"type":"object"},"v1V1SystemAdminPasswordResetEntity":{"description":"SystemAdmin","properties":{"email":{"type":"string"},"newPassword":{"type":"string"},"oldPassword":{"type":"string"}},"type":"object"},"v1VMAddVolumeEntity":{"properties":{"addVolumeOptions":{"$ref":"#/definitions/v1VmAddVolumeOptions","description":"Parameters required to add volume to virtual machine/virtual machine instance"},"dataVolumeTemplate":{"$ref":"#/definitions/v1VmDataVolumeTemplateSpec","description":"dataVolumeTemplates is a list of dataVolumes that the VirtualMachineInstance template can reference. DataVolumes in this list are dynamically created for the VirtualMachine and are tied to the VirtualMachine's life-cycle."},"persist":{"description":"If 'true' add the disk to the Virtual Machine \u0026 Virtual Machine Instance, else add the disk to the Virtual Machine Instance only","type":"boolean"}},"required":["addVolumeOptions"],"type":"object"},"v1VMCluster":{"description":"VM Dashboard enabled Spectro cluster","properties":{"metadata":{"properties":{"name":{"type":"string"},"projectUid":{"type":"string"},"uid":{"type":"string"}}},"spec":{"description":"Spectro cluster spec","properties":{"cloudType":{"type":"string"}},"type":"object"},"status":{"description":"Spectro cluster status","properties":{"clusterState":{"type":"string"}}}},"type":"object"},"v1VMClusters":{"properties":{"items":{"items":{"$ref":"#/definitions/v1VMCluster"},"type":"array","uniqueItems":true}},"required":["items"],"type":"object"},"v1VMRemoveVolumeEntity":{"properties":{"persist":{"description":"If 'true' remove the disk from the Virtual Machine \u0026 Virtual Machine Instance, else remove the disk from the Virtual Machine Instance only","type":"boolean"},"removeVolumeOptions":{"$ref":"#/definitions/v1VmRemoveVolumeOptions","description":"Parameters required to remove volume from virtual machine/virtual machine instance"}},"required":["removeVolumeOptions"],"type":"object"},"v1Variable":{"description":"Unique variable field with schema definition","properties":{"defaultValue":{"description":"The default value of the variable","type":"string"},"description":{"description":"Variable description","type":"string"},"displayName":{"description":"Unique display name of the variable","type":"string"},"format":{"$ref":"#/definitions/v1VariableFormat"},"hidden":{"description":"If true, then variable will be hidden for overriding the value. By default the hidden flag will be set to false","type":"boolean","x-omitempty":false},"immutable":{"description":"If true, then variable value can't be editable. By default the immutable flag will be set to false","type":"boolean","x-omitempty":false},"isSensitive":{"description":"If true, then default value will be masked. By default the isSensitive flag will be set to false","type":"boolean","x-omitempty":false},"name":{"description":"Variable name","type":"string"},"regex":{"description":"Regular expression pattern which the variable value must match","type":"string"},"required":{"description":"Flag to specify if the variable is optional or mandatory. If it is mandatory then default value must be provided","type":"boolean","x-omitempty":false}},"required":["name"],"type":"object"},"v1VariableFormat":{"default":"string","description":"Format type of the variable value","enum":["string","number","boolean","ipv4","ipv4cidr","ipv6","version"],"type":"string"},"v1VariableNames":{"properties":{"variables":{"description":"Array of variable names","items":{"type":"string"},"type":"array","uniqueItems":true}},"required":["variables"]},"v1Variables":{"properties":{"variables":{"description":"List of unique variable fields with schema constraints","items":{"$ref":"#/definitions/v1Variable"},"type":"array","uniqueItems":true}},"type":"object"},"v1Virtual":{"properties":{"appDeployments":{"description":"list of apps deployed on the virtual cluster","items":{"$ref":"#/definitions/v1ObjectResReference"},"type":"array"},"clusterGroup":{"$ref":"#/definitions/v1ObjectResReference","description":"cluster group details of virtual cluster"},"hostCluster":{"$ref":"#/definitions/v1ObjectResReference","description":"host cluster reference"},"lifecycleStatus":{"$ref":"#/definitions/v1LifecycleStatus","description":"cluster life cycle status of virtual cluster"},"state":{"description":"cluster virtual host status","type":"string"},"virtualClusters":{"description":"list of virtual clusters deployed on the cluster","items":{"$ref":"#/definitions/v1ObjectResReference"},"type":"array"}}},"v1VirtualCloudClusterConfigEntity":{"description":"Virtual cloud cluster config entity","properties":{"clusterConfig":{"$ref":"#/definitions/v1VirtualClusterConfig"}},"type":"object"},"v1VirtualCloudConfig":{"description":"VirtualCloudConfig is the Schema for the virtual cloudconfigs API","properties":{"apiVersion":{"description":"Deprecated. Not used for the resource info. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources","type":"string"},"kind":{"description":"Cloud type of the cloud config","type":"string"},"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1VirtualCloudConfigSpec"},"status":{"$ref":"#/definitions/v1NestedCloudConfigStatus"}},"type":"object"},"v1VirtualCloudConfigSpec":{"description":"VirtualCloudConfigSpec defines the cloud configuration input by user This will translate to clusterspec for cluster-api.","properties":{"clusterConfig":{"$ref":"#/definitions/v1VirtualClusterConfig"},"hostClusterUid":{"type":"string"},"machinePoolConfig":{"items":{"$ref":"#/definitions/v1VirtualMachinePoolConfig"},"type":"array"}},"required":["clusterConfig","hostClusterUid","machinePoolConfig"],"type":"object"},"v1VirtualClusterConfig":{"description":"Cluster level configuration for virtual cluster","properties":{"controlPlaneEndpoint":{"$ref":"#/definitions/v1APIEndpoint"},"helmRelease":{"$ref":"#/definitions/v1VirtualClusterHelmRelease"},"kubernetesVersion":{"default":"","type":"string"}},"type":"object"},"v1VirtualClusterHelmChart":{"properties":{"name":{"default":"","type":"string"},"repo":{"default":"","type":"string"},"version":{"default":"","type":"string"}},"type":"object"},"v1VirtualClusterHelmRelease":{"properties":{"chart":{"$ref":"#/definitions/v1VirtualClusterHelmChart"},"values":{"default":"","type":"string"}},"type":"object"},"v1VirtualClusterResize":{"properties":{"instanceType":{"$ref":"#/definitions/v1VirtualInstanceType"}},"required":["instanceType"],"type":"object"},"v1VirtualInstanceType":{"properties":{"maxCPU":{"description":"Maximum CPU cores","format":"int32","type":"integer"},"maxMemInMiB":{"description":"Maximum memory in MiB","format":"int32","type":"integer"},"maxStorageGiB":{"description":"Maximum storage in GiB","format":"int32","type":"integer"},"minCPU":{"description":"Minimum CPU cores","format":"int32","type":"integer"},"minMemInMiB":{"description":"Minimum memory in MiB","format":"int32","type":"integer"},"minStorageGiB":{"description":"Minimum storage in GiB","format":"int32","type":"integer"}},"type":"object"},"v1VirtualMachine":{"description":"Virtual cloud machine definition","properties":{"kind":{"type":"string"},"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1VirtualMachineSpec"},"status":{"$ref":"#/definitions/v1CloudMachineStatus"}},"type":"object"},"v1VirtualMachinePoolCloudConfigEntity":{"properties":{"instanceType":{"$ref":"#/definitions/v1VirtualInstanceType"}},"required":["instanceType"],"type":"object"},"v1VirtualMachinePoolConfig":{"properties":{"additionalLabels":{"additionalProperties":{"type":"string"},"description":"additionalLabels","type":"object"},"additionalTags":{"additionalProperties":{"type":"string"},"description":"AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole","type":"object"},"azs":{"items":{"type":"string"},"type":"array"},"instanceType":{"$ref":"#/definitions/v1VirtualInstanceType","description":"InstanceType defines the required CPU, Memory"},"isControlPlane":{"description":"whether this pool is for control plane","type":"boolean"},"labels":{"description":"labels for this pool, example: master/worker, gpu, windows","items":{"type":"string"},"type":"array"},"machinePoolProperties":{"$ref":"#/definitions/v1MachinePoolProperties"},"maxSize":{"description":"max size of the pool, for scaling","format":"int32","type":"integer"},"minSize":{"description":"min size of the pool, for scaling","format":"int32","type":"integer"},"name":{"type":"string"},"resourcePool":{"type":"string"},"size":{"description":"size of the pool, number of machines","format":"int32","type":"integer"},"taints":{"description":"master or worker taints","items":{"$ref":"#/definitions/v1Taint"},"type":"array","uniqueItems":true},"updateStrategy":{"$ref":"#/definitions/v1UpdateStrategy","description":"rolling update strategy for this machinepool if not specified, will use ScaleOut"},"useControlPlaneAsWorker":{"description":"if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools","type":"boolean"}},"required":["instanceType"],"type":"object"},"v1VirtualMachinePoolConfigEntity":{"properties":{"cloudConfig":{"$ref":"#/definitions/v1VirtualMachinePoolCloudConfigEntity"}},"required":["cloudConfig"],"type":"object"},"v1VirtualMachineSnapshot":{"description":"VirtualMachineSnapshot defines the operation of snapshotting a VM","properties":{"apiVersion":{"description":"APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources","type":"string"},"kind":{"description":"Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds","type":"string"},"metadata":{"$ref":"#/definitions/v1VmObjectMeta"},"spec":{"$ref":"#/definitions/v1VirtualMachineSnapshotSpec"},"status":{"$ref":"#/definitions/v1VirtualMachineSnapshotStatus"}},"required":["spec"],"type":"object"},"v1VirtualMachineSnapshotList":{"description":"VirtualMachineSnapshotList is a list of VirtualMachineSnapshot resources","properties":{"apiVersion":{"description":"APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources","type":"string"},"items":{"items":{"$ref":"#/definitions/v1VirtualMachineSnapshot"},"type":"array"},"kind":{"description":"Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds","type":"string"},"metadata":{"$ref":"#/definitions/v1VmListMeta"}},"required":["metadata","items"],"type":"object"},"v1VirtualMachineSnapshotSpec":{"description":"VirtualMachineSnapshotSpec is the spec for a VirtualMachineSnapshot resource","properties":{"deletionPolicy":{"type":"string"},"failureDeadline":{"$ref":"#/definitions/v1VmDuration"},"source":{"$ref":"#/definitions/v1VmTypedLocalObjectReference"}},"required":["source"],"type":"object"},"v1VirtualMachineSnapshotStatus":{"description":"VirtualMachineSnapshotStatus is the status for a VirtualMachineSnapshot resource","properties":{"conditions":{"items":{"$ref":"#/definitions/v1VmCondition"},"type":"array"},"creationTime":{"$ref":"#/definitions/v1Time"},"error":{"$ref":"#/definitions/v1VmError"},"indications":{"items":{"type":"string"},"type":"array","x-kubernetes-list-type":"set"},"phase":{"type":"string"},"readyToUse":{"type":"boolean"},"snapshotVolumes":{"$ref":"#/definitions/v1VmSnapshotVolumesLists"},"sourceUID":{"type":"string"},"virtualMachineSnapshotContentName":{"type":"string"}},"type":"object","x-nullable":true},"v1VirtualMachineSpec":{"description":"Virtual cloud machine definition spec","properties":{"hostname":{"type":"string"}},"type":"object"},"v1VirtualMachines":{"description":"List of virtual machines","properties":{"items":{"items":{"$ref":"#/definitions/v1VirtualMachine"},"type":"array","uniqueItems":true},"listmeta":{"$ref":"#/definitions/v1ListMetaData"}},"required":["items"],"type":"object"},"v1VirtualNetwork":{"description":"Azure virtual network is the fundamental building block for your private network in Azure.","properties":{"addressSpaces":{"description":"Location of the virtual network","items":{"type":"string"},"type":"array","uniqueItems":true},"id":{"description":"The ID of the resource group","type":"string"},"location":{"description":"Location of the virtual network","type":"string"},"name":{"description":"Name of the virtual network","type":"string"},"subnets":{"description":"List of subnets associated with Azure VPC","items":{"$ref":"#/definitions/v1Subnet"},"type":"array"},"type":{"description":"Type of the virtual network","type":"string"}},"type":"object"},"v1VmAccessCredential":{"description":"AccessCredential represents a credential source that can be used to authorize remote access to the vm guest Only one of its members may be specified.","properties":{"sshPublicKey":{"$ref":"#/definitions/v1VmSshPublicKeyAccessCredential"},"userPassword":{"$ref":"#/definitions/v1VmUserPasswordAccessCredential"}},"type":"object"},"v1VmAccessCredentialSecretSource":{"properties":{"secretName":{"description":"SecretName represents the name of the secret in the VMI's namespace","type":"string"}},"required":["secretName"],"type":"object"},"v1VmAddVolumeOptions":{"description":"AddVolumeOptions is provided when dynamically hot plugging a volume and disk","properties":{"disk":{"$ref":"#/definitions/v1VmDisk"},"dryRun":{"description":"When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed","items":{"type":"string"},"type":"array","x-kubernetes-list-type":"atomic"},"name":{"description":"Name represents the name that will be used to map the disk to the corresponding volume. This overrides any name set inside the Disk struct itself.","type":"string"},"volumeSource":{"$ref":"#/definitions/v1VmHotplugVolumeSource"}},"required":["name","disk","volumeSource"],"type":"object"},"v1VmAffinity":{"description":"Affinity is a group of affinity scheduling rules.","properties":{"nodeAffinity":{"$ref":"#/definitions/v1VmNodeAffinity"},"podAffinity":{"$ref":"#/definitions/v1VmPodAffinity"},"podAntiAffinity":{"$ref":"#/definitions/v1PodAntiAffinity"}},"type":"object"},"v1VmBIOS":{"description":"If set (default), BIOS will be used.","properties":{"useSerial":{"description":"If set, the BIOS output will be transmitted over serial","type":"boolean"}},"type":"object"},"v1VmBlockSize":{"description":"BlockSize provides the option to change the block size presented to the VM for a disk. Only one of its members may be specified.","properties":{"custom":{"$ref":"#/definitions/v1VmCustomBlockSize"},"matchVolume":{"$ref":"#/definitions/v1VmFeatureState"}},"type":"object"},"v1VmBootloader":{"description":"Represents the firmware blob used to assist in the domain creation process. Used for setting the QEMU BIOS file path for the libvirt domain.","properties":{"bios":{"$ref":"#/definitions/v1VmBIOS"},"efi":{"$ref":"#/definitions/v1VmEFI"}},"type":"object"},"v1VmCDRomTarget":{"properties":{"bus":{"description":"Bus indicates the type of disk device to emulate. supported values: virtio, sata, scsi.","type":"string"},"readonly":{"description":"ReadOnly. Defaults to true.","type":"boolean"},"tray":{"description":"Tray indicates if the tray of the device is open or closed. Allowed values are \"open\" and \"closed\". Defaults to closed.","type":"string"}},"type":"object"},"v1VmChassis":{"description":"Chassis specifies the chassis info passed to the domain.","properties":{"asset":{"type":"string"},"manufacturer":{"type":"string"},"serial":{"type":"string"},"sku":{"type":"string"},"version":{"type":"string"}},"type":"object"},"v1VmClientPassthroughDevices":{"description":"Represent a subset of client devices that can be accessed by VMI. At the moment only, USB devices using Usbredir's library and tooling. Another fit would be a smartcard with libcacard.\n\nThe struct is currently empty as there is no immediate request for user-facing APIs. This structure simply turns on USB redirection of UsbClientPassthroughMaxNumberOf devices.","type":"object"},"v1VmClock":{"description":"Represents the clock and timers of a vmi.","properties":{"timer":{"$ref":"#/definitions/v1VmTimer"},"timezone":{"description":"Timezone sets the guest clock to the specified timezone. Zone name follows the TZ environment variable format (e.g. 'America/New_York').","type":"string"},"utc":{"$ref":"#/definitions/v1VmClockOffsetUTC"}},"type":"object"},"v1VmClockOffsetUTC":{"description":"UTC sets the guest clock to UTC on each boot.","properties":{"offsetSeconds":{"description":"OffsetSeconds specifies an offset in seconds, relative to UTC. If set, guest changes to the clock will be kept during reboots and not reset.","format":"int32","type":"integer"}},"type":"object"},"v1VmCloudInitConfigDriveSource":{"description":"Represents a cloud-init config drive user data source. More info: https://cloudinit.readthedocs.io/en/latest/topics/datasources/configdrive.html","properties":{"networkData":{"description":"NetworkData contains config drive inline cloud-init networkdata.","type":"string"},"networkDataBase64":{"description":"NetworkDataBase64 contains config drive cloud-init networkdata as a base64 encoded string.","type":"string"},"networkDataSecretRef":{"$ref":"#/definitions/v1VmLocalObjectReference"},"secretRef":{"$ref":"#/definitions/v1VmLocalObjectReference"},"userData":{"description":"UserData contains config drive inline cloud-init userdata.","type":"string"},"userDataBase64":{"description":"UserDataBase64 contains config drive cloud-init userdata as a base64 encoded string.","type":"string"}},"type":"object"},"v1VmCloudInitNoCloudSource":{"description":"Represents a cloud-init nocloud user data source. More info: http://cloudinit.readthedocs.io/en/latest/topics/datasources/nocloud.html","properties":{"networkData":{"description":"NetworkData contains NoCloud inline cloud-init networkdata.","type":"string"},"networkDataBase64":{"description":"NetworkDataBase64 contains NoCloud cloud-init networkdata as a base64 encoded string.","type":"string"},"networkDataSecretRef":{"$ref":"#/definitions/v1VmLocalObjectReference"},"secretRef":{"$ref":"#/definitions/v1VmLocalObjectReference"},"userData":{"description":"UserData contains NoCloud inline cloud-init userdata.","type":"string"},"userDataBase64":{"description":"UserDataBase64 contains NoCloud cloud-init userdata as a base64 encoded string.","type":"string"}},"type":"object"},"v1VmCondition":{"description":"Condition defines conditions","properties":{"lastProbeTime":{"type":"string"},"lastTransitionTime":{"type":"string"},"message":{"type":"string"},"reason":{"type":"string"},"status":{"type":"string"},"type":{"type":"string"}},"required":["type","status"],"type":"object"},"v1VmConfigDriveSshPublicKeyAccessCredentialPropagation":{"type":"object"},"v1VmConfigMapVolumeSource":{"description":"ConfigMapVolumeSource adapts a ConfigMap into a volume. More info: https://kubernetes.io/docs/concepts/storage/volumes/#configmap","properties":{"name":{"description":"Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names","type":"string"},"optional":{"description":"Specify whether the ConfigMap or it's keys must be defined","type":"boolean"},"volumeLabel":{"description":"The volume label of the resulting disk inside the VMI. Different bootstrapping mechanisms require different values. Typical values are \"cidata\" (cloud-init), \"config-2\" (cloud-init) or \"OEMDRV\" (kickstart).","type":"string"}},"type":"object"},"v1VmContainerDiskSource":{"description":"Represents a docker image with an embedded disk.","properties":{"image":{"description":"Image is the name of the image with the embedded disk.","type":"string"},"imagePullPolicy":{"description":"Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images","type":"string"},"imagePullSecret":{"description":"ImagePullSecret is the name of the Docker registry secret required to pull the image. The secret must already exist.","type":"string"},"path":{"description":"Path defines the path to disk file in the container","type":"string"}},"required":["image"],"type":"object"},"v1VmCoreDataVolumeSource":{"properties":{"hotpluggable":{"description":"Hotpluggable indicates whether the volume can be hotplugged and hotunplugged.","type":"boolean"},"name":{"description":"Name of both the DataVolume and the PVC in the same namespace. After PVC population the DataVolume is garbage collected by default.","type":"string"}},"required":["name"],"type":"object"},"v1VmCoreResourceRequirements":{"description":"ResourceRequirements describes the compute resource requirements.","properties":{"limits":{"additionalProperties":{"$ref":"#/definitions/v1VmQuantity"},"description":"Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/","type":"object"},"requests":{"additionalProperties":{"$ref":"#/definitions/v1VmQuantity"},"description":"Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/","type":"object"}},"type":"object"},"v1VmCpu":{"description":"CPU allows specifying the CPU topology.","properties":{"cores":{"description":"Cores specifies the number of cores inside the vmi. Must be a value greater or equal 1.","format":"int64","type":"integer"},"dedicatedCpuPlacement":{"description":"DedicatedCPUPlacement requests the scheduler to place the VirtualMachineInstance on a node with enough dedicated pCPUs and pin the vCPUs to it.","type":"boolean"},"features":{"description":"Features specifies the CPU features list inside the VMI.","items":{"$ref":"#/definitions/v1VmCpuFeature"},"type":"array"},"isolateEmulatorThread":{"description":"IsolateEmulatorThread requests one more dedicated pCPU to be allocated for the VMI to place the emulator thread on it.","type":"boolean"},"model":{"description":"Model specifies the CPU model inside the VMI. List of available models https://github.com/libvirt/libvirt/tree/master/src/cpu_map. It is possible to specify special cases like \"host-passthrough\" to get the same CPU as the node and \"host-model\" to get CPU closest to the node one. Defaults to host-model.","type":"string"},"numa":{"$ref":"#/definitions/v1VmNUMA"},"realtime":{"$ref":"#/definitions/v1VmRealtime"},"sockets":{"description":"Sockets specifies the number of sockets inside the vmi. Must be a value greater or equal 1.","format":"int64","type":"integer"},"threads":{"description":"Threads specifies the number of threads inside the vmi. Must be a value greater or equal 1.","format":"int64","type":"integer"}},"type":"object"},"v1VmCpuFeature":{"description":"CPUFeature allows specifying a CPU feature.","properties":{"name":{"description":"Name of the CPU feature","type":"string"},"policy":{"description":"Policy is the CPU feature attribute which can have the following attributes: force - The virtual CPU will claim the feature is supported regardless of it being supported by host CPU. require - Guest creation will fail unless the feature is supported by the host CPU or the hypervisor is able to emulate it. optional - The feature will be supported by virtual CPU if and only if it is supported by host CPU. disable - The feature will not be supported by virtual CPU. forbid - Guest creation will fail if the feature is supported by host CPU. Defaults to require","type":"string"}},"required":["name"],"type":"object"},"v1VmCustomBlockSize":{"description":"CustomBlockSize represents the desired logical and physical block size for a VM disk.","properties":{"logical":{"format":"int32","type":"integer"},"physical":{"format":"int32","type":"integer"}},"required":["logical","physical"],"type":"object"},"v1VmDHCPOptions":{"description":"Extra DHCP options to use in the interface.","properties":{"bootFileName":{"description":"If specified will pass option 67 to interface's DHCP server","type":"string"},"ntpServers":{"description":"If specified will pass the configured NTP server to the VM via DHCP option 042.","items":{"type":"string"},"type":"array"},"privateOptions":{"description":"If specified will pass extra DHCP options for private use, range: 224-254","items":{"$ref":"#/definitions/v1VmDHCPPrivateOptions"},"type":"array"},"tftpServerName":{"description":"If specified will pass option 66 to interface's DHCP server","type":"string"}},"type":"object"},"v1VmDHCPPrivateOptions":{"description":"DHCPExtraOptions defines Extra DHCP options for a VM.","properties":{"option":{"description":"Option is an Integer value from 224-254 Required.","format":"int32","type":"integer"},"value":{"description":"Value is a String value for the Option provided Required.","type":"string"}},"required":["option","value"],"type":"object"},"v1VmDataVolumeBlankImage":{"description":"DataVolumeBlankImage provides the parameters to create a new raw blank image for the PVC","type":"object"},"v1VmDataVolumeCheckpoint":{"description":"DataVolumeCheckpoint defines a stage in a warm migration.","properties":{"current":{"description":"Current is the identifier of the snapshot created for this checkpoint.","type":"string"},"previous":{"description":"Previous is the identifier of the snapshot from the previous checkpoint.","type":"string"}},"required":["previous","current"],"type":"object"},"v1VmDataVolumeSource":{"description":"DataVolumeSource represents the source for our Data Volume, this can be HTTP, Imageio, S3, Registry or an existing PVC","properties":{"blank":{"$ref":"#/definitions/v1VmDataVolumeBlankImage"},"http":{"$ref":"#/definitions/v1VmDataVolumeSourceHttp"},"imageio":{"$ref":"#/definitions/v1VmDataVolumeSourceImageIO"},"pvc":{"$ref":"#/definitions/v1VmDataVolumeSourcePVC"},"registry":{"$ref":"#/definitions/v1VmDataVolumeSourceRegistry"},"s3":{"$ref":"#/definitions/v1VmDataVolumeSourceS3"},"upload":{"$ref":"#/definitions/v1VmDataVolumeSourceUpload"},"vddk":{"$ref":"#/definitions/v1VmDataVolumeSourceVDDK"}},"type":"object"},"v1VmDataVolumeSourceHttp":{"description":"DataVolumeSourceHTTP can be either an http or https endpoint, with an optional basic auth user name and password, and an optional configmap containing additional CAs","properties":{"certConfigMap":{"description":"CertConfigMap is a configmap reference, containing a Certificate Authority(CA) public key, and a base64 encoded pem certificate","type":"string"},"extraHeaders":{"description":"ExtraHeaders is a list of strings containing extra headers to include with HTTP transfer requests","items":{"type":"string"},"type":"array"},"secretExtraHeaders":{"description":"SecretExtraHeaders is a list of Secret references, each containing an extra HTTP header that may include sensitive information","items":{"type":"string"},"type":"array"},"secretRef":{"description":"SecretRef A Secret reference, the secret should contain accessKeyId (user name) base64 encoded, and secretKey (password) also base64 encoded","type":"string"},"url":{"description":"URL is the URL of the http(s) endpoint","type":"string"}},"required":["url"],"type":"object"},"v1VmDataVolumeSourceImageIO":{"description":"DataVolumeSourceImageIO provides the parameters to create a Data Volume from an imageio source","properties":{"certConfigMap":{"description":"CertConfigMap provides a reference to the CA cert","type":"string"},"diskId":{"description":"DiskID provides id of a disk to be imported","type":"string"},"secretRef":{"description":"SecretRef provides the secret reference needed to access the ovirt-engine","type":"string"},"url":{"description":"URL is the URL of the ovirt-engine","type":"string"}},"required":["url","diskId"],"type":"object"},"v1VmDataVolumeSourcePVC":{"description":"DataVolumeSourcePVC provides the parameters to create a Data Volume from an existing PVC","properties":{"name":{"description":"The name of the source PVC","type":"string"},"namespace":{"description":"The namespace of the source PVC","type":"string"}},"required":["namespace","name"],"type":"object"},"v1VmDataVolumeSourceRef":{"description":"DataVolumeSourceRef defines an indirect reference to the source of data for the DataVolume","properties":{"kind":{"description":"The kind of the source reference, currently only \"DataSource\" is supported","type":"string"},"name":{"description":"The name of the source reference","type":"string"},"namespace":{"description":"The namespace of the source reference, defaults to the DataVolume namespace","type":"string"}},"required":["kind","name"],"type":"object"},"v1VmDataVolumeSourceRegistry":{"description":"DataVolumeSourceRegistry provides the parameters to create a Data Volume from an registry source","properties":{"certConfigMap":{"description":"CertConfigMap provides a reference to the Registry certs","type":"string"},"imageStream":{"description":"ImageStream is the name of image stream for import","type":"string"},"pullMethod":{"description":"PullMethod can be either \"pod\" (default import), or \"node\" (node docker cache based import)","type":"string"},"secretRef":{"description":"SecretRef provides the secret reference needed to access the Registry source","type":"string"},"url":{"description":"URL is the url of the registry source (starting with the scheme: docker, oci-archive)","type":"string"}},"type":"object"},"v1VmDataVolumeSourceS3":{"description":"DataVolumeSourceS3 provides the parameters to create a Data Volume from an S3 source","properties":{"certConfigMap":{"description":"CertConfigMap is a configmap reference, containing a Certificate Authority(CA) public key, and a base64 encoded pem certificate","type":"string"},"secretRef":{"description":"SecretRef provides the secret reference needed to access the S3 source","type":"string"},"url":{"description":"URL is the url of the S3 source","type":"string"}},"required":["url"],"type":"object"},"v1VmDataVolumeSourceUpload":{"description":"DataVolumeSourceUpload provides the parameters to create a Data Volume by uploading the source","type":"object"},"v1VmDataVolumeSourceVDDK":{"description":"DataVolumeSourceVDDK provides the parameters to create a Data Volume from a Vmware source","properties":{"backingFile":{"description":"BackingFile is the path to the virtual hard disk to migrate from vCenter/ESXi","type":"string"},"initImageURL":{"description":"InitImageURL is an optional URL to an image containing an extracted VDDK library, overrides v2v-vmware config map","type":"string"},"secretRef":{"description":"SecretRef provides a reference to a secret containing the username and password needed to access the vCenter or ESXi host","type":"string"},"thumbprint":{"description":"Thumbprint is the certificate thumbprint of the vCenter or ESXi host","type":"string"},"url":{"description":"URL is the URL of the vCenter or ESXi host with the VM to migrate","type":"string"},"uuid":{"description":"UUID is the UUID of the virtual machine that the backing file is attached to in vCenter/ESXi","type":"string"}},"type":"object"},"v1VmDataVolumeSpec":{"description":"DataVolumeSpec defines the DataVolume type specification","properties":{"checkpoints":{"description":"Checkpoints is a list of DataVolumeCheckpoints, representing stages in a multistage import.","items":{"$ref":"#/definitions/v1VmDataVolumeCheckpoint"},"type":"array"},"contentType":{"description":"DataVolumeContentType options: \"kubevirt\", \"archive\"","type":"string"},"finalCheckpoint":{"description":"FinalCheckpoint indicates whether the current DataVolumeCheckpoint is the final checkpoint.","type":"boolean"},"preallocation":{"description":"Preallocation controls whether storage for DataVolumes should be allocated in advance.","type":"boolean"},"priorityClassName":{"description":"PriorityClassName for Importer, Cloner and Uploader pod","type":"string"},"pvc":{"$ref":"#/definitions/v1VmPersistentVolumeClaimSpec"},"source":{"$ref":"#/definitions/v1VmDataVolumeSource"},"sourceRef":{"$ref":"#/definitions/v1VmDataVolumeSourceRef"},"storage":{"$ref":"#/definitions/v1VmStorageSpec"}},"type":"object"},"v1VmDataVolumeTemplateSpec":{"properties":{"apiVersion":{"description":"APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values.","type":"string"},"kind":{"description":"Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase.","type":"string"},"metadata":{"$ref":"#/definitions/v1VmObjectMeta"},"spec":{"$ref":"#/definitions/v1VmDataVolumeSpec"}},"required":["spec"],"type":"object"},"v1VmDevices":{"properties":{"autoattachGraphicsDevice":{"description":"Whether to attach the default graphics device or not. VNC will not be available if set to false. Defaults to true.","type":"boolean"},"autoattachInputDevice":{"description":"Whether to attach an Input Device. Defaults to false.","type":"boolean"},"autoattachMemBalloon":{"description":"Whether to attach the Memory balloon device with default period. Period can be adjusted in virt-config. Defaults to true.","type":"boolean"},"autoattachPodInterface":{"description":"Whether to attach a pod network interface. Defaults to true.","type":"boolean"},"autoattachSerialConsole":{"description":"Whether to attach the default serial console or not. Serial console access will not be available if set to false. Defaults to true.","type":"boolean"},"autoattachVSOCK":{"description":"Whether to attach the VSOCK CID to the VM or not. VSOCK access will be available if set to true. Defaults to false.","type":"boolean"},"blockMultiQueue":{"description":"Whether or not to enable virtio multi-queue for block devices. Defaults to false.","type":"boolean"},"clientPassthrough":{"$ref":"#/definitions/v1VmClientPassthroughDevices"},"disableHotplug":{"description":"DisableHotplug disabled the ability to hotplug disks.","type":"boolean"},"disks":{"description":"Disks describes disks, cdroms and luns which are connected to the vmi.","items":{"$ref":"#/definitions/v1VmDisk"},"type":"array"},"filesystems":{"description":"Filesystems describes filesystem which is connected to the vmi.","items":{"$ref":"#/definitions/v1VmFilesystem"},"type":"array","x-kubernetes-list-type":"atomic"},"gpus":{"description":"Whether to attach a GPU device to the vmi.","items":{"$ref":"#/definitions/v1VmGPU"},"type":"array","x-kubernetes-list-type":"atomic"},"hostDevices":{"description":"Whether to attach a host device to the vmi.","items":{"$ref":"#/definitions/v1VmHostDevice"},"type":"array","x-kubernetes-list-type":"atomic"},"inputs":{"description":"Inputs describe input devices","items":{"$ref":"#/definitions/v1VmInput"},"type":"array"},"interfaces":{"description":"Interfaces describe network interfaces which are added to the vmi.","items":{"$ref":"#/definitions/v1VmInterface"},"type":"array"},"networkInterfaceMultiqueue":{"description":"If specified, virtual network interfaces configured with a virtio bus will also enable the vhost multiqueue feature for network devices. The number of queues created depends on additional factors of the VirtualMachineInstance, like the number of guest CPUs.","type":"boolean"},"rng":{"$ref":"#/definitions/v1VmRng"},"sound":{"$ref":"#/definitions/v1VmSoundDevice"},"tpm":{"$ref":"#/definitions/v1VmTPMDevice"},"useVirtioTransitional":{"description":"Fall back to legacy virtio 0.9 support if virtio bus is selected on devices. This is helpful for old machines like CentOS6 or RHEL6 which do not understand virtio_non_transitional (virtio 1.0).","type":"boolean"},"watchdog":{"$ref":"#/definitions/v1VmWatchdog"}},"type":"object"},"v1VmDisk":{"properties":{"blockSize":{"$ref":"#/definitions/v1VmBlockSize"},"bootOrder":{"description":"BootOrder is an integer value \u003e 0, used to determine ordering of boot devices. Lower values take precedence. Each disk or interface that has a boot order must have a unique value. Disks without a boot order are not tried if a disk with a boot order exists.","format":"int32","type":"integer"},"cache":{"description":"Cache specifies which kvm disk cache mode should be used. Supported values are: CacheNone, CacheWriteThrough.","type":"string"},"cdrom":{"$ref":"#/definitions/v1VmCDRomTarget"},"dedicatedIOThread":{"description":"dedicatedIOThread indicates this disk should have an exclusive IO Thread. Enabling this implies useIOThreads = true. Defaults to false.","type":"boolean"},"disk":{"$ref":"#/definitions/v1VmDiskTarget"},"io":{"description":"IO specifies which QEMU disk IO mode should be used. Supported values are: native, default, threads.","type":"string"},"lun":{"$ref":"#/definitions/v1VmLunTarget"},"name":{"description":"Name is the device name","type":"string"},"serial":{"description":"Serial provides the ability to specify a serial number for the disk device.","type":"string"},"shareable":{"description":"If specified the disk is made sharable and multiple write from different VMs are permitted","type":"boolean"},"tag":{"description":"If specified, disk address and its tag will be provided to the guest via config drive metadata","type":"string"}},"required":["name"],"type":"object"},"v1VmDiskTarget":{"properties":{"bus":{"description":"Bus indicates the type of disk device to emulate. supported values: virtio, sata, scsi, usb.","type":"string"},"pciAddress":{"description":"If specified, the virtual disk will be placed on the guests pci address with the specified PCI address. For example: 0000:81:01.10","type":"string"},"readonly":{"description":"ReadOnly. Defaults to false.","type":"boolean"}},"type":"object"},"v1VmDomainSpec":{"properties":{"chassis":{"$ref":"#/definitions/v1VmChassis"},"clock":{"$ref":"#/definitions/v1VmClock"},"cpu":{"$ref":"#/definitions/v1VmCpu"},"devices":{"$ref":"#/definitions/v1VmDevices"},"features":{"$ref":"#/definitions/v1VmFeatures"},"firmware":{"$ref":"#/definitions/v1VmFirmware"},"ioThreadsPolicy":{"description":"Controls whether or not disks will share IOThreads. Omitting IOThreadsPolicy disables use of IOThreads. One of: shared, auto","type":"string"},"launchSecurity":{"$ref":"#/definitions/v1VmLaunchSecurity"},"machine":{"$ref":"#/definitions/v1VmMachine"},"memory":{"$ref":"#/definitions/v1VmMemory"},"resources":{"$ref":"#/definitions/v1VmResourceRequirements"}},"required":["devices"],"type":"object"},"v1VmDownwardApiVolumeFile":{"description":"DownwardAPIVolumeFile represents information to create the file containing the pod field","properties":{"fieldRef":{"$ref":"#/definitions/v1VmObjectFieldSelector"},"mode":{"description":"Optional: mode bits used to set permissions on this file, must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.","format":"int32","type":"integer"},"path":{"description":"Required: Path is the relative path name of the file to be created. Must not be absolute or contain the '..' path. Must be utf-8 encoded. The first item of the relative path must not start with '..'","type":"string"},"resourceFieldRef":{"$ref":"#/definitions/v1VmResourceFieldSelector"}},"required":["path"],"type":"object"},"v1VmDownwardApiVolumeSource":{"description":"DownwardAPIVolumeSource represents a volume containing downward API info.","properties":{"fields":{"description":"Fields is a list of downward API volume file","items":{"$ref":"#/definitions/v1VmDownwardApiVolumeFile"},"type":"array"},"volumeLabel":{"description":"The volume label of the resulting disk inside the VMI. Different bootstrapping mechanisms require different values. Typical values are \"cidata\" (cloud-init), \"config-2\" (cloud-init) or \"OEMDRV\" (kickstart).","type":"string"}},"type":"object"},"v1VmDownwardMetricsVolumeSource":{"description":"DownwardMetricsVolumeSource adds a very small disk to VMIs which contains a limited view of host and guest metrics. The disk content is compatible with vhostmd (https://github.com/vhostmd/vhostmd) and vm-dump-metrics.","type":"object"},"v1VmDuration":{"description":"Duration is a wrapper around time.Duration which supports correct marshaling to YAML and JSON. In particular, it marshals into strings, which can be used as map keys in json.","type":"string"},"v1VmEFI":{"description":"If set, EFI will be used instead of BIOS.","properties":{"secureBoot":{"description":"If set, SecureBoot will be enabled and the OVMF roms will be swapped for SecureBoot-enabled ones. Requires SMM to be enabled. Defaults to true","type":"boolean"}},"type":"object"},"v1VmEmptyDiskSource":{"description":"EmptyDisk represents a temporary disk which shares the vmis lifecycle.","properties":{"capacity":{"$ref":"#/definitions/v1VmQuantity"}},"required":["capacity"],"type":"object"},"v1VmEphemeralVolumeSource":{"properties":{"persistentVolumeClaim":{"$ref":"#/definitions/v1VmPersistentVolumeClaimVolumeSource"}},"type":"object"},"v1VmError":{"description":"Error is the last error encountered during the snapshot/restore","properties":{"message":{"type":"string"},"time":{"$ref":"#/definitions/v1Time"}},"type":"object"},"v1VmExecAction":{"description":"ExecAction describes a \"run in container\" action.","properties":{"command":{"description":"Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.","items":{"type":"string"},"type":"array"}},"type":"object"},"v1VmFeatureApiC":{"properties":{"enabled":{"description":"Enabled determines if the feature should be enabled or disabled on the guest. Defaults to true.","type":"boolean"},"endOfInterrupt":{"description":"EndOfInterrupt enables the end of interrupt notification in the guest. Defaults to false.","type":"boolean"}},"type":"object"},"v1VmFeatureHyperv":{"description":"Hyperv specific features.","properties":{"evmcs":{"$ref":"#/definitions/v1VmFeatureState"},"frequencies":{"$ref":"#/definitions/v1VmFeatureState"},"ipi":{"$ref":"#/definitions/v1VmFeatureState"},"reenlightenment":{"$ref":"#/definitions/v1VmFeatureState"},"relaxed":{"$ref":"#/definitions/v1VmFeatureState"},"reset":{"$ref":"#/definitions/v1VmFeatureState"},"runtime":{"$ref":"#/definitions/v1VmFeatureState"},"spinlocks":{"$ref":"#/definitions/v1VmFeatureSpinlocks"},"synic":{"$ref":"#/definitions/v1VmFeatureState"},"synictimer":{"$ref":"#/definitions/v1VmSyNICTimer"},"tlbflush":{"$ref":"#/definitions/v1VmFeatureState"},"vapic":{"$ref":"#/definitions/v1VmFeatureState"},"vendorid":{"$ref":"#/definitions/v1VmFeatureVendorId"},"vpindex":{"$ref":"#/definitions/v1VmFeatureState"}},"type":"object"},"v1VmFeatureKVm":{"properties":{"hidden":{"description":"Hide the KVM hypervisor from standard MSR based discovery. Defaults to false","type":"boolean"}},"type":"object"},"v1VmFeatureSpinlocks":{"properties":{"enabled":{"description":"Enabled determines if the feature should be enabled or disabled on the guest. Defaults to true.","type":"boolean"},"spinlocks":{"description":"Retries indicates the number of retries. Must be a value greater or equal 4096. Defaults to 4096.","format":"int64","type":"integer"}},"type":"object"},"v1VmFeatureState":{"description":"Represents if a feature is enabled or disabled.","properties":{"enabled":{"description":"Enabled determines if the feature should be enabled or disabled on the guest. Defaults to true.","type":"boolean"}},"type":"object"},"v1VmFeatureVendorId":{"properties":{"enabled":{"description":"Enabled determines if the feature should be enabled or disabled on the guest. Defaults to true.","type":"boolean"},"vendorid":{"description":"VendorID sets the hypervisor vendor id, visible to the vmi. String up to twelve characters.","type":"string"}},"type":"object"},"v1VmFeatures":{"properties":{"acpi":{"$ref":"#/definitions/v1VmFeatureState"},"apic":{"$ref":"#/definitions/v1VmFeatureApiC"},"hyperv":{"$ref":"#/definitions/v1VmFeatureHyperv"},"kvm":{"$ref":"#/definitions/v1VmFeatureKVm"},"pvspinlock":{"$ref":"#/definitions/v1VmFeatureState"},"smm":{"$ref":"#/definitions/v1VmFeatureState"}},"type":"object"},"v1VmFieldsV1":{"description":"FieldsV1 stores a set of fields in a data structure like a Trie, in JSON format.\n\nEach key is either a '.' representing the field itself, and will always map to an empty set, or a string representing a sub-field or item. The string will follow one of these four formats: 'f:\u003cname\u003e', where \u003cname\u003e is the name of a field in a struct, or key in a map 'v:\u003cvalue\u003e', where \u003cvalue\u003e is the exact json formatted value of a list item 'i:\\\u003cindex\u003e', where \\\u003cindex\u003e is position of a item in a list 'k:\u003ckeys\u003e', where \u003ckeys\u003e is a map of a list item's key fields to their unique values If a key maps to an empty Fields value, the field that key represents is part of the set.\n\nThe exact format is defined in sigs.k8s.io/structured-merge-diff","properties":{"Raw":{"items":{"format":"byte","type":"string"},"type":"array"}},"type":"object"},"v1VmFilesystem":{"properties":{"name":{"description":"Name is the device name","type":"string"},"virtiofs":{"$ref":"#/definitions/v1VmFilesystemVirtiofs"}},"required":["name","virtiofs"],"type":"object"},"v1VmFilesystemVirtiofs":{"type":"object"},"v1VmFirmware":{"properties":{"bootloader":{"$ref":"#/definitions/v1VmBootloader"},"kernelBoot":{"$ref":"#/definitions/v1VmKernelBoot"},"serial":{"description":"The system-serial-number in SMBIOS","type":"string"},"uuid":{"description":"UUID reported by the vmi bios. Defaults to a random generated uid.","type":"string"}},"type":"object"},"v1VmGPU":{"properties":{"deviceName":{"type":"string"},"name":{"description":"Name of the GPU device as exposed by a device plugin","type":"string"},"tag":{"description":"If specified, the virtual network interface address and its tag will be provided to the guest via config drive","type":"string"},"virtualGPUOptions":{"$ref":"#/definitions/v1VmVGPUOptions"}},"required":["name","deviceName"],"type":"object"},"v1VmGuestAgentPing":{"description":"GuestAgentPing configures the guest-agent based ping probe","type":"object"},"v1VmHPETTimer":{"properties":{"present":{"description":"Enabled set to false makes sure that the machine type or a preset can't add the timer. Defaults to true.","type":"boolean"},"tickPolicy":{"description":"TickPolicy determines what happens when QEMU misses a deadline for injecting a tick to the guest. One of \"delay\", \"catchup\", \"merge\", \"discard\".","type":"string"}},"type":"object"},"v1VmHostDevice":{"properties":{"deviceName":{"description":"DeviceName is the resource name of the host device exposed by a device plugin","type":"string"},"name":{"type":"string"},"tag":{"description":"If specified, the virtual network interface address and its tag will be provided to the guest via config drive","type":"string"}},"required":["name","deviceName"],"type":"object"},"v1VmHostDisk":{"description":"Represents a disk created on the cluster level","properties":{"capacity":{"$ref":"#/definitions/v1VmQuantity"},"path":{"description":"The path to HostDisk image located on the cluster","type":"string"},"shared":{"description":"Shared indicate whether the path is shared between nodes","type":"boolean"},"type":{"description":"Contains information if disk.img exists or should be created allowed options are 'Disk' and 'DiskOrCreate'","type":"string"}},"required":["path","type"],"type":"object"},"v1VmHotplugVolumeSource":{"description":"HotplugVolumeSource Represents the source of a volume to mount which are capable of being hotplugged on a live running VMI. Only one of its members may be specified.","properties":{"dataVolume":{"$ref":"#/definitions/v1VmCoreDataVolumeSource"},"persistentVolumeClaim":{"$ref":"#/definitions/v1VmPersistentVolumeClaimVolumeSource"}},"type":"object"},"v1VmHttpGetAction":{"description":"HTTPGetAction describes an action based on HTTP Get requests.","properties":{"host":{"description":"Host name to connect to, defaults to the pod IP. You probably want to set \"Host\" in httpHeaders instead.","type":"string"},"httpHeaders":{"description":"Custom headers to set in the request. HTTP allows repeated headers.","items":{"$ref":"#/definitions/v1VmHttpHeader"},"type":"array"},"path":{"description":"Path to access on the HTTP server.","type":"string"},"port":{"description":"Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.","type":["string","number"]},"scheme":{"description":"Scheme to use for connecting to the host. Defaults to HTTP.","type":"string"}},"required":["port"],"type":"object"},"v1VmHttpHeader":{"description":"HTTPHeader describes a custom header to be used in HTTP probes","properties":{"name":{"description":"The header field name","type":"string"},"value":{"description":"The header field value","type":"string"}},"required":["name","value"],"type":"object"},"v1VmHugepages":{"description":"Hugepages allow to use hugepages for the VirtualMachineInstance instead of regular memory.","properties":{"pageSize":{"description":"PageSize specifies the hugepage size, for x86_64 architecture valid values are 1Gi and 2Mi.","type":"string"}},"type":"object"},"v1VmHypervTimer":{"properties":{"present":{"description":"Enabled set to false makes sure that the machine type or a preset can't add the timer. Defaults to true.","type":"boolean"}},"type":"object"},"v1VmI6300ESBWatchdog":{"description":"i6300esb watchdog device.","properties":{"action":{"description":"The action to take. Valid values are poweroff, reset, shutdown. Defaults to reset.","type":"string"}},"type":"object"},"v1VmInput":{"properties":{"bus":{"description":"Bus indicates the bus of input device to emulate. Supported values: virtio, usb.","type":"string"},"name":{"description":"Name is the device name","type":"string"},"type":{"description":"Type indicated the type of input device. Supported values: tablet.","type":"string"}},"required":["type","name"],"type":"object"},"v1VmInstancetypeMatcher":{"description":"InstancetypeMatcher references a instancetype that is used to fill fields in the VMI template.","properties":{"inferFromVolume":{"description":"InferFromVolume lists the name of a volume that should be used to infer or discover the instancetype to be used through known annotations on the underlying resource. Once applied to the InstancetypeMatcher this field is removed.","type":"string"},"kind":{"description":"Kind specifies which instancetype resource is referenced. Allowed values are: \"VirtualMachineInstancetype\" and \"VirtualMachineClusterInstancetype\". If not specified, \"VirtualMachineClusterInstancetype\" is used by default.","type":"string"},"name":{"description":"Name is the name of the VirtualMachineInstancetype or VirtualMachineClusterInstancetype","type":"string"},"revisionName":{"description":"RevisionName specifies a ControllerRevision containing a specific copy of the VirtualMachineInstancetype or VirtualMachineClusterInstancetype to be used. This is initially captured the first time the instancetype is applied to the VirtualMachineInstance.","type":"string"}},"type":"object"},"v1VmInterface":{"properties":{"acpiIndex":{"description":"If specified, the ACPI index is used to provide network interface device naming, that is stable across changes in PCI addresses assigned to the device. This value is required to be unique across all devices and be between 1 and (16*1024-1).","format":"int32","type":"integer"},"bootOrder":{"description":"BootOrder is an integer value \u003e 0, used to determine ordering of boot devices. Lower values take precedence. Each interface or disk that has a boot order must have a unique value. Interfaces without a boot order are not tried.","format":"int32","type":"integer"},"bridge":{"$ref":"#/definitions/v1VmInterfaceBridge"},"dhcpOptions":{"$ref":"#/definitions/v1VmDHCPOptions"},"macAddress":{"description":"Interface MAC address. For example: de:ad:00:00:be:af or DE-AD-00-00-BE-AF.","type":"string"},"macvtap":{"$ref":"#/definitions/v1VmInterfaceMacvtap"},"masquerade":{"$ref":"#/definitions/v1VmInterfaceMasquerade"},"model":{"description":"Interface model. One of: e1000, e1000e, ne2k_pci, pcnet, rtl8139, virtio. Defaults to virtio.","type":"string"},"name":{"description":"Logical name of the interface as well as a reference to the associated networks. Must match the Name of a Network.","type":"string"},"passt":{"$ref":"#/definitions/v1VmInterfacePasst"},"pciAddress":{"description":"If specified, the virtual network interface will be placed on the guests pci address with the specified PCI address. For example: 0000:81:01.10","type":"string"},"ports":{"description":"List of ports to be forwarded to the virtual machine.","items":{"$ref":"#/definitions/v1VmPort"},"type":"array"},"slirp":{"$ref":"#/definitions/v1VmInterfaceSlirp"},"sriov":{"$ref":"#/definitions/v1VmInterfaceSRIOV"},"tag":{"description":"If specified, the virtual network interface address and its tag will be provided to the guest via config drive","type":"string"}},"required":["name"],"type":"object"},"v1VmInterfaceBridge":{"description":"InterfaceBridge connects to a given network via a linux bridge.","type":"object"},"v1VmInterfaceMacvtap":{"description":"InterfaceMacvtap connects to a given network by extending the Kubernetes node's L2 networks via a macvtap interface.","type":"object"},"v1VmInterfaceMasquerade":{"description":"InterfaceMasquerade connects to a given network using netfilter rules to nat the traffic.","type":"object"},"v1VmInterfacePasst":{"description":"InterfacePasst connects to a given network.","type":"object"},"v1VmInterfaceSRIOV":{"description":"InterfaceSRIOV connects to a given network by passing-through an SR-IOV PCI device via vfio.","type":"object"},"v1VmInterfaceSlirp":{"description":"InterfaceSlirp connects to a given network using QEMU user networking mode.","type":"object"},"v1VmKVmTimer":{"properties":{"present":{"description":"Enabled set to false makes sure that the machine type or a preset can't add the timer. Defaults to true.","type":"boolean"}},"type":"object"},"v1VmKernelBoot":{"description":"Represents the firmware blob used to assist in the kernel boot process. Used for setting the kernel, initrd and command line arguments","properties":{"container":{"$ref":"#/definitions/v1VmKernelBootContainer"},"kernelArgs":{"description":"Arguments to be passed to the kernel at boot time","type":"string"}},"type":"object"},"v1VmKernelBootContainer":{"description":"If set, the VM will be booted from the defined kernel / initrd.","properties":{"image":{"description":"Image that contains initrd / kernel files.","type":"string"},"imagePullPolicy":{"description":"Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images","type":"string"},"imagePullSecret":{"description":"ImagePullSecret is the name of the Docker registry secret required to pull the image. The secret must already exist.","type":"string"},"initrdPath":{"description":"the fully-qualified path to the ramdisk image in the host OS","type":"string"},"kernelPath":{"description":"The fully-qualified path to the kernel image in the host OS","type":"string"}},"required":["image"],"type":"object"},"v1VmLabelSelector":{"description":"A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.","properties":{"matchExpressions":{"description":"matchExpressions is a list of label selector requirements. The requirements are ANDed.","items":{"$ref":"#/definitions/v1VmLabelSelectorRequirement"},"type":"array"},"matchLabels":{"additionalProperties":{"type":"string"},"description":"matchLabels is a map of key-value pairs. A single key-value in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.","type":"object"}},"type":"object"},"v1VmLabelSelectorRequirement":{"description":"A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.","properties":{"key":{"description":"key is the label key that the selector applies to.","type":"string","x-kubernetes-patch-merge-key":"key","x-kubernetes-patch-strategy":"merge"},"operator":{"description":"operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.","type":"string"},"values":{"description":"values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.","items":{"type":"string"},"type":"array"}},"required":["key","operator"],"type":"object"},"v1VmLaunchSecurity":{"properties":{"sev":{"$ref":"#/definitions/v1VmSEV"}},"type":"object"},"v1VmListMeta":{"description":"ListMeta describes metadata that synthetic resources must have, including lists and various status objects. A resource may have only one of {ObjectMeta, ListMeta}.","properties":{"continue":{"description":"continue may be set if the user set a limit on the number of items returned, and indicates that the server has more data available. The value is opaque and may be used to issue another request to the endpoint that served this list to retrieve the next set of available objects. Continuing a consistent list may not be possible if the server configuration has changed or more than a few minutes have passed. The resourceVersion field returned when using this continue value will be identical to the value in the first response, unless you have received this token from an error message.","type":"string"},"remainingItemCount":{"description":"remainingItemCount is the number of subsequent items in the list which are not included in this list response. If the list request contained label or field selectors, then the number of remaining items is unknown and the field will be left unset and omitted during serialization. If the list is complete (either because it is not chunking or because this is the last chunk), then there are no more remaining items and this field will be left unset and omitted during serialization. Servers older than v1.15 do not set this field. The intended use of the remainingItemCount is *estimating* the size of a collection. Clients should not rely on the remainingItemCount to be set or to be exact.","format":"int64","type":"integer"},"resourceVersion":{"description":"String that identifies the server's internal version of this object that can be used by clients to determine when objects have changed. Value must be treated as opaque by clients and passed unmodified back to the server. Populated by the system. Read-only.","type":"string"},"selfLink":{"description":"selfLink is a URL representing this object. Populated by the system. Read-only.\n\nDEPRECATED Kubernetes will stop propagating this field in 1.20 release and the field is planned to be removed in 1.21 release.","type":"string"}},"type":"object"},"v1VmLocalObjectReference":{"description":"LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace.","properties":{"name":{"description":"Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names","type":"string"}},"type":"object"},"v1VmLunTarget":{"properties":{"bus":{"description":"Bus indicates the type of disk device to emulate. supported values: virtio, sata, scsi.","type":"string"},"readonly":{"description":"ReadOnly. Defaults to false.","type":"boolean"}},"type":"object"},"v1VmMachine":{"properties":{"type":{"description":"QEMU machine type is the actual chipset of the VirtualMachineInstance.","type":"string"}},"type":"object"},"v1VmManagedFieldsEntry":{"description":"ManagedFieldsEntry is a workflow-id, a FieldSet and the group version of the resource that the fieldset applies to.","properties":{"apiVersion":{"description":"APIVersion defines the version of this resource that this field set applies to. The format is \"group/version\" just like the top-level APIVersion field. It is necessary to track the version of a field set because it cannot be automatically converted.","type":"string"},"fieldsType":{"description":"FieldsType is the discriminator for the different fields format and version. There is currently only one possible value: \"FieldsV1\"","type":"string"},"fieldsV1":{"$ref":"#/definitions/v1VmFieldsV1"},"manager":{"description":"Manager is an identifier of the workflow managing these fields.","type":"string"},"operation":{"description":"Operation is the type of operation which lead to this ManagedFieldsEntry being created. The only valid values for this field are 'Apply' and 'Update'.","type":"string"},"subresource":{"description":"Subresource is the name of the subresource used to update that object, or empty string if the object was updated through the main resource. The value of this field is used to distinguish between managers, even if they share the same name. For example, a status update will be distinct from a regular update using the same manager name. Note that the APIVersion field is not related to the Subresource field and it always corresponds to the version of the main resource.","type":"string"},"time":{"$ref":"#/definitions/v1Time"}},"type":"object"},"v1VmMemory":{"description":"Memory allows specifying the VirtualMachineInstance memory features.","properties":{"guest":{"$ref":"#/definitions/v1VmQuantity"},"hugepages":{"$ref":"#/definitions/v1VmHugepages"}},"type":"object"},"v1VmMemoryDumpVolumeSource":{"properties":{"claimName":{"description":"ClaimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims","type":"string"},"hotpluggable":{"description":"Hotpluggable indicates whether the volume can be hotplugged and hotunplugged.","type":"boolean"},"readOnly":{"description":"Will force the ReadOnly setting in VolumeMounts. Default false.","type":"boolean"}},"required":["claimName"],"type":"object"},"v1VmMultusNetwork":{"description":"Represents the multus cni network.","properties":{"default":{"description":"Select the default network and add it to the multus-cni.io/default-network annotation.","type":"boolean"},"networkName":{"description":"References to a NetworkAttachmentDefinition CRD object. Format: \u003cnetworkName\u003e, \u003cnamespace\u003e/\u003cnetworkName\u003e. If namespace is not specified, VMI namespace is assumed.","type":"string"}},"required":["networkName"],"type":"object"},"v1VmNUMA":{"properties":{"guestMappingPassthrough":{"$ref":"#/definitions/v1VmNUMAGuestMappingPassthrough"}},"type":"object"},"v1VmNUMAGuestMappingPassthrough":{"description":"NUMAGuestMappingPassthrough instructs kubevirt to model numa topology which is compatible with the CPU pinning on the guest. This will result in a subset of the node numa topology being passed through, ensuring that virtual numa nodes and their memory never cross boundaries coming from the node numa mapping.","type":"object"},"v1VmNetwork":{"description":"Network represents a network type and a resource that should be connected to the vm.","properties":{"multus":{"$ref":"#/definitions/v1VmMultusNetwork"},"name":{"description":"Network name. Must be a DNS_LABEL and unique within the vm. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names","type":"string"},"pod":{"$ref":"#/definitions/v1VmPodNetwork"}},"required":["name"],"type":"object"},"v1VmNodeAffinity":{"description":"Node affinity is a group of node affinity scheduling rules.","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"description":"The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding \"weight\" to the sum if the node matches the corresponding matchExpressions; the node(s) with the highest sum are the most preferred.","items":{"$ref":"#/definitions/v1VmPreferredSchedulingTerm"},"type":"array"},"requiredDuringSchedulingIgnoredDuringExecution":{"$ref":"#/definitions/v1VmNodeSelector"}},"type":"object"},"v1VmNodeSelector":{"description":"A node selector represents the union of the results of one or more label queries over a set of nodes; that is, it represents the OR of the selectors represented by the node selector terms.","properties":{"nodeSelectorTerms":{"description":"Required. A list of node selector terms. The terms are ORed.","items":{"$ref":"#/definitions/v1VmNodeSelectorTerm"},"type":"array"}},"required":["nodeSelectorTerms"],"type":"object"},"v1VmNodeSelectorRequirement":{"description":"A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.","properties":{"key":{"description":"The label key that the selector applies to.","type":"string"},"operator":{"description":"Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.","type":"string"},"values":{"description":"An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.","items":{"type":"string"},"type":"array"}},"required":["key","operator"],"type":"object"},"v1VmNodeSelectorTerm":{"description":"A null or empty node selector term matches no objects. The requirements of them are ANDed. The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.","properties":{"matchExpressions":{"description":"A list of node selector requirements by node's labels.","items":{"$ref":"#/definitions/v1VmNodeSelectorRequirement"},"type":"array"},"matchFields":{"description":"A list of node selector requirements by node's fields.","items":{"$ref":"#/definitions/v1VmNodeSelectorRequirement"},"type":"array"}},"type":"object"},"v1VmObjectFieldSelector":{"description":"ObjectFieldSelector selects an APIVersioned field of an object.","properties":{"apiVersion":{"description":"Version of the schema the FieldPath is written in terms of, defaults to \"v1\".","type":"string"},"fieldPath":{"description":"Path of the field to select in the specified API version.","type":"string"}},"required":["fieldPath"],"type":"object"},"v1VmObjectMeta":{"description":"ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.","properties":{"annotations":{"additionalProperties":{"type":"string"},"description":"Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations","type":"object"},"clusterName":{"description":"The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request.","type":"string"},"creationTimestamp":{"description":"CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.\n\nPopulated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata","type":"string"},"deletionGracePeriodSeconds":{"description":"Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only.","format":"int64","type":"integer"},"deletionTimestamp":{"description":"DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.\n\nPopulated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata","format":"date-time","type":"string","x-nullable":true},"finalizers":{"description":"Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. Finalizers may be processed and removed in any order. Order is NOT enforced because it introduces significant risk of stuck finalizers. finalizers is a shared field, any actor with permission can reorder it. If the finalizer list is processed in order, then this can lead to a situation in which the component responsible for the first finalizer in the list is waiting for a signal (field value, external system, or other) produced by a component responsible for a finalizer later in the list, resulting in a deadlock. Without enforced ordering finalizers are free to order amongst themselves and are not vulnerable to ordering changes in the list.","items":{"type":"string"},"type":"array","x-kubernetes-patch-strategy":"merge"},"generateName":{"description":"GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server.\n\nIf this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header).\n\nApplied only if Name is not specified.","type":"string"},"generation":{"description":"A sequence number representing a specific generation of the desired state. Populated by the system. Read-only.","format":"int64","type":"integer"},"labels":{"additionalProperties":{"type":"string"},"description":"Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels","type":"object"},"managedFields":{"description":"ManagedFields maps workflow-id and version to the set of fields that are managed by that workflow. This is mostly for internal housekeeping, and users typically shouldn't need to set or understand this field. A workflow can be the user's name, a controller's name, or the name of a specific apply path like \"ci-cd\". The set of fields is always in the version that the workflow used when modifying the object.","items":{"$ref":"#/definitions/v1VmManagedFieldsEntry"},"type":"array"},"name":{"description":"Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names","type":"string"},"namespace":{"description":"Namespace defines the space within which each name must be unique. An empty namespace is equivalent to the \"default\" namespace, but \"default\" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty.\nMust be a DNS_LABEL. Cannot be updated.","type":"string"},"ownerReferences":{"description":"List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller.","items":{"$ref":"#/definitions/v1VmOwnerReference"},"type":"array","x-kubernetes-patch-merge-key":"uid","x-kubernetes-patch-strategy":"merge"},"resourceVersion":{"description":"An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources.\nPopulated by the system. Read-only. Value must be treated as opaque by clients.","type":"string"},"selfLink":{"description":"SelfLink is a URL representing this object. Populated by the system. Read-only.\nDEPRECATED Kubernetes will stop propagating this field in 1.20 release and the field is planned to be removed in 1.21 release.","type":"string"},"uid":{"description":"UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\nPopulated by the system. Read-only.","type":"string"}},"type":"object"},"v1VmOwnerReference":{"description":"OwnerReference contains enough information to let you identify an owning object. An owning object must be in the same namespace as the dependent, or be cluster-scoped, so there is no namespace field.","properties":{"apiVersion":{"description":"API version of the referent.","type":"string"},"blockOwnerDeletion":{"description":"If true, AND if the owner has the \"foregroundDeletion\" finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs \"delete\" permission of the owner, otherwise 422 (Unprocessable Entity) will be returned.","type":"boolean"},"controller":{"description":"If true, this reference points to the managing controller.","type":"boolean"},"kind":{"description":"Kind of the referent.","type":"string"},"name":{"description":"Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names","type":"string"},"uid":{"description":"UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids","type":"string"}},"required":["apiVersion","kind","name","uid"],"type":"object"},"v1VmPITTimer":{"properties":{"present":{"description":"Enabled set to false makes sure that the machine type or a preset can't add the timer. Defaults to true.","type":"boolean"},"tickPolicy":{"description":"TickPolicy determines what happens when QEMU misses a deadline for injecting a tick to the guest. One of \"delay\", \"catchup\", \"discard\".","type":"string"}},"type":"object"},"v1VmPersistentVolumeClaimSpec":{"description":"PersistentVolumeClaimSpec describes the common attributes of storage devices and allows a Source for provider-specific attributes","properties":{"accessModes":{"description":"AccessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1","items":{"type":"string"},"type":"array"},"dataSource":{"$ref":"#/definitions/v1VmTypedLocalObjectReference"},"dataSourceRef":{"$ref":"#/definitions/v1VmTypedLocalObjectReference"},"resources":{"$ref":"#/definitions/v1VmCoreResourceRequirements"},"selector":{"$ref":"#/definitions/v1VmLabelSelector"},"storageClassName":{"description":"Name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1","type":"string"},"volumeMode":{"description":"volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec.","type":"string"},"volumeName":{"description":"VolumeName is the binding reference to the PersistentVolume backing this claim.","type":"string"}},"type":"object"},"v1VmPersistentVolumeClaimVolumeSource":{"description":"PersistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace. Directly attached to the vmi via qemu. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims","properties":{"claimName":{"description":"ClaimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims","type":"string"},"hotpluggable":{"description":"Hotpluggable indicates whether the volume can be hotplugged and hotunplugged.","type":"boolean"},"readOnly":{"description":"Will force the ReadOnly setting in VolumeMounts. Default false.","type":"boolean"}},"required":["claimName"],"type":"object"},"v1VmPodAffinity":{"description":"Pod affinity is a group of inter pod affinity scheduling rules.","properties":{"preferredDuringSchedulingIgnoredDuringExecution":{"description":"The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding \"weight\" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred.","items":{"$ref":"#/definitions/v1VmWeightedPodAffinityTerm"},"type":"array"},"requiredDuringSchedulingIgnoredDuringExecution":{"description":"If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.","items":{"$ref":"#/definitions/v1VmPodAffinityTerm"},"type":"array"}},"type":"object"},"v1VmPodAffinityTerm":{"description":"Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key \u003ctopologyKey\u003e matches that of any node on which a pod of the set of pods is running","properties":{"labelSelector":{"$ref":"#/definitions/v1VmLabelSelector"},"namespaceSelector":{"$ref":"#/definitions/v1VmLabelSelector"},"namespaces":{"description":"namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means \"this pod's namespace\"","items":{"type":"string"},"type":"array"},"topologyKey":{"description":"This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.","type":"string"}},"required":["topologyKey"],"type":"object"},"v1VmPodDnsConfig":{"description":"PodDNSConfig defines the DNS parameters of a pod in addition to those generated from DNSPolicy.","properties":{"nameservers":{"description":"A list of DNS name server IP addresses. This will be appended to the base nameservers generated from DNSPolicy. Duplicated nameservers will be removed.","items":{"type":"string"},"type":"array"},"options":{"description":"A list of DNS resolver options. This will be merged with the base options generated from DNSPolicy. Duplicated entries will be removed. Resolution options given in Options will override those that appear in the base DNSPolicy.","items":{"$ref":"#/definitions/v1VmPodDnsConfigOption"},"type":"array"},"searches":{"description":"A list of DNS search domains for host-name lookup. This will be appended to the base search paths generated from DNSPolicy. Duplicated search paths will be removed.","items":{"type":"string"},"type":"array"}},"type":"object"},"v1VmPodDnsConfigOption":{"description":"PodDNSConfigOption defines DNS resolver options of a pod.","properties":{"name":{"description":"Required.","type":"string"},"value":{"type":"string"}},"type":"object"},"v1VmPodNetwork":{"description":"Represents the stock pod network interface.","properties":{"vmIPv6NetworkCIDR":{"description":"IPv6 CIDR for the vm network. Defaults to fd10:0:2::/120 if not specified.","type":"string"},"vmNetworkCIDR":{"description":"CIDR for vm network. Default 10.0.2.0/24 if not specified.","type":"string"}},"type":"object"},"v1VmPort":{"description":"Port represents a port to expose from the virtual machine. Default protocol TCP. The port field is mandatory","properties":{"name":{"description":"If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services.","type":"string"},"port":{"description":"Number of port to expose for the virtual machine. This must be a valid port number, 0 \u003c x \u003c 65536.","format":"int32","type":"integer"},"protocol":{"description":"Protocol for port. Must be UDP or TCP. Defaults to \"TCP\".","type":"string"}},"required":["port"],"type":"object"},"v1VmPreferenceMatcher":{"description":"PreferenceMatcher references a set of preference that is used to fill fields in the VMI template.","properties":{"inferFromVolume":{"description":"InferFromVolume lists the name of a volume that should be used to infer or discover the preference to be used through known annotations on the underlying resource. Once applied to the PreferenceMatcher this field is removed.","type":"string"},"kind":{"description":"Kind specifies which preference resource is referenced. Allowed values are: \"VirtualMachinePreference\" and \"VirtualMachineClusterPreference\". If not specified, \"VirtualMachineClusterPreference\" is used by default.","type":"string"},"name":{"description":"Name is the name of the VirtualMachinePreference or VirtualMachineClusterPreference","type":"string"},"revisionName":{"description":"RevisionName specifies a ControllerRevision containing a specific copy of the VirtualMachinePreference or VirtualMachineClusterPreference to be used. This is initially captured the first time the instancetype is applied to the VirtualMachineInstance.","type":"string"}},"type":"object"},"v1VmPreferredSchedulingTerm":{"description":"An empty preferred scheduling term matches all objects with implicit weight 0 (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).","properties":{"preference":{"$ref":"#/definitions/v1VmNodeSelectorTerm"},"weight":{"description":"Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.","format":"int32","type":"integer"}},"required":["weight","preference"],"type":"object"},"v1VmProbe":{"description":"Probe describes a health check to be performed against a VirtualMachineInstance to determine whether it is alive or ready to receive traffic.","properties":{"exec":{"$ref":"#/definitions/v1VmExecAction"},"failureThreshold":{"description":"Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.","format":"int32","type":"integer"},"guestAgentPing":{"$ref":"#/definitions/v1VmGuestAgentPing"},"httpGet":{"$ref":"#/definitions/v1VmHttpGetAction"},"initialDelaySeconds":{"description":"Number of seconds after the VirtualMachineInstance has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes","format":"int32","type":"integer"},"periodSeconds":{"description":"How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.","format":"int32","type":"integer"},"successThreshold":{"description":"Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1.","format":"int32","type":"integer"},"tcpSocket":{"$ref":"#/definitions/v1VmTcpSocketAction"},"timeoutSeconds":{"description":"Number of seconds after which the probe times out. For exec probes the timeout fails the probe but does not terminate the command running on the guest. This means a blocking command can result in an increasing load on the guest. A small buffer will be added to the resulting workload exec probe to compensate for delays caused by the qemu guest exec mechanism. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes","format":"int32","type":"integer"}},"type":"object"},"v1VmQemuGuestAgentSshPublicKeyAccessCredentialPropagation":{"properties":{"users":{"description":"Users represents a list of guest users that should have the ssh public keys added to their authorized_keys file.","items":{"type":"string"},"type":"array","x-kubernetes-list-type":"set"}},"required":["users"],"type":"object"},"v1VmQemuGuestAgentUserPasswordAccessCredentialPropagation":{"type":"object"},"v1VmQuantity":{"description":"Quantity is a fixed-point representation of a number. It provides convenient marshaling/unmarshaling in JSON and YAML, in addition to String() and AsInt64() accessors.\n\nThe serialization format is:\n\n\u003cquantity\u003e ::= \u003csignedNumber\u003e\u003csuffix\u003e\n (Note that \u003csuffix\u003e may be empty, from the \"\" case in \u003cdecimalSI\u003e.)\n\u003cdigit\u003e ::= 0 | 1 | ... | 9 \u003cdigits\u003e ::= \u003cdigit\u003e | \u003cdigit\u003e\u003cdigits\u003e \u003cnumber\u003e ::= \u003cdigits\u003e | \u003cdigits\u003e.\u003cdigits\u003e | \u003cdigits\u003e. | .\u003cdigits\u003e \u003csign\u003e ::= \"+\" | \"-\" \u003csignedNumber\u003e ::= \u003cnumber\u003e | \u003csign\u003e\u003cnumber\u003e \u003csuffix\u003e ::= \u003cbinarySI\u003e | \u003cdecimalExponent\u003e | \u003cdecimalSI\u003e \u003cbinarySI\u003e ::= Ki | Mi | Gi | Ti | Pi | Ei\n (International System of units; See: http://physics.nist.gov/cuu/Units/binary.html)\n\u003cdecimalSI\u003e ::= m | \"\" | k | M | G | T | P | E\n (Note that 1024 = 1Ki but 1000 = 1k; I didn't choose the capitalization.)\n\u003cdecimalExponent\u003e ::= \"e\" \u003csignedNumber\u003e | \"E\" \u003csignedNumber\u003e\n\nNo matter which of the three exponent forms is used, no quantity may represent a number greater than 2^63-1 in magnitude, nor may it have more than 3 decimal places. Numbers larger or more precise will be capped or rounded up. (E.g.: 0.1m will rounded up to 1m.) This may be extended in the future if we require larger or smaller quantities.\n\nWhen a Quantity is parsed from a string, it will remember the type of suffix it had, and will use the same type again when it is serialized.\n\nBefore serializing, Quantity will be put in \"canonical form\". This means that Exponent/suffix will be adjusted up or down (with a corresponding increase or decrease in Mantissa) such that:\n a. No precision is lost\n b. No fractional digits will be emitted\n c. The exponent (or suffix) is as large as possible.\nThe sign will be omitted unless the number is negative.\n\nExamples:\n 1.5 will be serialized as \"1500m\"\n 1.5Gi will be serialized as \"1536Mi\"\n\nNote that the quantity will NEVER be internally represented by a floating point number. That is the whole point of this exercise.\n\nNon-canonical values will still parse as long as they are well formed, but will be re-emitted in their canonical form. (So always use canonical form, or don't diff.)\n\nThis format is intended to make it difficult to use these numbers without writing some sort of special handling code in the hopes that that will cause implementors to also use a fixed point implementation.","type":"string"},"v1VmRTCTimer":{"properties":{"present":{"description":"Enabled set to false makes sure that the machine type or a preset can't add the timer. Defaults to true.","type":"boolean"},"tickPolicy":{"description":"TickPolicy determines what happens when QEMU misses a deadline for injecting a tick to the guest. One of \"delay\", \"catchup\".","type":"string"},"track":{"description":"Track the guest or the wall clock.","type":"string"}},"type":"object"},"v1VmRealtime":{"description":"Realtime holds the tuning knobs specific for realtime workloads.","properties":{"mask":{"description":"Mask defines the vcpu mask expression that defines which vcpus are used for realtime. Format matches libvirt's expressions. Example: \"0-3,^1\",\"0,2,3\",\"2-3\"","type":"string"}},"type":"object"},"v1VmRemoveVolumeOptions":{"description":"RemoveVolumeOptions is provided when dynamically hot unplugging volume and disk","properties":{"dryRun":{"description":"When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed","items":{"type":"string"},"type":"array","x-kubernetes-list-type":"atomic"},"name":{"description":"Name represents the name that maps to both the disk and volume that should be removed","type":"string"}},"required":["name"],"type":"object"},"v1VmResourceFieldSelector":{"description":"ResourceFieldSelector represents container resources (cpu, memory) and their output format","properties":{"containerName":{"description":"Container name: required for volumes, optional for env vars","type":"string"},"divisor":{"$ref":"#/definitions/v1VmQuantity"},"resource":{"description":"Required: resource to select","type":"string"}},"required":["resource"],"type":"object"},"v1VmResourceRequirements":{"properties":{"limits":{"description":"Limits describes the maximum amount of compute resources allowed. Valid resource keys are \"memory\" and \"cpu\".","type":"object"},"overcommitGuestOverhead":{"description":"Don't ask the scheduler to take the guest-management overhead into account. Instead put the overhead only into the container's memory limit. This can lead to crashes if all memory is in use on a node. Defaults to false.","type":"boolean"},"requests":{"description":"Requests is a description of the initial vmi resources. Valid resource keys are \"memory\" and \"cpu\".","type":"object"}},"type":"object"},"v1VmRng":{"description":"Rng represents the random device passed from host","type":"object"},"v1VmSEV":{"type":"object"},"v1VmSecretVolumeSource":{"description":"SecretVolumeSource adapts a Secret into a volume.","properties":{"optional":{"description":"Specify whether the Secret or it's keys must be defined","type":"boolean"},"secretName":{"description":"Name of the secret in the pod's namespace to use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret","type":"string"},"volumeLabel":{"description":"The volume label of the resulting disk inside the VMI. Different bootstrapping mechanisms require different values. Typical values are \"cidata\" (cloud-init), \"config-2\" (cloud-init) or \"OEMDRV\" (kickstart).","type":"string"}},"type":"object"},"v1VmServiceAccountVolumeSource":{"description":"ServiceAccountVolumeSource adapts a ServiceAccount into a volume.","properties":{"serviceAccountName":{"description":"Name of the service account in the pod's namespace to use. More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/","type":"string"}},"type":"object"},"v1VmSnapshotVolumesLists":{"description":"SnapshotVolumesLists includes the list of volumes which were included in the snapshot and volumes which were excluded from the snapshot","properties":{"excludedVolumes":{"items":{"type":"string"},"type":"array","x-kubernetes-list-type":"set"},"includedVolumes":{"items":{"type":"string"},"type":"array","x-kubernetes-list-type":"set"}},"type":"object"},"v1VmSoundDevice":{"description":"Represents the user's configuration to emulate sound cards in the VMI.","properties":{"model":{"description":"We only support ich9 or ac97. If SoundDevice is not set: No sound card is emulated. If SoundDevice is set but Model is not: ich9","type":"string"},"name":{"description":"User's defined name for this sound device","type":"string"}},"required":["name"],"type":"object"},"v1VmSshPublicKeyAccessCredential":{"description":"SSHPublicKeyAccessCredential represents a source and propagation method for injecting ssh public keys into a vm guest","properties":{"propagationMethod":{"$ref":"#/definitions/v1VmSshPublicKeyAccessCredentialPropagationMethod"},"source":{"$ref":"#/definitions/v1VmSshPublicKeyAccessCredentialSource"}},"required":["source","propagationMethod"],"type":"object"},"v1VmSshPublicKeyAccessCredentialPropagationMethod":{"description":"SSHPublicKeyAccessCredentialPropagationMethod represents the method used to inject a ssh public key into the vm guest. Only one of its members may be specified.","properties":{"configDrive":{"$ref":"#/definitions/v1VmConfigDriveSshPublicKeyAccessCredentialPropagation"},"qemuGuestAgent":{"$ref":"#/definitions/v1VmQemuGuestAgentSshPublicKeyAccessCredentialPropagation"}},"type":"object"},"v1VmSshPublicKeyAccessCredentialSource":{"description":"SSHPublicKeyAccessCredentialSource represents where to retrieve the ssh key credentials Only one of its members may be specified.","properties":{"secret":{"$ref":"#/definitions/v1VmAccessCredentialSecretSource"}},"type":"object"},"v1VmStorageSpec":{"description":"StorageSpec defines the Storage type specification","properties":{"accessModes":{"description":"AccessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1","items":{"type":"string"},"type":"array"},"dataSource":{"$ref":"#/definitions/v1VmTypedLocalObjectReference"},"resources":{"$ref":"#/definitions/v1VmCoreResourceRequirements"},"selector":{"$ref":"#/definitions/v1VmLabelSelector"},"storageClassName":{"description":"Name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1","type":"string"},"volumeMode":{"description":"volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec.","type":"string"},"volumeName":{"description":"VolumeName is the binding reference to the PersistentVolume backing this claim.","type":"string"}},"type":"object"},"v1VmSyNICTimer":{"properties":{"direct":{"$ref":"#/definitions/v1VmFeatureState"},"enabled":{"type":"boolean"}},"type":"object"},"v1VmSysprepSource":{"description":"Represents a Sysprep volume source.","properties":{"configMap":{"$ref":"#/definitions/v1VmLocalObjectReference"},"secret":{"$ref":"#/definitions/v1VmLocalObjectReference"}},"type":"object"},"v1VmTPMDevice":{"type":"object"},"v1VmTcpSocketAction":{"description":"TCPSocketAction describes an action based on opening a socket","properties":{"host":{"description":"Optional: Host name to connect to, defaults to the pod IP.","type":"string"},"port":{"description":"Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.","type":["string","number"]}},"required":["port"],"type":"object"},"v1VmTimer":{"description":"Represents all available timers in a vmi.","properties":{"hpet":{"$ref":"#/definitions/v1VmHPETTimer"},"hyperv":{"$ref":"#/definitions/v1VmHypervTimer"},"kvm":{"$ref":"#/definitions/v1VmKVmTimer"},"pit":{"$ref":"#/definitions/v1VmPITTimer"},"rtc":{"$ref":"#/definitions/v1VmRTCTimer"}},"type":"object"},"v1VmToleration":{"description":"The pod this Toleration is attached to tolerates any taint that matches the triple \u003ckey,value,effect\u003e using the matching operator \u003coperator\u003e.","properties":{"effect":{"description":"Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.","type":"string"},"key":{"description":"Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.","type":"string"},"operator":{"description":"Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.","type":"string"},"tolerationSeconds":{"description":"TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.","format":"int64","type":"integer"},"value":{"description":"Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.","type":"string"}},"type":"object"},"v1VmTopologySpreadConstraint":{"description":"TopologySpreadConstraint specifies how to spread matching pods among the given topology.","properties":{"labelSelector":{"$ref":"#/definitions/v1VmLabelSelector"},"maxSkew":{"description":"MaxSkew describes the degree to which pods may be unevenly distributed. When `whenUnsatisfiable=DoNotSchedule`, it is the maximum permitted difference between the number of matching pods in the target topology and the global minimum. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same labelSelector spread as 1/1/0: | zone1 | zone2 | zone3 | | P | P | | - if MaxSkew is 1, incoming pod can only be scheduled to zone3 to become 1/1/1; scheduling it onto zone1(zone2) would make the ActualSkew(2-0) on zone1(zone2) violate MaxSkew(1). - if MaxSkew is 2, incoming pod can be scheduled onto any zone. When `whenUnsatisfiable=ScheduleAnyway`, it is used to give higher precedence to topologies that satisfy it. It's a required field. Default value is 1 and 0 is not allowed.","format":"int32","type":"integer"},"topologyKey":{"description":"TopologyKey is the key of node labels. Nodes that have a label with this key and identical values are considered to be in the same topology. We consider each \u003ckey, value\u003e as a \"bucket\", and try to put balanced number of pods into each bucket. It's a required field.","type":"string"},"whenUnsatisfiable":{"description":"WhenUnsatisfiable indicates how to deal with a pod if it doesn't satisfy the spread constraint. - DoNotSchedule (default) tells the scheduler not to schedule it. - ScheduleAnyway tells the scheduler to schedule the pod in any location,\n but giving higher precedence to topologies that would help reduce the\n skew.\nA constraint is considered \"Unsatisfiable\" for an incoming pod if and only if every possible node assignment for that pod would violate \"MaxSkew\" on some topology. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same labelSelector spread as 3/1/1: | zone1 | zone2 | zone3 | | P P P | P | P | If WhenUnsatisfiable is set to DoNotSchedule, incoming pod can only be scheduled to zone2(zone3) to become 3/2/1(3/1/2) as ActualSkew(2-1) on zone2(zone3) satisfies MaxSkew(1). In other words, the cluster can still be imbalanced, but scheduler won't make it *more* imbalanced. It's a required field.","type":"string"}},"required":["maxSkew","topologyKey","whenUnsatisfiable"],"type":"object"},"v1VmTypedLocalObjectReference":{"description":"TypedLocalObjectReference contains enough information to let you locate the typed referenced object inside the same namespace.","properties":{"apiGroup":{"description":"APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required.","type":"string"},"kind":{"description":"Kind is the type of resource being referenced","type":"string"},"name":{"description":"Name is the name of resource being referenced","type":"string"}},"required":["kind","name"],"type":"object"},"v1VmUserPasswordAccessCredential":{"description":"UserPasswordAccessCredential represents a source and propagation method for injecting user passwords into a vm guest Only one of its members may be specified.","properties":{"propagationMethod":{"$ref":"#/definitions/v1VmUserPasswordAccessCredentialPropagationMethod"},"source":{"$ref":"#/definitions/v1VmUserPasswordAccessCredentialSource"}},"required":["source","propagationMethod"],"type":"object"},"v1VmUserPasswordAccessCredentialPropagationMethod":{"description":"UserPasswordAccessCredentialPropagationMethod represents the method used to inject a user passwords into the vm guest. Only one of its members may be specified.","properties":{"qemuGuestAgent":{"$ref":"#/definitions/v1VmQemuGuestAgentUserPasswordAccessCredentialPropagation"}},"type":"object"},"v1VmUserPasswordAccessCredentialSource":{"description":"UserPasswordAccessCredentialSource represents where to retrieve the user password credentials Only one of its members may be specified.","properties":{"secret":{"$ref":"#/definitions/v1VmAccessCredentialSecretSource"}},"type":"object"},"v1VmVGPUDisplayOptions":{"properties":{"enabled":{"description":"Enabled determines if a display addapter backed by a vGPU should be enabled or disabled on the guest. Defaults to true.","type":"boolean"},"ramFB":{"$ref":"#/definitions/v1VmFeatureState"}},"type":"object"},"v1VmVGPUOptions":{"properties":{"display":{"$ref":"#/definitions/v1VmVGPUDisplayOptions"}},"type":"object"},"v1VmVirtualMachineCondition":{"description":"VirtualMachineCondition represents the state of VirtualMachine","properties":{"lastProbeTime":{"type":"string"},"lastTransitionTime":{"type":"string"},"message":{"type":"string"},"reason":{"type":"string"},"status":{"type":"string"},"type":{"type":"string"}},"required":["type","status"],"type":"object"},"v1VmVirtualMachineInstanceSpec":{"description":"VirtualMachineInstanceSpec is a description of a VirtualMachineInstance.","properties":{"accessCredentials":{"description":"Specifies a set of public keys to inject into the vm guest","items":{"$ref":"#/definitions/v1VmAccessCredential"},"type":"array","x-kubernetes-list-type":"atomic"},"affinity":{"$ref":"#/definitions/v1VmAffinity"},"dnsConfig":{"$ref":"#/definitions/v1VmPodDnsConfig"},"dnsPolicy":{"description":"Set DNS policy for the pod. Defaults to \"ClusterFirst\". Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' or 'None'. DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy. To have DNS options set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'.","type":"string"},"domain":{"$ref":"#/definitions/v1VmDomainSpec"},"evictionStrategy":{"description":"EvictionStrategy can be set to \"LiveMigrate\" if the VirtualMachineInstance should be migrated instead of shut-off in case of a node drain.","type":"string"},"hostname":{"description":"Specifies the hostname of the vmi If not specified, the hostname will be set to the name of the vmi, if dhcp or cloud-init is configured properly.","type":"string"},"livenessProbe":{"$ref":"#/definitions/v1VmProbe"},"networks":{"description":"List of networks that can be attached to a vm's virtual interface.","items":{"$ref":"#/definitions/v1VmNetwork"},"type":"array"},"nodeSelector":{"additionalProperties":{"type":"string"},"description":"NodeSelector is a selector which must be true for the vmi to fit on a node. Selector which must match a node's labels for the vmi to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/","type":"object"},"priorityClassName":{"description":"If specified, indicates the pod's priority. If not specified, the pod priority will be default or zero if there is no default.","type":"string"},"readinessProbe":{"$ref":"#/definitions/v1VmProbe"},"schedulerName":{"description":"If specified, the VMI will be dispatched by specified scheduler. If not specified, the VMI will be dispatched by default scheduler.","type":"string"},"startStrategy":{"description":"StartStrategy can be set to \"Paused\" if Virtual Machine should be started in paused state.","type":"string"},"subdomain":{"description":"If specified, the fully qualified vmi hostname will be \"\u003chostname\u003e.\u003csubdomain\u003e.\u003cpod namespace\u003e.svc.\u003ccluster domain\u003e\". If not specified, the vmi will not have a domainname at all. The DNS entry will resolve to the vmi, no matter if the vmi itself can pick up a hostname.","type":"string"},"terminationGracePeriodSeconds":{"description":"Grace period observed after signalling a VirtualMachineInstance to stop after which the VirtualMachineInstance is force terminated.","format":"int64","type":"integer"},"tolerations":{"description":"If toleration is specified, obey all the toleration rules.","items":{"$ref":"#/definitions/v1VmToleration"},"type":"array"},"topologySpreadConstraints":{"description":"TopologySpreadConstraints describes how a group of VMIs will be spread across a given topology domains. K8s scheduler will schedule VMI pods in a way which abides by the constraints.","items":{"$ref":"#/definitions/v1VmTopologySpreadConstraint"},"type":"array","x-kubernetes-list-map-keys":["topologyKey","whenUnsatisfiable"],"x-kubernetes-list-type":"map","x-kubernetes-patch-merge-key":"topologyKey","x-kubernetes-patch-strategy":"merge"},"volumes":{"description":"List of volumes that can be mounted by disks belonging to the vmi.","items":{"$ref":"#/definitions/v1VmVolume"},"type":"array"}},"required":["domain"],"type":"object"},"v1VmVirtualMachineInstanceTemplateSpec":{"properties":{"metadata":{"$ref":"#/definitions/v1VmObjectMeta"},"spec":{"$ref":"#/definitions/v1VmVirtualMachineInstanceSpec"}},"type":"object"},"v1VmVirtualMachineMemoryDumpRequest":{"description":"VirtualMachineMemoryDumpRequest represent the memory dump request phase and info","properties":{"claimName":{"description":"ClaimName is the name of the pvc that will contain the memory dump","type":"string"},"endTimestamp":{"$ref":"#/definitions/v1Time"},"fileName":{"description":"FileName represents the name of the output file","type":"string"},"message":{"description":"Message is a detailed message about failure of the memory dump","type":"string"},"phase":{"description":"Phase represents the memory dump phase","type":"string"},"remove":{"description":"Remove represents request of dissociating the memory dump pvc","type":"boolean"},"startTimestamp":{"$ref":"#/definitions/v1Time"}},"required":["claimName","phase"],"type":"object"},"v1VmVirtualMachineStartFailure":{"description":"VirtualMachineStartFailure tracks VMIs which failed to transition successfully to running using the VM status","properties":{"consecutiveFailCount":{"format":"int32","type":"integer"},"lastFailedVMIUID":{"type":"string"},"retryAfterTimestamp":{"$ref":"#/definitions/v1Time"}},"type":"object"},"v1VmVirtualMachineStateChangeRequest":{"properties":{"action":{"description":"Indicates the type of action that is requested. e.g. Start or Stop","type":"string"},"data":{"additionalProperties":{"type":"string"},"description":"Provides additional data in order to perform the Action","type":"object"},"uid":{"description":"Indicates the UUID of an existing Virtual Machine Instance that this change request applies to -- if applicable","type":"string"}},"required":["action"],"type":"object"},"v1VmVirtualMachineVolumeRequest":{"properties":{"addVolumeOptions":{"$ref":"#/definitions/v1VmAddVolumeOptions"},"removeVolumeOptions":{"$ref":"#/definitions/v1VmRemoveVolumeOptions"}},"type":"object"},"v1VmVolume":{"description":"Volume represents a named volume in a vmi.","properties":{"cloudInitConfigDrive":{"$ref":"#/definitions/v1VmCloudInitConfigDriveSource"},"cloudInitNoCloud":{"$ref":"#/definitions/v1VmCloudInitNoCloudSource"},"configMap":{"$ref":"#/definitions/v1VmConfigMapVolumeSource"},"containerDisk":{"$ref":"#/definitions/v1VmContainerDiskSource"},"dataVolume":{"$ref":"#/definitions/v1VmCoreDataVolumeSource"},"downwardAPI":{"$ref":"#/definitions/v1VmDownwardApiVolumeSource"},"downwardMetrics":{"$ref":"#/definitions/v1VmDownwardMetricsVolumeSource"},"emptyDisk":{"$ref":"#/definitions/v1VmEmptyDiskSource"},"ephemeral":{"$ref":"#/definitions/v1VmEphemeralVolumeSource"},"hostDisk":{"$ref":"#/definitions/v1VmHostDisk"},"memoryDump":{"$ref":"#/definitions/v1VmMemoryDumpVolumeSource"},"name":{"description":"Volume's name. Must be a DNS_LABEL and unique within the vmi. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names","type":"string"},"persistentVolumeClaim":{"$ref":"#/definitions/v1VmPersistentVolumeClaimVolumeSource"},"secret":{"$ref":"#/definitions/v1VmSecretVolumeSource"},"serviceAccount":{"$ref":"#/definitions/v1VmServiceAccountVolumeSource"},"sysprep":{"$ref":"#/definitions/v1VmSysprepSource"}},"required":["name"],"type":"object"},"v1VmVolumeSnapshotStatus":{"properties":{"enabled":{"description":"True if the volume supports snapshotting","type":"boolean"},"name":{"description":"Volume name","type":"string"},"reason":{"description":"Empty if snapshotting is enabled, contains reason otherwise","type":"string"}},"required":["name","enabled"],"type":"object"},"v1VmWatchdog":{"description":"Named watchdog device.","properties":{"i6300esb":{"$ref":"#/definitions/v1VmI6300ESBWatchdog"},"name":{"description":"Name of the watchdog.","type":"string"}},"required":["name"],"type":"object"},"v1VmWeightedPodAffinityTerm":{"description":"The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)","properties":{"podAffinityTerm":{"$ref":"#/definitions/v1VmPodAffinityTerm"},"weight":{"description":"weight associated with matching the corresponding podAffinityTerm, in the range 1-100.","format":"int32","type":"integer"}},"required":["weight","podAffinityTerm"],"type":"object"},"v1VsphereAccount":{"description":"VSphere account information","properties":{"apiVersion":{"description":"Deprecated. Not used for the resource info.","type":"string"},"kind":{"description":"Deprecated. Cloud type of the account.","type":"string"},"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1VsphereCloudAccount"},"status":{"$ref":"#/definitions/v1CloudAccountStatus"}},"type":"object"},"v1VsphereAccounts":{"properties":{"items":{"items":{"$ref":"#/definitions/v1VsphereAccount"},"type":"array","uniqueItems":true},"listmeta":{"$ref":"#/definitions/v1ListMetaData"}},"required":["items"],"type":"object"},"v1VsphereCloudAccount":{"properties":{"insecure":{"description":"Insecure is a flag that controls whether or not to validate the vSphere server's certificate.","type":"boolean","x-omitempty":false},"password":{"type":"string"},"username":{"type":"string"},"vcenterServer":{"description":"VcenterServer is the address of the vSphere endpoint","type":"string"}},"required":["vcenterServer","username","password"],"type":"object"},"v1VsphereCloudClusterConfigEntity":{"description":"vSphere cloud cluster config entity","properties":{"clusterConfig":{"$ref":"#/definitions/v1VsphereClusterConfigEntity"}},"type":"object"},"v1VsphereCloudConfig":{"description":"VsphereCloudConfig is the Schema for the vspherecloudconfigs API","properties":{"apiVersion":{"description":"Deprecated. Not used for the resource info. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources","type":"string"},"kind":{"description":"Cloud type of the cloud config","type":"string"},"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1VsphereCloudConfigSpec"},"status":{"$ref":"#/definitions/v1VsphereCloudConfigStatus"}},"type":"object"},"v1VsphereCloudConfigSpec":{"description":"VsphereCloudConfigSpec defines the desired state of VsphereCloudConfig","properties":{"cloudAccountRef":{"$ref":"#/definitions/v1ObjectReference","description":"cloudAccountRef should point to the secret which contains VsphereCloudAccount"},"clusterConfig":{"$ref":"#/definitions/v1VsphereClusterConfig"},"edgeHostRef":{"$ref":"#/definitions/v1ObjectReference","description":"Appliance (Edge Host) uid for Edge env"},"machinePoolConfig":{"items":{"$ref":"#/definitions/v1VsphereMachinePoolConfig"},"type":"array"}},"required":["clusterConfig","machinePoolConfig"],"type":"object"},"v1VsphereCloudConfigStatus":{"description":"VsphereCloudConfigStatus defines the observed state of VsphereCloudConfig","properties":{"ansibleDigest":{"type":"string"},"conditions":{"items":{"$ref":"#/definitions/v1ClusterCondition"},"type":"array"},"isAddonLayer":{"description":"addon layers present in spc","type":"boolean"},"lastOVACreated":{"type":"string"},"lastVMExported":{"type":"string"},"nodeImage":{"$ref":"#/definitions/v1VsphereImage"},"roleDigest":{"additionalProperties":{"type":"string"},"description":"this map will be for ansible roles present in eack pack","type":"object"},"sourceImageId":{"description":"sourceImageId, it can be from packref's annotations or from pack.json","type":"string"},"uploadOvaS3":{"description":"UploadOVAS3 will hold last image name which uploaded to S3","type":"string"},"useCapiImage":{"description":"If no ansible roles found in Packs then Mold should tell Drive to use capi image and not create custom image, because there is nothing to add","type":"boolean"}},"type":"object"},"v1VsphereCloudDatacenter":{"description":"Vsphere datacenter","properties":{"computeClusters":{"items":{"$ref":"#/definitions/v1VsphereComputeCluster"},"type":"array"},"folders":{"items":{"type":"string"},"type":"array"},"name":{"type":"string"}},"type":"object"},"v1VsphereClusterConfig":{"properties":{"controlPlaneEndpoint":{"$ref":"#/definitions/v1ControlPlaneEndPoint","description":"The optional control plane endpoint, which can be an IP or FQDN"},"ntpServers":{"description":"NTPServers is a list of NTP servers to use instead of the machine image's default NTP server list.","items":{"type":"string"},"type":"array"},"placement":{"$ref":"#/definitions/v1VspherePlacementConfig","description":"Placement configuration Placement config in ClusterConfig serve as default values for each MachinePool"},"sshKeys":{"description":"SSHKeys specifies a list of ssh authorized keys for the 'spectro' user","items":{"type":"string"},"type":"array"},"staticIp":{"description":"whether this cluster should use dhcp or static IP, if false, use DHCP if this is set, then all machinepools should have staticIP with provided IPPool adding this as an additional standalone flag without relating to placement.Nework main reason is to enable more validation for placement.Network.StaticIP which should come together with valid Network.IPPool and Network.Name","type":"boolean"}},"required":["placement"],"type":"object"},"v1VsphereClusterConfigEntity":{"properties":{"controlPlaneEndpoint":{"$ref":"#/definitions/v1ControlPlaneEndPoint","description":"The optional control plane endpoint, which can be an IP or FQDN"},"ntpServers":{"description":"NTPServers is a list of NTP servers to use instead of the machine image's default NTP server list.","items":{"type":"string"},"type":"array"},"placement":{"$ref":"#/definitions/v1VspherePlacementConfigEntity","description":"Placement configuration Placement config in ClusterConfig serve as default values for each MachinePool"},"sshKeys":{"description":"SSHKeys specifies a list of ssh authorized keys for the 'spectro' user","items":{"type":"string"},"type":"array"},"staticIp":{"description":"whether this cluster should use dhcp or static IP, if false, use DHCP if this is set, then all machinepools should have staticIP with provided IPPool adding this as an additional standalone flag without relating to placement.Nework main reason is to enable more validation for placement.Network.StaticIP which should come together with valid Network.IPPool and Network.Name","type":"boolean"}},"required":["placement"],"type":"object"},"v1VsphereComputeCluster":{"description":"Vsphere compute cluster","properties":{"datastores":{"items":{"type":"string"},"type":"array","uniqueItems":true},"name":{"type":"string"},"networks":{"items":{"type":"string"},"type":"array","uniqueItems":true},"resourcePools":{"items":{"type":"string"},"type":"array","uniqueItems":true}},"type":"object"},"v1VsphereComputeClusterResources":{"description":"Datacenter and its resources like datastore, resoucepool, folders","properties":{"computecluster":{"$ref":"#/definitions/v1VsphereComputeCluster"},"datacenter":{"description":"Name of the datacenter","type":"string"}},"type":"object"},"v1VsphereDatacenter":{"description":"List of Datacenter with computeclusters","properties":{"computeclusters":{"description":"List of the VSphere compute clusters in datacenter","items":{"type":"string"},"type":"array","uniqueItems":true},"datacenter":{"description":"name of the datacenter of the VSphere","type":"string"},"folders":{"description":"List of the VSphere folders in datacenter","items":{"type":"string"},"type":"array","uniqueItems":true}},"type":"object"},"v1VsphereDatacenters":{"description":"List of Datacenters with computeclusters","properties":{"items":{"description":"List of associated datacenters","items":{"$ref":"#/definitions/v1VsphereDatacenter"},"type":"array","uniqueItems":true}},"required":["items"],"type":"object"},"v1VsphereDnsMapping":{"description":"VSphere DNS Mapping","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1VsphereDnsMappingSpec"}},"type":"object"},"v1VsphereDnsMappingSpec":{"description":"VSphere DNS Mapping Spec","properties":{"datacenter":{"description":"VSphere datacenter name","type":"string"},"dnsName":{"description":"VSphere DNS name","type":"string"},"network":{"description":"VSphere network name","type":"string"},"networkUrl":{"description":"VSphere network URL","readOnly":true,"type":"string"},"privateGatewayUid":{"description":"VSphere private gateway uid","type":"string"}},"required":["privateGatewayUid","datacenter","network","dnsName"],"type":"object"},"v1VsphereDnsMappings":{"properties":{"items":{"description":"List of vSphere DNS mapping","items":{"$ref":"#/definitions/v1VsphereDnsMapping"},"type":"array","uniqueItems":true}},"required":["items"],"type":"object"},"v1VsphereEnv":{"description":"Vsphere environment entity","properties":{"version":{"description":"Version of vsphere environment","type":"string"}},"type":"object"},"v1VsphereImage":{"description":"A generated Image should always be a template which resides inside vsphere Will not generate a OVA file out of the image OVA can be used as a base input of the os pack, that's internal to the pack","properties":{"fullPath":{"description":"full path of the image template location it contains datacenter/folder/templatename etc eg: /mydc/vm/template/spectro/workerpool-1-centos","type":"string"},"state":{"type":"string"}},"type":"object"},"v1VsphereInstanceType":{"properties":{"diskGiB":{"description":"DiskGiB is the size of a virtual machine's disk, in GiB. Defaults to the analogue property value in the template from which this machine is cloned.","format":"int32","type":"integer"},"memoryMiB":{"description":"MemoryMiB is the size of a virtual machine's memory, in MiB. Defaults to the analogue property value in the template from which this machine is cloned.","format":"int64","type":"integer"},"numCPUs":{"description":"NumCPUs is the number of virtual processors in a virtual machine. Defaults to the analogue property value in the template from which this machine is cloned.","format":"int32","type":"integer"}},"required":["numCPUs","memoryMiB","diskGiB"],"type":"object"},"v1VsphereMachine":{"description":"vSphere cloud VM definition","properties":{"apiVersion":{"description":"Deprecated. Not used for the resource info.","type":"string"},"kind":{"description":"Deprecated. Cloud type of the machine.","type":"string"},"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1VsphereMachineSpec"},"status":{"$ref":"#/definitions/v1CloudMachineStatus"}},"type":"object"},"v1VsphereMachinePoolCloudConfigEntity":{"properties":{"instanceType":{"$ref":"#/definitions/v1VsphereInstanceType"},"placements":{"description":"Placements configuration Placements If defined, will replace default values defined in VsphereClusterConfig Array means one MachinePool can span across multiple vsphere compute cluster","items":{"$ref":"#/definitions/v1VspherePlacementConfigEntity"},"type":"array"}}},"v1VsphereMachinePoolConfig":{"properties":{"additionalLabels":{"additionalProperties":{"type":"string"},"description":"additionalLabels","type":"object"},"additionalTags":{"additionalProperties":{"type":"string"},"description":"AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole","type":"object"},"instanceType":{"$ref":"#/definitions/v1VsphereInstanceType","description":"InstanceType defines the required CPU, Memory, Storage"},"isControlPlane":{"description":"whether this pool is for control plane","type":"boolean","x-omitempty":false},"labels":{"description":"labels for this pool, example: master/worker, gpu, windows","items":{"type":"string"},"type":"array"},"machinePoolProperties":{"$ref":"#/definitions/v1MachinePoolProperties"},"maxSize":{"description":"max size of the pool, for scaling","format":"int32","type":"integer"},"minSize":{"description":"min size of the pool, for scaling","format":"int32","type":"integer"},"name":{"type":"string"},"nodeRepaveInterval":{"description":"Minimum number of seconds a node should be Ready, before the next node is selected for repave. Applicable only for workerpools in infrastructure cluster","format":"int32","type":"integer"},"placements":{"description":"Placements configuration Placements If defined, will replace default values defined in VsphereClusterConfig Array means one MachinePool can span across multiple vsphere compute cluster","items":{"$ref":"#/definitions/v1VspherePlacementConfig"},"type":"array"},"size":{"description":"size of the pool, number of machines","format":"int32","type":"integer"},"taints":{"description":"master or worker taints","items":{"$ref":"#/definitions/v1Taint"},"type":"array","uniqueItems":true},"updateStrategy":{"$ref":"#/definitions/v1UpdateStrategy","description":"rolling update strategy for this machinepool if not specified, will use ScaleOut"},"useControlPlaneAsWorker":{"description":"if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools","type":"boolean","x-omitempty":false}},"required":["isControlPlane","instanceType"],"type":"object"},"v1VsphereMachinePoolConfigEntity":{"properties":{"cloudConfig":{"$ref":"#/definitions/v1VsphereMachinePoolCloudConfigEntity"},"poolConfig":{"$ref":"#/definitions/v1MachinePoolConfigEntity"}},"required":["cloudConfig"],"type":"object"},"v1VsphereMachineSpec":{"description":"vSphere cloud VM definition spec","properties":{"images":{"items":{"$ref":"#/definitions/v1VsphereImage"},"type":"array"},"instanceType":{"$ref":"#/definitions/v1VsphereInstanceType"},"nics":{"items":{"$ref":"#/definitions/v1VsphereNic"},"type":"array"},"ntpServers":{"description":"NTPServers is a list of NTP servers to use instead of the machine image's default NTP server list.","items":{"type":"string"},"type":"array"},"placement":{"$ref":"#/definitions/v1VspherePlacementConfig","description":"Placement configuration"},"vcenterServer":{"description":"VcenterServer is the address of the vSphere endpoint","type":"string"}},"required":["vcenterServer","nics","placement"],"type":"object"},"v1VsphereMachines":{"description":"vSphere machine list","properties":{"items":{"items":{"$ref":"#/definitions/v1VsphereMachine"},"type":"array","uniqueItems":true},"listmeta":{"$ref":"#/definitions/v1ListMetaData"}},"required":["items"],"type":"object"},"v1VsphereNetworkConfig":{"properties":{"ipPool":{"$ref":"#/definitions/v1IPPool","description":"when staticIP=true, need to provide IPPool"},"networkName":{"description":"NetworkName is the name of the network in which VMs are created/located.","type":"string"},"parentPoolRef":{"$ref":"#/definitions/v1ObjectReference","description":"ParentPoolRef reference to the ParentPool which allocates IPs for this IPPool"},"staticIp":{"description":"support dhcp or static IP, if false, use DHCP","type":"boolean"}},"required":["networkName"],"type":"object"},"v1VsphereNetworkConfigEntity":{"properties":{"networkName":{"description":"NetworkName is the name of the network in which VMs are created/located.","type":"string"},"parentPoolUid":{"description":"ParentPoolRef Uid to the ParentPool which allocates IPs for this IPPool","type":"string"},"staticIp":{"description":"support dhcp or static IP, if false, use DHCP","type":"boolean"}},"required":["networkName"],"type":"object"},"v1VsphereNic":{"description":"vSphere network interface","properties":{"index":{"format":"int8","type":"integer"},"macAddress":{"type":"string"},"networkName":{"type":"string"},"privateIPs":{"items":{"type":"string"},"type":"array"}},"required":["networkName"],"type":"object"},"v1VsphereOverlordClusterConfigEntity":{"properties":{"controlPlaneEndpoint":{"$ref":"#/definitions/v1ControlPlaneEndPoint","description":"The optional control plane endpoint, which can be an IP or FQDN"},"ntpServers":{"description":"NTPServers is a list of NTP servers to use instead of the machine image's default NTP server list.","items":{"type":"string"},"type":"array"},"placements":{"description":"Placements configuration Placements If defined, will replace default values defined in VsphereClusterConfig Array means one MachinePool can span across multiple vsphere compute cluster","items":{"$ref":"#/definitions/v1VspherePlacementConfigEntity"},"type":"array"},"sshKeys":{"description":"SSHKeys specifies a list of ssh authorized keys for the 'spectro' user","items":{"type":"string"},"type":"array"},"staticIp":{"description":"whether this cluster should use dhcp or static IP, if false, use DHCP if this is set, then all machinepools should have staticIP with provided IPPool adding this as an additional standalone flag without relating to placement.Nework main reason is to enable more validation for placement.Network.StaticIP which should come together with valid Network.IPPool and Network.Name","type":"boolean"}},"type":"object"},"v1VspherePlacementConfig":{"description":"Both ClusterConfig and MachinePoolConfig will have PlacementConfig MachinePoolconfig.Placements will overwrite values defined in ClusterConfig Currently the convention is: Datacenter / Folder / ImageTemplateFolder / Network should be defined at ClusterConfig Cluster / ResourcePool / Datastore / Network is defined at MachinePool ClusterConfig Network should only indicate use DHCP or not MachinePool Network should contain the actual network and IPPool","properties":{"cluster":{"description":"Cluster is the computecluster in vsphere","type":"string"},"datacenter":{"description":"Datacenter is the name or inventory path of the datacenter where this machine's VM is created/located.","type":"string"},"datastore":{"description":"Datastore is the datastore in which VMs are created/located.","type":"string"},"folder":{"description":"Folder is the folder in which VMs are created/located.","type":"string"},"imageTemplateFolder":{"description":"ImageTemplateFolder is the folder in which VMs templates are created/located. if empty will use default value spectro-templates","type":"string"},"network":{"$ref":"#/definitions/v1VsphereNetworkConfig","description":"network info"},"resourcePool":{"description":"ResourcePool is the resource pool within the above computecluster Cluster","type":"string"},"storagePolicyName":{"description":"StoragePolicyName of the storage policy to use with this Virtual Machine","type":"string"},"uid":{"description":"UID for this placement","type":"string"}},"type":"object"},"v1VspherePlacementConfigEntity":{"description":"Both ClusterConfig and MachinePoolConfig will have PlacementConfig MachinePoolconfig.Placements will overwrite values defined in ClusterConfig Currently the convention is: Datacenter / Folder / ImageTemplateFolder / Network should be defined at ClusterConfig Cluster / ResourcePool / Datastore / Network is defined at MachinePool ClusterConfig Network should only indicate use DHCP or not MachinePool Network should contain the actual network and IPPool","properties":{"cluster":{"description":"Cluster is the computecluster in vsphere","type":"string"},"datacenter":{"description":"Datacenter is the name or inventory path of the datacenter where this machine's VM is created/located.","type":"string"},"datastore":{"description":"Datastore is the datastore in which VMs are created/located.","type":"string"},"folder":{"description":"Folder is the folder in which VMs are created/located.","type":"string"},"imageTemplateFolder":{"description":"ImageTemplateFolder is the folder in which VMs templates are created/located. if empty will use default value spectro-templates","type":"string"},"network":{"$ref":"#/definitions/v1VsphereNetworkConfigEntity","description":"network info"},"resourcePool":{"description":"ResourcePool is the resource pool within the above computecluster Cluster","type":"string"},"storagePolicyName":{"description":"StoragePolicyName of the storage policy to use with this Virtual Machine","type":"string"},"uid":{"description":"UID for this placement","type":"string"}},"type":"object"},"v1Workspace":{"description":"Workspace information","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1WorkspaceSpec"},"status":{"$ref":"#/definitions/v1WorkspaceStatus"}}},"v1WorkspaceBackup":{"description":"Workspace backup","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1WorkspaceBackupSpec"},"status":{"$ref":"#/definitions/v1WorkspaceBackupStatus"}}},"v1WorkspaceBackupClusterRef":{"description":"Workspace backup cluster ref","properties":{"backupName":{"type":"string"},"clusterUid":{"type":"string"}}},"v1WorkspaceBackupConfig":{"description":"Workspace backup config","properties":{"backupConfig":{"$ref":"#/definitions/v1ClusterBackupConfig"},"clusterUids":{"items":{"type":"string"},"type":"array","uniqueItems":true},"includeAllClusters":{"type":"boolean"}}},"v1WorkspaceBackupConfigEntity":{"description":"Cluster backup config","properties":{"backupConfig":{"$ref":"#/definitions/v1ClusterBackupConfig"},"clusterUids":{"items":{"type":"string"},"type":"array","uniqueItems":true},"includeAllClusters":{"type":"boolean"}}},"v1WorkspaceBackupDeleteEntity":{"description":"Cluster backup delete config","properties":{"clusterConfigs":{"items":{"$ref":"#/definitions/v1WorkspaceBackupClusterRef"},"type":"array","uniqueItems":true},"requestUid":{"type":"string"}}},"v1WorkspaceBackupSpec":{"description":"Workspace backup spec","properties":{"config":{"$ref":"#/definitions/v1WorkspaceBackupConfig"},"workspaceUid":{"type":"string"}}},"v1WorkspaceBackupState":{"description":"Workspace backup state","properties":{"deleteState":{"type":"string"},"state":{"type":"string"}}},"v1WorkspaceBackupStatus":{"description":"Workspace backup status","properties":{"workspaceBackupStatuses":{"items":{"$ref":"#/definitions/v1WorkspaceBackupStatusMeta"},"type":"array"}}},"v1WorkspaceBackupStatusConfig":{"description":"Workspace backup status config","properties":{"backupName":{"type":"string"},"durationInHours":{"format":"int64","type":"number"},"includeAllDisks":{"type":"boolean"},"includeClusterResources":{"type":"boolean"},"namespaces":{"items":{"type":"string"},"type":"array","uniqueItems":true}}},"v1WorkspaceBackupStatusMeta":{"description":"Workspace backup status meta","properties":{"actor":{"$ref":"#/definitions/v1ClusterFeatureActor"},"requestUid":{"type":"string"},"workspaceBackupConfig":{"$ref":"#/definitions/v1WorkspaceClusterBackupConfig"}}},"v1WorkspaceClusterBackupConfig":{"description":"Workspace cluster backup config","properties":{"backupName":{"type":"string"},"backupState":{"$ref":"#/definitions/v1WorkspaceBackupState"},"backupTime":{"$ref":"#/definitions/v1Time"},"clusterBackupRefs":{"items":{"$ref":"#/definitions/v1WorkspaceClusterBackupResponse"},"type":"array"},"config":{"$ref":"#/definitions/v1WorkspaceBackupStatusConfig"},"requestTime":{"$ref":"#/definitions/v1Time"}}},"v1WorkspaceClusterBackupResponse":{"description":"Workspace cluster backup response","properties":{"backupStatusMeta":{"$ref":"#/definitions/v1BackupStatusMeta"},"backupUid":{"type":"string"},"clusterName":{"type":"string"},"clusterUid":{"type":"string"}}},"v1WorkspaceClusterNamespace":{"description":"Workspace cluster namespace","properties":{"image":{"$ref":"#/definitions/v1WorkspaceNamespaceImage"},"isRegex":{"type":"boolean","x-omitempty":false},"name":{"type":"string"},"namespaceResourceAllocation":{"$ref":"#/definitions/v1WorkspaceNamespaceResourceAllocation"}}},"v1WorkspaceClusterNamespacesEntity":{"description":"Workspace cluster namespaces update entity","properties":{"clusterNamespaces":{"items":{"$ref":"#/definitions/v1WorkspaceClusterNamespace"},"type":"array","uniqueItems":true},"clusterRefs":{"items":{"$ref":"#/definitions/v1WorkspaceClusterRef"},"type":"array","uniqueItems":true},"quota":{"$ref":"#/definitions/v1WorkspaceQuota"}}},"v1WorkspaceClusterRef":{"description":"Workspace cluster reference","properties":{"clusterName":{"type":"string"},"clusterUid":{"type":"string"}}},"v1WorkspaceClusterRestoreConfig":{"description":"Workspace cluster restore config","properties":{"backupName":{"type":"string"},"clusterRestoreRefs":{"items":{"$ref":"#/definitions/v1WorkspaceClusterRestoreResponse"},"type":"array"},"restoreState":{"$ref":"#/definitions/v1WorkspaceRestoreState"},"restoreTime":{"$ref":"#/definitions/v1Time"}}},"v1WorkspaceClusterRestoreResponse":{"description":"Workspace cluster restore response","properties":{"backupName":{"type":"string"},"clusterName":{"type":"string"},"clusterUid":{"type":"string"},"restoreStatusMeta":{"$ref":"#/definitions/v1WorkspaceClusterRestoreState"},"restoreUid":{"type":"string"}}},"v1WorkspaceClusterRestoreState":{"description":"Workspace cluster restore state","properties":{"msg":{"type":"string"},"restoreTime":{"$ref":"#/definitions/v1Time"},"state":{"type":"string"}}},"v1WorkspaceClusterWorkloadCronJobs":{"description":"Workspace cluster workload cronjobs summary","properties":{"cronjobs":{"items":{"$ref":"#/definitions/v1ClusterWorkloadCronJob"},"type":"array"},"metadata":{"$ref":"#/definitions/v1RelatedObject"}},"type":"object"},"v1WorkspaceClusterWorkloadDaemonSets":{"description":"Workspace cluster workload daemonsets summary","properties":{"daemonSets":{"items":{"$ref":"#/definitions/v1ClusterWorkloadDaemonSet"},"type":"array"},"metadata":{"$ref":"#/definitions/v1RelatedObject"}},"type":"object"},"v1WorkspaceClusterWorkloadDeployments":{"description":"Workspace cluster workload deployments summary","properties":{"deployments":{"items":{"$ref":"#/definitions/v1ClusterWorkloadDeployment"},"type":"array"},"metadata":{"$ref":"#/definitions/v1RelatedObject"}},"type":"object"},"v1WorkspaceClusterWorkloadJobs":{"description":"Workspace cluster workload jobs summary","properties":{"jobs":{"items":{"$ref":"#/definitions/v1ClusterWorkloadJob"},"type":"array"},"metadata":{"$ref":"#/definitions/v1RelatedObject"}},"type":"object"},"v1WorkspaceClusterWorkloadNamespaces":{"description":"Workspace cluster workload namespaces summary","properties":{"metadata":{"$ref":"#/definitions/v1RelatedObject"},"namespaces":{"items":{"$ref":"#/definitions/v1ClusterWorkloadNamespace"},"type":"array"}},"type":"object"},"v1WorkspaceClusterWorkloadPods":{"description":"Workspace cluster workload pods summary","properties":{"metadata":{"$ref":"#/definitions/v1RelatedObject"},"pods":{"items":{"$ref":"#/definitions/v1ClusterWorkloadPod"},"type":"array"}},"type":"object"},"v1WorkspaceClusterWorkloadRoleBindings":{"description":"Workspace cluster workload rbac bindings summary","properties":{"bindings":{"items":{"$ref":"#/definitions/v1ClusterWorkloadRoleBinding"},"type":"array"},"metadata":{"$ref":"#/definitions/v1RelatedObject"}},"type":"object"},"v1WorkspaceClusterWorkloadStatefulSets":{"description":"Workspace cluster workload statefulsets summary","properties":{"metadata":{"$ref":"#/definitions/v1RelatedObject"},"statefulSets":{"items":{"$ref":"#/definitions/v1ClusterWorkloadStatefulSet"},"type":"array"}},"type":"object"},"v1WorkspaceClustersWorkloadCronJobs":{"description":"Workspace clusters workload cronjobs summary","properties":{"clusters":{"items":{"$ref":"#/definitions/v1WorkspaceClusterWorkloadCronJobs"},"type":"array"},"metadata":{"$ref":"#/definitions/v1ObjectMetaInputEntity"}},"type":"object"},"v1WorkspaceClustersWorkloadDaemonSets":{"description":"Workspace clusters workload statefulsets summary","properties":{"clusters":{"items":{"$ref":"#/definitions/v1WorkspaceClusterWorkloadDaemonSets"},"type":"array"},"metadata":{"$ref":"#/definitions/v1ObjectMetaInputEntity"}},"type":"object"},"v1WorkspaceClustersWorkloadDeployments":{"description":"Workspace clusters workload deployments summary","properties":{"clusters":{"items":{"$ref":"#/definitions/v1WorkspaceClusterWorkloadDeployments"},"type":"array"},"metadata":{"$ref":"#/definitions/v1ObjectMetaInputEntity"}},"type":"object"},"v1WorkspaceClustersWorkloadJobs":{"description":"Workspace clusters workload jobs summary","properties":{"clusters":{"items":{"$ref":"#/definitions/v1WorkspaceClusterWorkloadJobs"},"type":"array"},"metadata":{"$ref":"#/definitions/v1ObjectMetaInputEntity"}},"type":"object"},"v1WorkspaceClustersWorkloadNamespaces":{"description":"Workspace clusters workload namespaces summary","properties":{"clusters":{"items":{"$ref":"#/definitions/v1WorkspaceClusterWorkloadNamespaces"},"type":"array"},"metadata":{"$ref":"#/definitions/v1ObjectMetaInputEntity"}},"type":"object"},"v1WorkspaceClustersWorkloadPods":{"description":"Workspace clusters workload pods summary","properties":{"clusters":{"items":{"$ref":"#/definitions/v1WorkspaceClusterWorkloadPods"},"type":"array"},"metadata":{"$ref":"#/definitions/v1ObjectMetaInputEntity"}},"type":"object"},"v1WorkspaceClustersWorkloadRoleBindings":{"description":"Workspace clusters workload rbac bindings summary","properties":{"clusters":{"items":{"$ref":"#/definitions/v1WorkspaceClusterWorkloadRoleBindings"},"type":"array"},"metadata":{"$ref":"#/definitions/v1ObjectMetaInputEntity"}},"type":"object"},"v1WorkspaceClustersWorkloadStatefulSets":{"description":"Workspace clusters workload statefulsets summary","properties":{"clusters":{"items":{"$ref":"#/definitions/v1WorkspaceClusterWorkloadStatefulSets"},"type":"array"},"metadata":{"$ref":"#/definitions/v1ObjectMetaInputEntity"}},"type":"object"},"v1WorkspaceEntity":{"description":"Workspace information","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1WorkspaceSpec"}}},"v1WorkspaceError":{"description":"Workspace error","properties":{"clusterUid":{"type":"string"},"msg":{"type":"string"},"name":{"type":"string"},"resourceType":{"type":"string"}}},"v1WorkspaceNamespaceImage":{"description":"Workspace namespace image information","properties":{"blackListedImages":{"items":{"type":"string"},"type":"array","uniqueItems":true}}},"v1WorkspaceNamespaceResourceAllocation":{"description":"Workspace namespace resource allocation","properties":{"clusterResourceAllocations":{"items":{"$ref":"#/definitions/v1ClusterResourceAllocation"},"type":"array","uniqueItems":true},"defaultResourceAllocation":{"$ref":"#/definitions/v1WorkspaceResourceAllocation"}}},"v1WorkspacePolicies":{"description":"Workspace policies","properties":{"backupPolicy":{"$ref":"#/definitions/v1WorkspaceBackupConfigEntity"}}},"v1WorkspaceQuota":{"description":"Workspace resource quota","properties":{"resourceAllocation":{"$ref":"#/definitions/v1WorkspaceResourceAllocation"}}},"v1WorkspaceResourceAllocation":{"description":"Workspace resource allocation","properties":{"cpuCores":{"minimum":-1,"type":"number","x-omitempty":false},"memoryMiB":{"minimum":-1,"type":"number","x-omitempty":false}}},"v1WorkspaceResourceAllocationsEntity":{"description":"Workspace resource allocation update entity","properties":{"clusterNamespaces":{"items":{"$ref":"#/definitions/v1WorkspaceClusterNamespace"},"type":"array","uniqueItems":true},"clusterRefs":{"items":{"$ref":"#/definitions/v1WorkspaceClusterRef"},"type":"array","uniqueItems":true},"quota":{"$ref":"#/definitions/v1WorkspaceQuota"}}},"v1WorkspaceRestore":{"description":"Workspace restore","properties":{"metadata":{"$ref":"#/definitions/v1ObjectMeta"},"spec":{"$ref":"#/definitions/v1WorkspaceRestoreSpec"},"status":{"$ref":"#/definitions/v1WorkspaceRestoreStatus"}}},"v1WorkspaceRestoreConfig":{"description":"Workspace cluster restore config","properties":{"backupName":{"type":"string"},"includeClusterResources":{"type":"boolean"},"includeNamespaces":{"items":{"type":"string"},"type":"array","uniqueItems":true},"preserveNodePorts":{"type":"boolean"},"restorePVs":{"type":"boolean"},"sourceClusterUid":{"type":"string"}},"required":["backupName","sourceClusterUid"]},"v1WorkspaceRestoreConfigEntity":{"description":"Cluster restore config","properties":{"backupRequestUid":{"type":"string"},"restoreConfigs":{"items":{"$ref":"#/definitions/v1WorkspaceRestoreConfig"},"type":"array","uniqueItems":true}},"required":["backupRequestUid"]},"v1WorkspaceRestoreSpec":{"description":"Workspace restore spec","properties":{"workspaceUid":{"type":"string"}}},"v1WorkspaceRestoreState":{"description":"Workspace restore state","properties":{"deleteState":{"type":"string"},"state":{"type":"string"}}},"v1WorkspaceRestoreStatus":{"description":"Workspace restore status","properties":{"workspaceRestoreStatuses":{"items":{"$ref":"#/definitions/v1WorkspaceRestoreStatusMeta"},"type":"array"}}},"v1WorkspaceRestoreStatusMeta":{"description":"Workspace restore status meta","properties":{"actor":{"$ref":"#/definitions/v1ClusterFeatureActor"},"requestUid":{"type":"string"},"workspaceRestoreConfig":{"$ref":"#/definitions/v1WorkspaceClusterRestoreConfig"}}},"v1WorkspaceRolesPatch":{"properties":{"roles":{"items":{"type":"string"},"type":"array"},"uid":{"type":"string"}},"type":"object"},"v1WorkspaceRolesUidSummary":{"properties":{"name":{"type":"string"},"uid":{"type":"string"}},"type":"object"},"v1WorkspaceScopeRoles":{"description":"List all workspaces with the roles assigned to the users","properties":{"projects":{"items":{"$ref":"#/definitions/v1ProjectsWorkspaces"},"type":"array","uniqueItems":true}}},"v1WorkspaceSpec":{"description":"Workspace specifications","properties":{"clusterNamespaces":{"items":{"$ref":"#/definitions/v1WorkspaceClusterNamespace"},"type":"array","uniqueItems":true},"clusterRbacs":{"items":{"$ref":"#/definitions/v1ClusterRbac"},"type":"array","uniqueItems":true},"clusterRefs":{"items":{"$ref":"#/definitions/v1WorkspaceClusterRef"},"type":"array","uniqueItems":true},"policies":{"$ref":"#/definitions/v1WorkspacePolicies"},"quota":{"$ref":"#/definitions/v1WorkspaceQuota"}}},"v1WorkspaceStatus":{"description":"Workspace status","properties":{"errors":{"items":{"$ref":"#/definitions/v1WorkspaceError"},"type":"array","uniqueItems":true}}},"v1WorkspaceWorkloadsFilter":{"description":"Workspace workloads filter","properties":{"clusters":{"items":{"type":"string"},"type":"array","uniqueItems":true},"namespaces":{"items":{"type":"string"},"type":"array","uniqueItems":true}},"type":"object"},"v1WorkspaceWorkloadsSpec":{"description":"Workspace workloads spec","properties":{"filter":{"$ref":"#/definitions/v1WorkspaceWorkloadsFilter"}},"type":"object"},"v1WorkspacesRoles":{"description":"Workspace users and their roles","properties":{"inheritedRoles":{"items":{"$ref":"#/definitions/v1WorkspaceRolesUidSummary"},"type":"array"},"name":{"type":"string"},"roles":{"items":{"$ref":"#/definitions/v1WorkspaceRolesUidSummary"},"type":"array"},"uid":{"type":"string"}}},"v1WorkspacesRolesPatch":{"properties":{"workspaces":{"items":{"$ref":"#/definitions/v1WorkspaceRolesPatch"},"type":"array"}},"type":"object"},"v1YearlyUsage":{"description":"Yearly usage object","properties":{"billingPeriod":{"$ref":"#/definitions/v1InvoiceBillingPeriod"},"monthlyUsages":{"description":"List of monthly usages","items":{"$ref":"#/definitions/v1MonthlyUsage"},"type":"array","uniqueItems":true},"productUsages":{"$ref":"#/definitions/v1ProductUsage"}}},"v1ZoneEntity":{"description":"Azure availability zone entity","properties":{"id":{"description":"Azure availability zone id","type":"string"}},"type":"object"}},"info":{"title":"Palette APIs - 4.3","version":"v1"},"paths":{"/cluster/{uid}/manifest":{"get":{"description":"Deprecated","operationId":"v1SpectroClustersUidInstallerManifest","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"produces":["application/octet-stream"],"responses":{"200":{"description":"download file","headers":{"Content-Disposition":{"type":"string"}},"schema":{"format":"binary","type":"string"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified cluster's installer manifest file","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}]},"/v1/apiKeys":{"get":{"operationId":"v1ApiKeysList","responses":{"200":{"description":"Retrieves a list of API keys","schema":{"$ref":"#/definitions/v1ApiKeys"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of API keys","tags":["v1"]},"post":{"operationId":"v1ApiKeysCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ApiKeyEntity"}}],"responses":{"201":{"description":"APIKey Created successfully","schema":{"$ref":"#/definitions/v1ApiKeyCreateResponse"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Create an API key","tags":["v1"]}},"/v1/apiKeys/{uid}":{"delete":{"operationId":"v1ApiKeysUidDelete","responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified API key","tags":["v1"]},"get":{"operationId":"v1ApiKeysUidGet","responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1ApiKey"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified API key","tags":["v1"]},"parameters":[{"description":"Specify API key uid","in":"path","name":"uid","required":true,"type":"string"}],"patch":{"operationId":"v1ApiKeysUidActiveState","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ApiKeyActiveState"}}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Activate or de-active the specified API key","tags":["v1"]},"put":{"operationId":"v1ApiKeysUidUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ApiKeyUpdate"}}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Update the specified API key","tags":["v1"]}},"/v1/apiKeys/{uid}/state":{"parameters":[{"description":"Specify API key uid","in":"path","name":"uid","required":true,"type":"string"}],"put":{"operationId":"v1ApiKeysUidState","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ApiKeyActiveState"}}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Revoke or re-activate the API key access","tags":["v1"]}},"/v1/appDeployments":{"post":{"operationId":"v1AppDeploymentsVirtualClusterCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1AppDeploymentVirtualClusterEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Creates a application deployment in the virtual cluster","tags":["v1"]}},"/v1/appDeployments/clusterGroup":{"post":{"operationId":"v1AppDeploymentsClusterGroupCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1AppDeploymentClusterGroupEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Creates a application deployment in one of virtual clusters in the cluster group","tags":["v1"]}},"/v1/appDeployments/{uid}":{"delete":{"operationId":"v1AppDeploymentsUidDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified application deployment","tags":["v1"]},"get":{"operationId":"v1AppDeploymentsUidGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1AppDeployment"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified application deployment","tags":["v1"]},"parameters":[{"description":"Application deployment uid","in":"path","name":"uid","required":true,"type":"string"}]},"/v1/appDeployments/{uid}/profile":{"get":{"operationId":"v1AppDeploymentsUidProfileGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1AppDeploymentProfileSpec"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns profile of the specified application deployment","tags":["v1"]},"parameters":[{"description":"Application deployment uid","in":"path","name":"uid","required":true,"type":"string"}],"put":{"operationId":"v1AppDeploymentsUidProfileUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1AppDeploymentProfileEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified application deployment profile","tags":["v1"]}},"/v1/appDeployments/{uid}/profile/apply":{"parameters":[{"description":"Application deployment uid","in":"path","name":"uid","required":true,"type":"string"},{"description":"Application deployment notification uid","in":"query","name":"notify","type":"string"}],"patch":{"operationId":"v1AppDeploymentsUidProfileApply","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Apply the application deployment profile updates","tags":["v1"]}},"/v1/appDeployments/{uid}/profile/tiers/{tierUid}":{"get":{"operationId":"v1AppDeploymentsProfileTiersUidGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1AppTier"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified application deployment profile tier information","tags":["v1"]},"parameters":[{"description":"Application deployment uid","in":"path","name":"uid","required":true,"type":"string"},{"description":"Application deployment tier uid","in":"path","name":"tierUid","required":true,"type":"string"}],"put":{"operationId":"v1AppDeploymentsProfileTiersUidUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1AppTierUpdateEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified application deployment profile tier information","tags":["v1"]}},"/v1/appDeployments/{uid}/profile/tiers/{tierUid}/manifests":{"get":{"operationId":"v1AppDeploymentsProfileTiersUidManifestsGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1AppTierManifests"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of manifests of the specified application deployment profile tier","tags":["v1"]},"parameters":[{"description":"Application deployment uid","in":"path","name":"uid","required":true,"type":"string"},{"description":"Application deployment tier uid","in":"path","name":"tierUid","required":true,"type":"string"}]},"/v1/appDeployments/{uid}/profile/tiers/{tierUid}/manifests/{manifestUid}":{"get":{"operationId":"v1AppDeploymentsProfileTiersManifestsUidGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1Manifest"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified application deployment tier manifest information","tags":["v1"]},"parameters":[{"description":"Application deployment uid","in":"path","name":"uid","required":true,"type":"string"},{"description":"Application deployment tier uid","in":"path","name":"tierUid","required":true,"type":"string"},{"description":"Application deployment tier manifest uid","in":"path","name":"manifestUid","required":true,"type":"string"}],"put":{"operationId":"v1AppDeploymentsProfileTiersManifestsUidUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ManifestRefUpdateEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified application deployment tier manifest information","tags":["v1"]}},"/v1/appDeployments/{uid}/profile/versions":{"get":{"operationId":"v1AppDeploymentsUidProfileVersionsGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1AppDeploymentProfileVersions"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of profile versions of the specified application deployment","tags":["v1"]},"parameters":[{"description":"Application deployment uid","in":"path","name":"uid","required":true,"type":"string"}]},"/v1/appProfiles":{"post":{"operationId":"v1AppProfilesCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1AppProfileEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Creates a application profile","tags":["v1"]}},"/v1/appProfiles/macros":{"get":{"operationId":"v1AppProfilesMacrosList","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1Macros"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of application profile macros","tags":["v1"]}},"/v1/appProfiles/{uid}":{"delete":{"operationId":"v1AppProfilesUidDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified application profile","tags":["v1"]},"get":{"operationId":"v1AppProfilesUidGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1AppProfile"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified application profile","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"put":{"operationId":"v1AppProfilesUidUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1AppProfileEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified application profile","tags":["v1"]}},"/v1/appProfiles/{uid}/clone":{"parameters":[{"description":"Application profile uid","in":"path","name":"uid","required":true,"type":"string"}],"post":{"operationId":"v1AppProfilesUidClone","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1AppProfileCloneEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Clones the specified application profile","tags":["v1"]}},"/v1/appProfiles/{uid}/clone/validate":{"parameters":[{"description":"Application profile uid","in":"path","name":"uid","required":true,"type":"string"}],"post":{"operationId":"v1AppProfilesUidCloneValidate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1AppProfileCloneMetaInputEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Validates the specified application profile clone","tags":["v1"]}},"/v1/appProfiles/{uid}/metadata":{"parameters":[{"description":"Application profile uid","in":"path","name":"uid","required":true,"type":"string"}],"patch":{"operationId":"v1AppProfilesUidMetadataUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1AppProfileMetaEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified application profile metadata","tags":["v1"]}},"/v1/appProfiles/{uid}/tiers":{"get":{"operationId":"v1AppProfilesUidTiersGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1AppProfileTiers"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of tiers of the specified application profile","tags":["v1"]},"parameters":[{"description":"Application profile uid","in":"path","name":"uid","required":true,"type":"string"}],"patch":{"operationId":"v1AppProfilesUidTiersPatch","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1AppTierPatchEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates app tier of the specified application profile","tags":["v1"]},"post":{"operationId":"v1AppProfilesUidTiersCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1AppTierEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Adds tier to the specified application profile","tags":["v1"]}},"/v1/appProfiles/{uid}/tiers/{tierUid}":{"delete":{"operationId":"v1AppProfilesUidTiersUidDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified application profile tier","tags":["v1"]},"get":{"operationId":"v1AppProfilesUidTiersUidGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1AppTier"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified application profile tier information","tags":["v1"]},"parameters":[{"description":"Application profile uid","in":"path","name":"uid","required":true,"type":"string"},{"description":"Application profile tier uid","in":"path","name":"tierUid","required":true,"type":"string"}],"put":{"operationId":"v1AppProfilesUidTiersUidUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1AppTierUpdateEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified application profile tier","tags":["v1"]}},"/v1/appProfiles/{uid}/tiers/{tierUid}/manifests":{"get":{"operationId":"v1AppProfilesUidTiersUidManifestsGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1AppTierManifests"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of manifests of the specified application profile tier","tags":["v1"]},"parameters":[{"description":"Application profile uid","in":"path","name":"uid","required":true,"type":"string"},{"description":"Application profile tier uid","in":"path","name":"tierUid","required":true,"type":"string"}],"post":{"operationId":"v1AppProfilesUidTiersUidManifestsCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ManifestInputEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Adds manifest to the specified application profile tier","tags":["v1"]}},"/v1/appProfiles/{uid}/tiers/{tierUid}/manifests/{manifestUid}":{"delete":{"operationId":"v1AppProfilesUidTiersUidManifestsUidDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified application profile tier manifest","tags":["v1"]},"get":{"operationId":"v1AppProfilesUidTiersUidManifestsUidGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1Manifest"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified application profile tier manifest information","tags":["v1"]},"parameters":[{"description":"Application profile uid","in":"path","name":"uid","required":true,"type":"string"},{"description":"Application profile tier uid","in":"path","name":"tierUid","required":true,"type":"string"},{"description":"Application profile tier manifest uid","in":"path","name":"manifestUid","required":true,"type":"string"}],"put":{"operationId":"v1AppProfilesUidTiersUidManifestsUidUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ManifestRefUpdateEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified application profile tier manifest information","tags":["v1"]}},"/v1/appProfiles/{uid}/tiers/{tierUid}/resolvedValues":{"get":{"operationId":"v1AppProfilesUidTiersUidResolvedValuesGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1AppTierResolvedValues"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified application profile tier resolved values","tags":["v1"]},"parameters":[{"description":"Application profile uid","in":"path","name":"uid","required":true,"type":"string"},{"description":"Application profile tier uid","in":"path","name":"tierUid","required":true,"type":"string"}]},"/v1/audits":{"get":{"operationId":"v1AuditsList","parameters":[{"description":"Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.","format":"date-time","in":"query","name":"startTime","type":"string"},{"description":"Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.","format":"date-time","in":"query","name":"endTime","type":"string"},{"description":"Specify the user uid, to retrieve the specific user audit logs","in":"query","name":"userUid","type":"string"},{"description":"Specify the project uid, to retrieve the specific project audit logs","in":"query","name":"projectUid","type":"string"},{"description":"Specify the tenant uid, to retrieve the specific tenant audit logs","in":"query","name":"tenantUid","type":"string"},{"description":"Specify the resource name, to retrieve the specific resource audit logs","in":"query","name":"resourceKind","type":"string"},{"description":"Specify the resource uid, to retrieve the specific resource audit logs","in":"query","name":"resourceUid","type":"string"},{"enum":["create","update","delete","publish","deploy"],"in":"query","name":"actionType","type":"string"},{"default":50,"description":"limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.","format":"int64","in":"query","name":"limit","type":"integer"},{"description":"offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.","format":"int64","in":"query","name":"offset","type":"integer"},{"description":"continue token to paginate the subsequent data items","in":"query","name":"continue","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1Audits"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves the list of audit logs","tags":["v1"]}},"/v1/audits/{uid}":{"get":{"operationId":"v1AuditsUidGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1Audit"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified audit log","tags":["v1"]},"parameters":[{"description":"Specify the audit uid","in":"path","name":"uid","required":true,"type":"string"}]},"/v1/audits/{uid}/sysMsg":{"get":{"operationId":"v1AuditsUidGetSysMsg","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1AuditSysMsg"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified system audit message","tags":["v1"]},"parameters":[{"description":"Specify the audit uid","in":"path","name":"uid","required":true,"type":"string"}]},"/v1/audits/{uid}/userMsg":{"parameters":[{"description":"Specify the audit uid","in":"path","name":"uid","required":true,"type":"string"}],"patch":{"operationId":"v1AuditsUidMsgUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1AuditMsgUpdate"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified user message for the specified audit","tags":["v1"]}},"/v1/auth/authenticate":{"post":{"description":"Creates a authentication request with the specified credentials","operationId":"v1Authenticate","parameters":[{"default":true,"description":"Describes a way to set cookie from backend.","in":"query","name":"setCookie","type":"boolean"},{"description":"Describes the credential details required for authentication","in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/v1AuthLogin"}}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1UserToken"}}},"summary":"Authenticates the user for the specified crendentials","tags":["v1"]}},"/v1/auth/org":{"get":{"description":"Returns the allowed login method and information with the organization details","operationId":"v1AuthOrg","parameters":[{"in":"query","name":"orgName","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1LoginResponse"}}},"summary":"Returns the user organization details","tags":["v1"]}},"/v1/auth/org/{orgName}/switch":{"post":{"description":"Creates a request to switch to the same user's other organization. Only possible if user belongs to multiple organization","operationId":"V1AuthOrgSwitch","parameters":[{"default":true,"description":"Describes a way to set cookie from backend for switched organization","in":"query","name":"setCookie","type":"boolean"},{"description":"Organization name for which switch request has to be created","in":"path","name":"orgName","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1UserToken"}}},"summary":"Creates a request to switch organization","tags":["v1"]}},"/v1/auth/org/{org}/oidc/callback":{"get":{"description":"Returns the Authorization token for the palette. This is called by the IDP as a callback url after IDP authenticates the user with its server.","operationId":"V1OidcCallback","responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1UserToken"}}},"summary":"Idp authorization code callback","tags":["v1"]},"parameters":[{"description":"Organization name","in":"path","name":"org","required":true,"type":"string"},{"description":"Describes temporary and very short lived code sent by IDP to validate the token","in":"query","name":"code","type":"string"},{"description":"Describes a state to validate and associate request and response","in":"query","name":"state","type":"string"},{"description":"Describes a error code in case the IDP is not able to validate and authenticates the user","in":"query","name":"error","type":"string"},{"description":"Describes a error in case the IDP is not able to validate and authenticates the user","in":"query","name":"error_description","type":"string"}]},"/v1/auth/org/{org}/oidc/logout":{"get":{"description":"Returns No Content. Works as a callback url after the IDP logout from their server.","operationId":"V1OidcLogout","responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"summary":"Identity provider logout url for the Oidc","tags":["v1"]},"parameters":[{"description":"Organization name","in":"path","name":"org","required":true,"type":"string"},{"description":"Describes a state to validate and associate request and response","in":"query","name":"state","type":"string"}]},"/v1/auth/org/{org}/saml/callback":{"parameters":[{"description":"Organization name","in":"path","name":"org","required":true,"type":"string"},{"description":"Deprecated.","in":"query","name":"authToken","type":"string"}],"post":{"consumes":["application/x-www-form-urlencoded"],"description":"Returns the Authorization token for the palette. This is called by the SAML based IDP as a callback url after IDP authenticates the user with its server.","operationId":"V1SamlCallback","parameters":[{"description":"Describe the SAML compliant response sent by IDP which will be validated by Palette","in":"formData","name":"SAMLResponse","type":"string"},{"description":"Describes a state to validate and associate request and response","in":"formData","name":"RelayState","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1UserToken"}}},"summary":"Identity provider callback url for the SMAL authentication","tags":["v1"]}},"/v1/auth/org/{org}/saml/logout":{"parameters":[{"description":"Organization name","in":"path","name":"org","required":true,"type":"string"},{"description":"Deprecated.","in":"query","name":"authToken","type":"string"}],"post":{"consumes":["application/x-www-form-urlencoded"],"description":"Returns No Content. Works as a callback url after the IDP logout from their server.","operationId":"V1SamlLogout","parameters":[{"description":"Describe the SAML compliant response sent by IDP which will be validated by Palette to perform logout.","in":"formData","name":"SAMLResponse","type":"string"}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"summary":"Identity provider logout url for the SMAL","tags":["v1"]}},"/v1/auth/orgs":{"get":{"description":"Returns a list of user's organizations details and login methods","operationId":"V1AuthOrgs","responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1Organizations"}}},"summary":"Returns a list of user's organizations","tags":["v1"]}},"/v1/auth/password/{passwordToken}/activate":{"parameters":[{"description":"Describes the expirable password token for the user to be used for authentication of user","in":"path","name":"passwordToken","required":true,"type":"string"}],"patch":{"description":"Updates and Activates user password with the help of password token","operationId":"v1PasswordActivate","parameters":[{"in":"body","name":"body","required":true,"schema":{"properties":{"password":{"description":"Describes the new password for the user","format":"password","type":"string"}},"required":["password"],"type":"object"}}],"responses":{"204":{"description":"The resource was updated successfully"}},"summary":"Updates and Activates the specified user password using the password token","tags":["v1"]}},"/v1/auth/password/{passwordToken}/reset":{"parameters":[{"description":"Describes the expirable password token for the user to be used for authentication of user","in":"path","name":"passwordToken","required":true,"type":"string"}],"patch":{"description":"Updates the new user password with the help of password token","operationId":"v1PasswordReset","parameters":[{"in":"body","name":"body","required":true,"schema":{"properties":{"password":{"description":"Describes the new password for the user","format":"password","type":"string"}},"required":["password"],"type":"object"}}],"responses":{"204":{"description":"The resource was updated successfully"}},"summary":"Resets the user password using the password token","tags":["v1"]}},"/v1/auth/refresh/{token}":{"get":{"description":"Returns a new token within refresh timeout and same session id is maintained","operationId":"v1AuthRefresh","responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1UserToken"}}},"summary":"Refreshes authentication token","tags":["v1"]},"parameters":[{"default":true,"description":"Describes a way to set cookie from backend.","in":"query","name":"setCookie","type":"boolean"},{"description":"Non expired Authorization token","in":"path","name":"token","required":true,"type":"string"}]},"/v1/auth/sso/idps":{"get":{"description":"Returns a list of predefined Identity Provider (IDP)","operationId":"V1SsoIdps","responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1IdentityProviders"}}},"summary":"Returns a list of predefined Identity Provider (IDP)","tags":["v1"]}},"/v1/auth/sso/logins":{"get":{"description":"Returns a list of supported sso logins and their authentication mechanism","operationId":"V1SsoLogins","parameters":[{"in":"query","name":"org","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1SsoLogins"}}},"summary":"Returns a list of supported sso logins","tags":["v1"]}},"/v1/auth/sso/providers":{"get":{"description":"Returns a list of supported sso auth providers","operationId":"V1AuthSsoProviders","responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1SsoLogins"}}},"summary":"Returns a list of supported sso auth providers","tags":["v1"]}},"/v1/auth/sso/{ssoApp}/callback":{"get":{"description":"Returns Authorization token. Works as a callback url for the system defined sso apps","operationId":"V1SsoCallback","responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1UserToken"}}},"summary":"Returns Authorization token. Works as a callback url for the system defined sso apps","tags":["v1"]},"parameters":[{"description":"Describes the sso app use to login into the system","in":"path","name":"ssoApp","required":true,"type":"string"},{"description":"Describes temporary and very short lived code sent by IDP to validate the token","in":"query","name":"code","type":"string"},{"description":"Describes a state to validate and associate request and response","in":"query","name":"state","type":"string"},{"description":"Describes a error code in case the IDP is not able to validate and authenticates the user","in":"query","name":"error","type":"string"},{"description":"Describes a error in case the IDP is not able to validate and authenticates the user","in":"query","name":"error_description","type":"string"}]},"/v1/auth/user/org/forgot":{"get":{"description":"Returns No Content. Sends the user organization(s) information via email","operationId":"V1AuthUserOrgForgot","parameters":[{"description":"Describes user's email id for sending organzation(s) details via email.","in":"query","name":"emailId","required":true,"type":"string"}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"summary":"Returns No Content. Sends the user organization information via email","tags":["v1"]}},"/v1/auth/user/password/reset":{"post":{"description":"Creates request to reset password via email. Password reset email will be sent to the user. Sends 204 No Content.","operationId":"v1PasswordResetRequest","parameters":[{"in":"body","name":"body","required":true,"schema":{"properties":{"emailId":{"description":"Describes email if for which password reset email has to be sent","type":"string"}},"required":["emailId"],"type":"object"}}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"summary":"Creates request to reset password via email","tags":["v1"]}},"/v1/cloudaccounts/aws":{"get":{"operationId":"v1CloudAccountsAwsList","parameters":[{"description":"Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name","in":"query","name":"fields","type":"string"},{"description":"Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.","in":"query","name":"filters","type":"string"},{"description":"Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1","in":"query","name":"orderBy","type":"string"},{"default":50,"description":"limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.","format":"int64","in":"query","name":"limit","type":"integer"},{"description":"offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.","format":"int64","in":"query","name":"offset","type":"integer"},{"description":"continue token to paginate the subsequent data items","in":"query","name":"continue","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of cloud account items","schema":{"$ref":"#/definitions/v1AwsAccounts"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of AWS cloud accounts","tags":["v1"]},"post":{"operationId":"v1CloudAccountsAwsCreate","parameters":[{"description":"Request payload to validate AWS cloud account","in":"body","name":"body","schema":{"$ref":"#/definitions/v1AwsAccount"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Creates an AWS cloud account","tags":["v1"]}},"/v1/cloudaccounts/aws/{uid}":{"delete":{"operationId":"v1CloudAccountsAwsDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified AWS account","tags":["v1"]},"get":{"operationId":"v1CloudAccountsAwsGet","parameters":[{"default":false,"in":"query","name":"assumeCredentials","type":"boolean"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1AwsAccount"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified AWS account","tags":["v1"]},"parameters":[{"description":"AWS cloud account uid","in":"path","name":"uid","required":true,"type":"string"}],"put":{"operationId":"v1CloudAccountsAwsUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1AwsAccount"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified AWS account","tags":["v1"]}},"/v1/cloudaccounts/azure":{"get":{"operationId":"v1CloudAccountsAzureList","parameters":[{"description":"Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name","in":"query","name":"fields","type":"string"},{"description":"Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.","in":"query","name":"filters","type":"string"},{"description":"Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1","in":"query","name":"orderBy","type":"string"},{"default":50,"description":"limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.","format":"int64","in":"query","name":"limit","type":"integer"},{"description":"offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.","format":"int64","in":"query","name":"offset","type":"integer"},{"description":"continue token to paginate the subsequent data items","in":"query","name":"continue","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of azure cloud account items","schema":{"$ref":"#/definitions/v1AzureAccounts"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of azure cloud accounts","tags":["v1"]},"post":{"operationId":"v1CloudAccountsAzureCreate","parameters":[{"description":"Request payload to validate Azure cloud account","in":"body","name":"body","schema":{"$ref":"#/definitions/v1AzureAccount"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Create azure cloud account","tags":["v1"]}},"/v1/cloudaccounts/azure/{uid}":{"delete":{"operationId":"v1CloudAccountsAzureDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified azure account","tags":["v1"]},"get":{"operationId":"v1CloudAccountsAzureGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1AzureAccount"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified azure cloud account","tags":["v1"]},"parameters":[{"description":"Azure cloud account uid","in":"path","name":"uid","required":true,"type":"string"}],"put":{"operationId":"v1CloudAccountsAzureUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1AzureAccount"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified azure account","tags":["v1"]}},"/v1/cloudaccounts/cloudTypes/{cloudType}":{"get":{"operationId":"v1CloudAccountsCustomList","parameters":[{"description":"Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name","in":"query","name":"fields","type":"string"},{"description":"Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.","in":"query","name":"filters","type":"string"},{"description":"Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1","in":"query","name":"orderBy","type":"string"},{"default":50,"description":"limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.","format":"int64","in":"query","name":"limit","type":"integer"},{"description":"offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.","format":"int64","in":"query","name":"offset","type":"integer"},{"description":"continue token to paginate the subsequent data items","in":"query","name":"continue","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of cloud account by specified cloud type items","schema":{"$ref":"#/definitions/v1CustomAccounts"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of cloud accounts by cloud type","tags":["v1"]},"parameters":[{"description":"Custom cloud type","in":"path","name":"cloudType","required":true,"type":"string"}],"post":{"operationId":"v1CloudAccountsCustomCreate","parameters":[{"description":"Request payload to validate Custom cloud account","in":"body","name":"body","schema":{"$ref":"#/definitions/v1CustomAccountEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Creates an cloud account of specific cloud type","tags":["v1"]}},"/v1/cloudaccounts/cloudTypes/{cloudType}/{uid}":{"delete":{"operationId":"v1CloudAccountsCustomDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified account by cloud type","tags":["v1"]},"get":{"operationId":"v1CloudAccountsCustomGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1CustomAccount"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified account by cloud type","tags":["v1"]},"parameters":[{"description":"Custom cloud account uid","in":"path","name":"uid","required":true,"type":"string"},{"description":"Custom cloud type","in":"path","name":"cloudType","required":true,"type":"string"}],"put":{"operationId":"v1CloudAccountsCustomUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1CustomAccountEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified account by cloud type","tags":["v1"]}},"/v1/cloudaccounts/coxedge":{"get":{"operationId":"v1CloudAccountsCoxEdgeList","parameters":[{"description":"Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name","in":"query","name":"fields","type":"string"},{"description":"Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.","in":"query","name":"filters","type":"string"},{"description":"Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1","in":"query","name":"orderBy","type":"string"},{"default":50,"description":"limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.","format":"int64","in":"query","name":"limit","type":"integer"},{"description":"offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.","format":"int64","in":"query","name":"offset","type":"integer"},{"description":"continue token to paginate the subsequent data items","in":"query","name":"continue","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of cloud account items","schema":{"$ref":"#/definitions/v1CoxEdgeAccounts"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of CoxEdge cloud accounts","tags":["v1"]},"post":{"operationId":"v1CloudAccountsCoxEdgeCreate","parameters":[{"description":"Request payload to validate CoxEdge cloud account","in":"body","name":"body","schema":{"$ref":"#/definitions/v1CoxEdgeAccount"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Creates an CoxEdge cloud account","tags":["v1"]}},"/v1/cloudaccounts/coxedge/{uid}":{"delete":{"operationId":"v1CloudAccountsCoxEdgeDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified CoxEdge account","tags":["v1"]},"get":{"operationId":"v1CloudAccountsCoxEdgeGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1CoxEdgeAccount"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified CoxEdge account","tags":["v1"]},"parameters":[{"description":"CoxEdge cloud account uid","in":"path","name":"uid","required":true,"type":"string"}],"put":{"operationId":"v1CloudAccountsCoxEdgeUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1CoxEdgeAccount"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified CoxEdge account","tags":["v1"]}},"/v1/cloudaccounts/gcp":{"get":{"operationId":"v1CloudAccountsGcpList","parameters":[{"description":"Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name","in":"query","name":"fields","type":"string"},{"description":"Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.","in":"query","name":"filters","type":"string"},{"description":"Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1","in":"query","name":"orderBy","type":"string"},{"default":50,"description":"limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.","format":"int64","in":"query","name":"limit","type":"integer"},{"description":"offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.","format":"int64","in":"query","name":"offset","type":"integer"},{"description":"continue token to paginate the subsequent data items","in":"query","name":"continue","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of gcp cloud account items","schema":{"$ref":"#/definitions/v1GcpAccounts"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of gcp cloud accounts","tags":["v1"]},"post":{"operationId":"v1CloudAccountsGcpCreate","parameters":[{"description":"Request payload to validate GCP cloud account","in":"body","name":"body","schema":{"$ref":"#/definitions/v1GcpAccountEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Creates a GCP cloud account","tags":["v1"]}},"/v1/cloudaccounts/gcp/{uid}":{"delete":{"operationId":"v1CloudAccountsGcpDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified GCP account","tags":["v1"]},"get":{"operationId":"v1CloudAccountsGcpGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1GcpAccount"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified GCP cloud account","tags":["v1"]},"parameters":[{"description":"GCP cloud account uid","in":"path","name":"uid","required":true,"type":"string"}],"put":{"operationId":"v1CloudAccountsGcpUpdate","parameters":[{"description":"Request payload to validate GCP cloud account","in":"body","name":"body","schema":{"$ref":"#/definitions/v1GcpAccountEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified GCP account","tags":["v1"]}},"/v1/cloudaccounts/maas":{"get":{"operationId":"v1CloudAccountsMaasList","parameters":[{"description":"Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name","in":"query","name":"fields","type":"string"},{"description":"Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.","in":"query","name":"filters","type":"string"},{"description":"Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1","in":"query","name":"orderBy","type":"string"},{"default":50,"description":"limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.","format":"int64","in":"query","name":"limit","type":"integer"},{"description":"offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.","format":"int64","in":"query","name":"offset","type":"integer"},{"description":"continue token to paginate the subsequent data items","in":"query","name":"continue","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of cloud account items","schema":{"$ref":"#/definitions/v1MaasAccounts"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of Maas cloud accounts","tags":["v1"]},"post":{"operationId":"v1CloudAccountsMaasCreate","parameters":[{"description":"Request payload to validate Maas cloud account","in":"body","name":"body","schema":{"$ref":"#/definitions/v1MaasAccount"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Creates an Maas cloud account","tags":["v1"]}},"/v1/cloudaccounts/maas/{uid}":{"delete":{"operationId":"v1CloudAccountsMaasDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified Maas account","tags":["v1"]},"get":{"operationId":"v1CloudAccountsMaasGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1MaasAccount"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified Maas account","tags":["v1"]},"parameters":[{"description":"Maas cloud account uid","in":"path","name":"uid","required":true,"type":"string"}],"patch":{"operationId":"v1CloudAccountsMaasPatch","parameters":[{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/v1CloudAccountsPatch"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Patches the specified CloudAccount Maas","tags":["v1"]},"put":{"operationId":"v1CloudAccountsMaasUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1MaasAccount"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified Maas account","tags":["v1"]}},"/v1/cloudaccounts/maas/{uid}/properties/azs":{"get":{"operationId":"v1MaasAccountsUidAzs","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1MaasZones"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Get the maas azs for a given account","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}]},"/v1/cloudaccounts/maas/{uid}/properties/domains":{"get":{"operationId":"v1MaasAccountsUidDomains","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1MaasDomains"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Get the maas domains for a given account","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}]},"/v1/cloudaccounts/maas/{uid}/properties/resourcePools":{"get":{"operationId":"v1MaasAccountsUidPools","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1MaasPools"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Get the maas pools for a given account","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}]},"/v1/cloudaccounts/maas/{uid}/properties/subnets":{"get":{"operationId":"v1MaasAccountsUidSubnets","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1MaasSubnets"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Get the maas subnets for a given account","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}]},"/v1/cloudaccounts/maas/{uid}/properties/tags":{"get":{"operationId":"v1MaasAccountsUidTags","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1MaasTags"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Get the maas tags for a given account","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}]},"/v1/cloudaccounts/openstack":{"get":{"operationId":"v1CloudAccountsOpenStackList","parameters":[{"description":"Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name","in":"query","name":"fields","type":"string"},{"description":"Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.","in":"query","name":"filters","type":"string"},{"description":"Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1","in":"query","name":"orderBy","type":"string"},{"default":50,"description":"limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.","format":"int64","in":"query","name":"limit","type":"integer"},{"description":"offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.","format":"int64","in":"query","name":"offset","type":"integer"},{"description":"continue token to paginate the subsequent data items","in":"query","name":"continue","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of cloud account items","schema":{"$ref":"#/definitions/v1OpenStackAccounts"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of OpenStack cloud accounts","tags":["v1"]},"post":{"operationId":"v1CloudAccountsOpenStackCreate","parameters":[{"description":"Request payload to validate OpenStack cloud account","in":"body","name":"body","schema":{"$ref":"#/definitions/v1OpenStackAccount"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Creates a OpenStack cloud account","tags":["v1"]}},"/v1/cloudaccounts/openstack/{uid}":{"delete":{"operationId":"v1CloudAccountsOpenStackDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified OpenStack account","tags":["v1"]},"get":{"operationId":"v1CloudAccountsOpenStackGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1OpenStackAccount"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified OpenStack account","tags":["v1"]},"parameters":[{"description":"OpenStack cloud account uid","in":"path","name":"uid","required":true,"type":"string"}],"put":{"operationId":"v1CloudAccountsOpenStackUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1OpenStackAccount"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified OpenStack account","tags":["v1"]}},"/v1/cloudaccounts/openstack/{uid}/properties/azs":{"get":{"operationId":"v1OpenstackAccountsUidAzs","parameters":[{"in":"query","name":"region","type":"string"},{"in":"query","name":"project","type":"string"},{"in":"query","name":"domain","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1OpenStackAzs"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Get the openstack azs for a given account and region","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}]},"/v1/cloudaccounts/openstack/{uid}/properties/flavors":{"get":{"operationId":"v1OpenstackAccountsUidFlavors","parameters":[{"in":"query","name":"project","type":"string"},{"in":"query","name":"region","type":"string"},{"in":"query","name":"domain","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1OpenStackFlavors"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Get the openstack keypairs for a given account and scope","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}]},"/v1/cloudaccounts/openstack/{uid}/properties/keypairs":{"get":{"operationId":"v1OpenstackAccountsUidKeypairs","parameters":[{"in":"query","name":"project","type":"string"},{"in":"query","name":"region","type":"string"},{"in":"query","name":"domain","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1OpenStackKeypairs"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Get the openstack keypairs for a given account and scope","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}]},"/v1/cloudaccounts/openstack/{uid}/properties/networks":{"get":{"operationId":"v1OpenstackAccountsUidNetworks","parameters":[{"in":"query","name":"project","type":"string"},{"in":"query","name":"region","type":"string"},{"in":"query","name":"domain","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1OpenStackNetworks"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Get the openstack networks for a given account and scope","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}]},"/v1/cloudaccounts/openstack/{uid}/properties/projects":{"get":{"operationId":"v1OpenstackAccountsUidProjects","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1OpenStackProjects"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Get the openstack projects for a given account","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}]},"/v1/cloudaccounts/openstack/{uid}/properties/regions":{"get":{"operationId":"v1OpenstackAccountsUidRegions","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1OpenStackRegions"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Get the openstack regions for a given account","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}]},"/v1/cloudaccounts/summary":{"get":{"operationId":"v1CloudAccountsListSummary","parameters":[{"description":"Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.","in":"query","name":"filters","type":"string"},{"description":"Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1","in":"query","name":"orderBy","type":"string"},{"default":50,"description":"limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.","format":"int64","in":"query","name":"limit","type":"integer"},{"description":"offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.","format":"int64","in":"query","name":"offset","type":"integer"},{"description":"continue token to paginate the subsequent data items","in":"query","name":"continue","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of cloud account summary items","schema":{"$ref":"#/definitions/v1CloudAccountsSummary"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of cloud accounts summary","tags":["v1"]}},"/v1/cloudaccounts/tencent":{"get":{"operationId":"v1CloudAccountsTencentList","parameters":[{"description":"Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name","in":"query","name":"fields","type":"string"},{"description":"Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.","in":"query","name":"filters","type":"string"},{"description":"Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1","in":"query","name":"orderBy","type":"string"},{"default":50,"description":"limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.","format":"int64","in":"query","name":"limit","type":"integer"},{"description":"offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.","format":"int64","in":"query","name":"offset","type":"integer"},{"description":"continue token to paginate the subsequent data items","in":"query","name":"continue","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of cloud account items","schema":{"$ref":"#/definitions/v1TencentAccounts"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of Tencent cloud accounts","tags":["v1"]},"post":{"operationId":"v1CloudAccountsTencentCreate","parameters":[{"description":"Request payload to validate Tencent cloud account","in":"body","name":"body","schema":{"$ref":"#/definitions/v1TencentAccount"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Creates an Tencent cloud account","tags":["v1"]}},"/v1/cloudaccounts/tencent/{uid}":{"delete":{"operationId":"v1CloudAccountsTencentDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified Tencent account","tags":["v1"]},"get":{"operationId":"v1CloudAccountsTencentGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1TencentAccount"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified Tencent account","tags":["v1"]},"parameters":[{"description":"Tencent cloud account uid","in":"path","name":"uid","required":true,"type":"string"}],"put":{"operationId":"v1CloudAccountsTencentUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1TencentAccount"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified Tencent account","tags":["v1"]}},"/v1/cloudaccounts/vsphere":{"get":{"operationId":"v1CloudAccountsVsphereList","parameters":[{"description":"Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name","in":"query","name":"fields","type":"string"},{"description":"Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.","in":"query","name":"filters","type":"string"},{"description":"Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1","in":"query","name":"orderBy","type":"string"},{"default":50,"description":"limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.","format":"int64","in":"query","name":"limit","type":"integer"},{"description":"offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.","format":"int64","in":"query","name":"offset","type":"integer"},{"description":"continue token to paginate the subsequent data items","in":"query","name":"continue","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of cloud account items","schema":{"$ref":"#/definitions/v1VsphereAccounts"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of vSphere cloud accounts","tags":["v1"]},"post":{"operationId":"v1CloudAccountsVsphereCreate","parameters":[{"description":"Request payload to validate VSphere cloud account","in":"body","name":"body","schema":{"$ref":"#/definitions/v1VsphereAccount"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Creates a vSphere cloud account","tags":["v1"]}},"/v1/cloudaccounts/vsphere/{uid}":{"delete":{"operationId":"v1CloudAccountsVsphereDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified vSphere account","tags":["v1"]},"get":{"operationId":"v1CloudAccountsVsphereGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1VsphereAccount"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified vSphere account","tags":["v1"]},"parameters":[{"description":"VSphere cloud account uid","in":"path","name":"uid","required":true,"type":"string"}],"put":{"operationId":"v1CloudAccountsVsphereUpdate","parameters":[{"description":"Request payload to validate VSphere cloud account","in":"body","name":"body","schema":{"$ref":"#/definitions/v1VsphereAccount"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified VSphere account","tags":["v1"]}},"/v1/cloudaccounts/vsphere/{uid}/properties/computecluster/resources":{"get":{"operationId":"v1VsphereAccountsUidClusterRes","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1VsphereComputeClusterResources"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Get the vSphere computecluster resources for the given overlord account","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"},{"in":"query","name":"datacenter","required":true,"type":"string"},{"in":"query","name":"computecluster","required":true,"type":"string"},{"in":"query","name":"useQualifiedNetworkName","type":"boolean"}]},"/v1/cloudaccounts/vsphere/{uid}/properties/datacenters":{"get":{"operationId":"v1VsphereAccountsUidDatacenters","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1VsphereDatacenters"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Get the vSphere datacenters \u0026 datacluster for the given overlord account","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}]},"/v1/cloudaccounts/{uid}/geoLocation":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"patch":{"operationId":"v1AccountsGeolocationPatch","parameters":[{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/v1GeolocationLatlong"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Update the geolocation annotation","tags":["v1"]}},"/v1/cloudconfigs/aks/{configUid}":{"get":{"operationId":"v1CloudConfigsAksGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1AzureCloudConfig"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified AKS cloud config","tags":["v1"]},"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"}]},"/v1/cloudconfigs/aks/{configUid}/clusterConfig":{"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"}],"put":{"operationId":"v1CloudConfigsAksUidClusterConfig","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1AzureCloudClusterConfigEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the cluster configuration information","tags":["v1"]}},"/v1/cloudconfigs/aks/{configUid}/machinePools":{"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"}],"post":{"operationId":"v1CloudConfigsAksMachinePoolCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1AzureMachinePoolConfigEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Creates an AKS cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/aks/{configUid}/machinePools/{machinePoolName}":{"delete":{"operationId":"v1CloudConfigsAksMachinePoolDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified machine pool","tags":["v1"]},"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"},{"description":"Machine pool name","in":"path","name":"machinePoolName","required":true,"type":"string"}],"put":{"operationId":"v1CloudConfigsAksMachinePoolUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1AzureMachinePoolConfigEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified AKS cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/aks/{configUid}/machinePools/{machinePoolName}/machines":{"get":{"operationId":"v1CloudConfigsAksPoolMachinesList","parameters":[{"description":"Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name","in":"query","name":"fields","type":"string"},{"description":"Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.","in":"query","name":"filters","type":"string"},{"description":"Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1","in":"query","name":"orderBy","type":"string"},{"default":50,"description":"limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.","format":"int64","in":"query","name":"limit","type":"integer"},{"description":"offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.","format":"int64","in":"query","name":"offset","type":"integer"},{"description":"continue token to paginate the subsequent data items","in":"query","name":"continue","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of AKS machine items","schema":{"$ref":"#/definitions/v1AzureMachines"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of AKS machines","tags":["v1"]},"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"},{"description":"Machine pool name","in":"path","name":"machinePoolName","required":true,"type":"string"}],"post":{"operationId":"v1CloudConfigsAksPoolMachinesAdd","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1AzureMachine"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Adds the machine to cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/aks/{configUid}/machinePools/{machinePoolName}/machines/{machineUid}":{"delete":{"operationId":"v1CloudConfigsAksPoolMachinesUidDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified Azure machine","tags":["v1"]},"get":{"operationId":"v1CloudConfigsAksPoolMachinesUidGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1AzureMachine"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified AKS machine","tags":["v1"]},"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"},{"description":"Machine pool name","in":"path","name":"machinePoolName","required":true,"type":"string"},{"description":"Machine uid","in":"path","name":"machineUid","required":true,"type":"string"}],"put":{"operationId":"v1CloudConfigsAksPoolMachinesUidUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1AzureMachine"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified machine to the cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/aws/{configUid}":{"get":{"operationId":"v1CloudConfigsAwsGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1AwsCloudConfig"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified AWS cloud config","tags":["v1"]},"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"}]},"/v1/cloudconfigs/aws/{configUid}/clusterConfig":{"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"}],"put":{"operationId":"v1CloudConfigsAwsUidClusterConfig","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1AwsCloudClusterConfigEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the cluster configuration information","tags":["v1"]}},"/v1/cloudconfigs/aws/{configUid}/machinePools":{"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"}],"post":{"operationId":"v1CloudConfigsAwsMachinePoolCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1AwsMachinePoolConfigEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Creates an AWS cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/aws/{configUid}/machinePools/{machinePoolName}":{"delete":{"operationId":"v1CloudConfigsAwsMachinePoolDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified machine pool","tags":["v1"]},"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"},{"description":"Machine pool name","in":"path","name":"machinePoolName","required":true,"type":"string"}],"put":{"operationId":"v1CloudConfigsAwsMachinePoolUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1AwsMachinePoolConfigEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified AWS cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/aws/{configUid}/machinePools/{machinePoolName}/machines":{"get":{"operationId":"v1CloudConfigsAwsPoolMachinesList","parameters":[{"description":"Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name","in":"query","name":"fields","type":"string"},{"description":"Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.","in":"query","name":"filters","type":"string"},{"description":"Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1","in":"query","name":"orderBy","type":"string"},{"default":50,"description":"limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.","format":"int64","in":"query","name":"limit","type":"integer"},{"description":"offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.","format":"int64","in":"query","name":"offset","type":"integer"},{"description":"continue token to paginate the subsequent data items","in":"query","name":"continue","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of AWS machine items","schema":{"$ref":"#/definitions/v1AwsMachines"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of AWS machines","tags":["v1"]},"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"},{"description":"Machine pool name","in":"path","name":"machinePoolName","required":true,"type":"string"}],"post":{"operationId":"v1CloudConfigsAwsPoolMachinesAdd","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1AwsMachine"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Adds the machine to cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/aws/{configUid}/machinePools/{machinePoolName}/machines/{machineUid}":{"delete":{"operationId":"v1CloudConfigsAwsPoolMachinesUidDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified AWS machine","tags":["v1"]},"get":{"operationId":"v1CloudConfigsAwsPoolMachinesUidGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1AwsMachine"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified AWS machine","tags":["v1"]},"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"},{"description":"Machine pool name","in":"path","name":"machinePoolName","required":true,"type":"string"},{"description":"Machine uid","in":"path","name":"machineUid","required":true,"type":"string"}],"put":{"operationId":"v1CloudConfigsAwsPoolMachinesUidUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1AwsMachine"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified machine to the cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/azure/{configUid}":{"get":{"operationId":"v1CloudConfigsAzureGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1AzureCloudConfig"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified Azure cloud config","tags":["v1"]},"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"}]},"/v1/cloudconfigs/azure/{configUid}/clusterConfig":{"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"}],"put":{"operationId":"v1CloudConfigsAzureUidClusterConfig","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1AzureCloudClusterConfigEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the cluster configuration information","tags":["v1"]}},"/v1/cloudconfigs/azure/{configUid}/machinePools":{"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"}],"post":{"operationId":"v1CloudConfigsAzureMachinePoolCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1AzureMachinePoolConfigEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Creates an Azure cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/azure/{configUid}/machinePools/{machinePoolName}":{"delete":{"operationId":"v1CloudConfigsAzureMachinePoolDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified machine pool","tags":["v1"]},"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"},{"description":"Machine pool name","in":"path","name":"machinePoolName","required":true,"type":"string"}],"put":{"operationId":"v1CloudConfigsAzureMachinePoolUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1AzureMachinePoolConfigEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified Azure cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/azure/{configUid}/machinePools/{machinePoolName}/machines":{"get":{"description":"Returns all the Azure machines restricted to the user role and filters.","operationId":"v1CloudConfigsAzurePoolMachinesList","parameters":[{"description":"Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name","in":"query","name":"fields","type":"string"},{"description":"Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.","in":"query","name":"filters","type":"string"},{"description":"Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1","in":"query","name":"orderBy","type":"string"},{"default":50,"description":"limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.","format":"int64","in":"query","name":"limit","type":"integer"},{"description":"offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.","format":"int64","in":"query","name":"offset","type":"integer"},{"description":"continue token to paginate the subsequent data items","in":"query","name":"continue","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of AWS machine items","schema":{"$ref":"#/definitions/v1AzureMachines"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of Azure machines","tags":["v1"]},"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"},{"description":"Machine pool name","in":"path","name":"machinePoolName","required":true,"type":"string"}],"post":{"operationId":"v1CloudConfigsAzurePoolMachinesAdd","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1AzureMachine"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Adds the machine to cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/azure/{configUid}/machinePools/{machinePoolName}/machines/{machineUid}":{"delete":{"operationId":"v1CloudConfigsAzurePoolMachinesUidDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified Azure machine","tags":["v1"]},"get":{"description":"Returns a Azure machine for the specified uid.","operationId":"v1CloudConfigsAzurePoolMachinesUidGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1AzureMachine"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified Azure machine","tags":["v1"]},"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"},{"description":"Machine pool name","in":"path","name":"machinePoolName","required":true,"type":"string"},{"description":"Machine uid","in":"path","name":"machineUid","required":true,"type":"string"}],"put":{"operationId":"v1CloudConfigsAzurePoolMachinesUidUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1AzureMachine"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified machine to cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/cloudTypes/{cloudType}/{configUid}":{"get":{"operationId":"v1CloudConfigsCustomGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1CustomCloudConfig"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified Custom cloud config","tags":["v1"]},"parameters":[{"description":"Cluster's cloud type","in":"path","name":"cloudType","required":true,"type":"string"},{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"}]},"/v1/cloudconfigs/cloudTypes/{cloudType}/{configUid}/clusterConfig":{"parameters":[{"description":"Cluster's cloud type","in":"path","name":"cloudType","required":true,"type":"string"},{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"}],"put":{"operationId":"v1CloudConfigsCustomUidClusterConfig","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1CustomCloudClusterConfigEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the cluster configuration information","tags":["v1"]}},"/v1/cloudconfigs/cloudTypes/{cloudType}/{configUid}/machinePools":{"parameters":[{"description":"Cluster's cloud type","in":"path","name":"cloudType","required":true,"type":"string"},{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"}],"post":{"operationId":"v1CloudConfigsCustomMachinePoolCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1CustomMachinePoolConfigEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Creates an Custom cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/cloudTypes/{cloudType}/{configUid}/machinePools/{machinePoolName}":{"delete":{"operationId":"v1CloudConfigsCustomMachinePoolDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified machine pool","tags":["v1"]},"parameters":[{"description":"Cluster's cloud type","in":"path","name":"cloudType","required":true,"type":"string"},{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"},{"description":"Machine pool name","in":"path","name":"machinePoolName","required":true,"type":"string"}],"put":{"operationId":"v1CloudConfigsCustomMachinePoolUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1CustomMachinePoolConfigEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified Custom cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/cloudTypes/{cloudType}/{configUid}/machinePools/{machinePoolName}/machines":{"get":{"operationId":"v1CloudConfigsCustomPoolMachinesList","parameters":[{"description":"Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name","in":"query","name":"fields","type":"string"},{"description":"Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.","in":"query","name":"filters","type":"string"},{"description":"Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1","in":"query","name":"orderBy","type":"string"},{"default":50,"description":"limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.","format":"int64","in":"query","name":"limit","type":"integer"},{"description":"offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.","format":"int64","in":"query","name":"offset","type":"integer"},{"description":"continue token to paginate the subsequent data items","in":"query","name":"continue","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of Custom machine items","schema":{"$ref":"#/definitions/v1CustomMachines"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of Custom machines","tags":["v1"]},"parameters":[{"description":"Cluster's cloud type","in":"path","name":"cloudType","required":true,"type":"string"},{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"},{"description":"Machine pool name","in":"path","name":"machinePoolName","required":true,"type":"string"}],"post":{"operationId":"v1CloudConfigsCustomPoolMachinesAdd","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1CustomMachine"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Adds the machine to cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/cloudTypes/{cloudType}/{configUid}/machinePools/{machinePoolName}/machines/{machineUid}":{"delete":{"operationId":"v1CloudConfigsCustomPoolMachinesUidDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified Custom machine","tags":["v1"]},"get":{"operationId":"v1CloudConfigsCustomPoolMachinesUidGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1CustomMachine"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified Custom machine","tags":["v1"]},"parameters":[{"description":"Cluster's cloud type","in":"path","name":"cloudType","required":true,"type":"string"},{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"},{"description":"Machine pool name","in":"path","name":"machinePoolName","required":true,"type":"string"},{"description":"Machine uid","in":"path","name":"machineUid","required":true,"type":"string"}],"put":{"operationId":"v1CloudConfigsCustomPoolMachinesUidUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1CustomMachine"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified machine to the cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/coxedge/{configUid}":{"get":{"operationId":"v1CloudConfigsCoxEdgeGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1CoxEdgeCloudConfig"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified CoxEdge cloud config","tags":["v1"]},"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"}]},"/v1/cloudconfigs/coxedge/{configUid}/clusterConfig":{"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"}],"put":{"operationId":"v1CloudConfigsCoxEdgeUidClusterConfigUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1CoxEdgeCloudClusterConfigEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the cluster configuration information","tags":["v1"]}},"/v1/cloudconfigs/coxedge/{configUid}/machinePools":{"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"}],"post":{"operationId":"v1CloudConfigsCoxEdgeMachinePoolCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1CoxEdgeMachinePoolConfigEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Creates a CoxEdge cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/coxedge/{configUid}/machinePools/{machinePoolName}":{"delete":{"operationId":"v1CloudConfigsCoxEdgeMachinePoolDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified machine pool","tags":["v1"]},"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"},{"description":"Machine pool name","in":"path","name":"machinePoolName","required":true,"type":"string"}],"put":{"operationId":"v1CloudConfigsCoxEdgeMachinePoolUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1CoxEdgeMachinePoolConfigEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified CoxEdge cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/coxedge/{configUid}/machinePools/{machinePoolName}/machines":{"get":{"operationId":"v1CloudConfigsCoxEdgePoolMachinesList","parameters":[{"description":"Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name","in":"query","name":"fields","type":"string"},{"description":"Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.","in":"query","name":"filters","type":"string"},{"description":"Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1","in":"query","name":"orderBy","type":"string"},{"default":50,"description":"limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.","format":"int64","in":"query","name":"limit","type":"integer"},{"description":"offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.","format":"int64","in":"query","name":"offset","type":"integer"},{"description":"continue token to paginate the subsequent data items","in":"query","name":"continue","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of CoxEdge machine items","schema":{"$ref":"#/definitions/v1CoxEdgeMachines"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of CoxEdge machines","tags":["v1"]},"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"},{"description":"Machine pool name","in":"path","name":"machinePoolName","required":true,"type":"string"}],"post":{"operationId":"v1CloudConfigsCoxEdgePoolMachinesAdd","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1CoxEdgeMachine"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Adds the machine to cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/coxedge/{configUid}/machinePools/{machinePoolName}/machines/{machineUid}":{"delete":{"operationId":"v1CloudConfigsCoxEdgePoolMachinesUidDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified CoxEdge machine","tags":["v1"]},"get":{"operationId":"v1CloudConfigsCoxEdgePoolMachinesUidGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1CoxEdgeMachine"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified CoxEdge machine","tags":["v1"]},"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"},{"description":"Machine pool name","in":"path","name":"machinePoolName","required":true,"type":"string"},{"description":"Machine uid","in":"path","name":"machineUid","required":true,"type":"string"}],"put":{"operationId":"v1CloudConfigsCoxEdgePoolMachinesUidUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1CoxEdgeMachine"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified machine to the cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/edge-native/{configUid}":{"get":{"operationId":"v1CloudConfigsEdgeNativeGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1EdgeNativeCloudConfig"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified edge-native cloud config","tags":["v1"]},"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"}]},"/v1/cloudconfigs/edge-native/{configUid}/clusterConfig":{"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"}],"put":{"operationId":"v1CloudConfigsEdgeNativeUidClusterConfig","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1EdgeNativeCloudClusterConfigEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the cluster configuration information","tags":["v1"]}},"/v1/cloudconfigs/edge-native/{configUid}/machinePools":{"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"}],"post":{"operationId":"v1CloudConfigsEdgeNativeMachinePoolCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1EdgeNativeMachinePoolConfigEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Creates a edge-native cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/edge-native/{configUid}/machinePools/{machinePoolName}":{"delete":{"operationId":"v1CloudConfigsEdgeNativeMachinePoolDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified machine pool","tags":["v1"]},"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"},{"description":"Machine pool name","in":"path","name":"machinePoolName","required":true,"type":"string"}],"put":{"operationId":"v1CloudConfigsEdgeNativeMachinePoolUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1EdgeNativeMachinePoolConfigEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified edge-native cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/edge-native/{configUid}/machinePools/{machinePoolName}/machines":{"get":{"operationId":"v1CloudConfigsEdgeNativePoolMachinesList","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of edge-native machine items","schema":{"$ref":"#/definitions/v1EdgeNativeMachines"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of edge-native machines","tags":["v1"]},"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"},{"description":"Machine pool name","in":"path","name":"machinePoolName","required":true,"type":"string"}],"post":{"operationId":"v1CloudConfigsEdgeNativePoolMachinesAdd","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1EdgeNativeMachine"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Adds the edge-native machine to cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/edge-native/{configUid}/machinePools/{machinePoolName}/machines/{machineUid}":{"delete":{"operationId":"v1CloudConfigsEdgeNativePoolMachinesUidDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified edge-native machine","tags":["v1"]},"get":{"operationId":"v1CloudConfigsEdgeNativePoolMachinesUidGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1EdgeNativeMachine"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified edge-native machine","tags":["v1"]},"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"},{"description":"Machine pool name","in":"path","name":"machinePoolName","required":true,"type":"string"},{"description":"Machine uid","in":"path","name":"machineUid","required":true,"type":"string"}],"put":{"operationId":"v1CloudConfigsEdgeNativePoolMachinesUidUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1EdgeNativeMachine"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified machine to cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/edge/{configUid}":{"get":{"operationId":"v1CloudConfigsEdgeGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1EdgeCloudConfig"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified edge cloud config","tags":["v1"]},"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"}]},"/v1/cloudconfigs/edge/{configUid}/clusterConfig":{"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"}],"put":{"operationId":"v1CloudConfigsEdgeUidClusterConfig","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1EdgeCloudClusterConfigEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the cluster configuration information","tags":["v1"]}},"/v1/cloudconfigs/edge/{configUid}/machinePools":{"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"}],"post":{"operationId":"v1CloudConfigsEdgeMachinePoolCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1EdgeMachinePoolConfigEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Creates a edge cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/edge/{configUid}/machinePools/{machinePoolName}":{"delete":{"operationId":"v1CloudConfigsEdgeMachinePoolDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified machine pool","tags":["v1"]},"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"},{"description":"Machine pool name","in":"path","name":"machinePoolName","required":true,"type":"string"}],"put":{"operationId":"v1CloudConfigsEdgeMachinePoolUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1EdgeMachinePoolConfigEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified Edge cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/edge/{configUid}/machinePools/{machinePoolName}/machines":{"get":{"operationId":"v1CloudConfigsEdgePoolMachinesList","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of Edge machine items","schema":{"$ref":"#/definitions/v1EdgeMachines"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of Edge machines","tags":["v1"]},"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"},{"description":"Machine pool name","in":"path","name":"machinePoolName","required":true,"type":"string"}],"post":{"operationId":"v1CloudConfigsEdgePoolMachinesAdd","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1EdgeMachine"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Adds the Edge machine to cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/edge/{configUid}/machinePools/{machinePoolName}/machines/{machineUid}":{"delete":{"operationId":"v1CloudConfigsEdgePoolMachinesUidDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified Edge machine","tags":["v1"]},"get":{"operationId":"v1CloudConfigsEdgePoolMachinesUidGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1EdgeMachine"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified Edge machine","tags":["v1"]},"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"},{"description":"Machine pool name","in":"path","name":"machinePoolName","required":true,"type":"string"},{"description":"Machine uid","in":"path","name":"machineUid","required":true,"type":"string"}],"put":{"operationId":"v1CloudConfigsEdgePoolMachinesUidUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1EdgeMachine"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified machine to cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/eks/{configUid}":{"get":{"operationId":"v1CloudConfigsEksGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1EksCloudConfig"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified EKS cloud config","tags":["v1"]},"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"}]},"/v1/cloudconfigs/eks/{configUid}/clusterConfig":{"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"}],"put":{"operationId":"v1CloudConfigsEksUidClusterConfig","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1EksCloudClusterConfigEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the cluster configuration information","tags":["v1"]}},"/v1/cloudconfigs/eks/{configUid}/fargateProfiles":{"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"}],"put":{"operationId":"v1CloudConfigsEksUidFargateProfilesUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1EksFargateProfiles"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates EKS cloud config's fargate profiles","tags":["v1"]}},"/v1/cloudconfigs/eks/{configUid}/machinePools":{"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"}],"post":{"operationId":"v1CloudConfigsEksMachinePoolCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1EksMachinePoolConfigEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Creates an EKS cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/eks/{configUid}/machinePools/{machinePoolName}":{"delete":{"operationId":"v1CloudConfigsEksMachinePoolDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified machine pool","tags":["v1"]},"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"},{"description":"Machine pool name","in":"path","name":"machinePoolName","required":true,"type":"string"}],"put":{"operationId":"v1CloudConfigsEksMachinePoolUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1EksMachinePoolConfigEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified EKS cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/eks/{configUid}/machinePools/{machinePoolName}/machines":{"get":{"operationId":"v1CloudConfigsEksPoolMachinesList","parameters":[{"description":"Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name","in":"query","name":"fields","type":"string"},{"description":"Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.","in":"query","name":"filters","type":"string"},{"description":"Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1","in":"query","name":"orderBy","type":"string"},{"default":50,"description":"limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.","format":"int64","in":"query","name":"limit","type":"integer"},{"description":"offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.","format":"int64","in":"query","name":"offset","type":"integer"},{"description":"continue token to paginate the subsequent data items","in":"query","name":"continue","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of EKS machine items","schema":{"$ref":"#/definitions/v1AwsMachines"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of EKS machines","tags":["v1"]},"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"},{"description":"Machine pool name","in":"path","name":"machinePoolName","required":true,"type":"string"}],"post":{"operationId":"v1CloudConfigsEksPoolMachinesAdd","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1AwsMachine"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Adds the machine to cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/eks/{configUid}/machinePools/{machinePoolName}/machines/{machineUid}":{"delete":{"operationId":"v1CloudConfigsEksPoolMachinesUidDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified EKS machine","tags":["v1"]},"get":{"operationId":"v1CloudConfigsEksPoolMachinesUidGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1AwsMachine"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified EKS machine","tags":["v1"]},"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"},{"description":"Machine pool name","in":"path","name":"machinePoolName","required":true,"type":"string"},{"description":"Machine uid","in":"path","name":"machineUid","required":true,"type":"string"}],"put":{"operationId":"v1CloudConfigsEksPoolMachinesUidUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1AwsMachine"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified machine to the cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/gcp/{configUid}":{"get":{"operationId":"v1CloudConfigsGcpGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1GcpCloudConfig"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified GCP cloud config","tags":["v1"]},"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"}]},"/v1/cloudconfigs/gcp/{configUid}/clusterConfig":{"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"}],"put":{"operationId":"v1CloudConfigsGcpUidClusterConfig","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1GcpCloudClusterConfigEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the cluster configuration information","tags":["v1"]}},"/v1/cloudconfigs/gcp/{configUid}/machinePools":{"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"}],"post":{"operationId":"v1CloudConfigsGcpMachinePoolCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1GcpMachinePoolConfigEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Creates a Gcp cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/gcp/{configUid}/machinePools/{machinePoolName}":{"delete":{"operationId":"v1CloudConfigsGcpMachinePoolDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified machine pool","tags":["v1"]},"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"},{"description":"Machine pool name","in":"path","name":"machinePoolName","required":true,"type":"string"}],"put":{"operationId":"v1CloudConfigsGcpMachinePoolUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1GcpMachinePoolConfigEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified GCP cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/gcp/{configUid}/machinePools/{machinePoolName}/machines":{"get":{"operationId":"v1CloudConfigsGcpPoolMachinesList","parameters":[{"description":"Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name","in":"query","name":"fields","type":"string"},{"description":"Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.","in":"query","name":"filters","type":"string"},{"description":"Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1","in":"query","name":"orderBy","type":"string"},{"default":50,"description":"limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.","format":"int64","in":"query","name":"limit","type":"integer"},{"description":"offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.","format":"int64","in":"query","name":"offset","type":"integer"},{"description":"continue token to paginate the subsequent data items","in":"query","name":"continue","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of GCP machine items","schema":{"$ref":"#/definitions/v1GcpMachines"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of GCP machines","tags":["v1"]},"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"},{"description":"Machine pool name","in":"path","name":"machinePoolName","required":true,"type":"string"}],"post":{"operationId":"v1CloudConfigsGcpPoolMachinesAdd","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1GcpMachine"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Adds the machine to cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/gcp/{configUid}/machinePools/{machinePoolName}/machines/{machineUid}":{"delete":{"operationId":"v1CloudConfigsGcpPoolMachinesUidDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified GCP machine","tags":["v1"]},"get":{"operationId":"v1CloudConfigsGcpPoolMachinesUidGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1GcpMachine"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified GCP machine","tags":["v1"]},"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"},{"description":"Machine pool name","in":"path","name":"machinePoolName","required":true,"type":"string"},{"description":"Machine uid","in":"path","name":"machineUid","required":true,"type":"string"}],"put":{"operationId":"v1CloudConfigsGcpPoolMachinesUidUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1GcpMachine"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified machine to the cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/generic/{configUid}":{"get":{"operationId":"v1CloudConfigsGenericGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1GenericCloudConfig"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified Generic cloud config","tags":["v1"]},"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"}]},"/v1/cloudconfigs/generic/{configUid}/clusterConfig":{"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"}],"put":{"operationId":"v1CloudConfigsGenericUidClusterConfig","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1GenericCloudClusterConfigEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the cluster configuration information","tags":["v1"]}},"/v1/cloudconfigs/generic/{configUid}/machinePools":{"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"}],"post":{"operationId":"v1CloudConfigsGenericMachinePoolCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1GenericMachinePoolConfigEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Creates a generic cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/generic/{configUid}/machinePools/{machinePoolName}":{"delete":{"operationId":"v1CloudConfigsGenericMachinePoolDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified machine pool","tags":["v1"]},"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"},{"description":"Machine pool name","in":"path","name":"machinePoolName","required":true,"type":"string"}],"put":{"operationId":"v1CloudConfigsGenericMachinePoolUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1GenericMachinePoolConfigEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified generic cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/generic/{configUid}/machinePools/{machinePoolName}/machines":{"get":{"operationId":"v1CloudConfigsGenericPoolMachinesList","parameters":[{"description":"Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name","in":"query","name":"fields","type":"string"},{"description":"Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.","in":"query","name":"filters","type":"string"},{"description":"Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1","in":"query","name":"orderBy","type":"string"},{"default":50,"description":"limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.","format":"int64","in":"query","name":"limit","type":"integer"},{"description":"offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.","format":"int64","in":"query","name":"offset","type":"integer"},{"description":"continue token to paginate the subsequent data items","in":"query","name":"continue","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of Generic machine items","schema":{"$ref":"#/definitions/v1GenericMachines"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of Generic machines","tags":["v1"]},"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"},{"description":"Machine pool name","in":"path","name":"machinePoolName","required":true,"type":"string"}],"post":{"operationId":"v1CloudConfigsGenericPoolMachinesAdd","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1GenericMachine"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Adds the machine to cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/generic/{configUid}/machinePools/{machinePoolName}/machines/{machineUid}":{"delete":{"operationId":"v1CloudConfigsGenericPoolMachinesUidDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified machine","tags":["v1"]},"get":{"operationId":"v1CloudConfigsGenericPoolMachinesUidGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1GenericMachine"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified generic machine","tags":["v1"]},"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"},{"description":"Machine pool name","in":"path","name":"machinePoolName","required":true,"type":"string"},{"description":"Machine uid","in":"path","name":"machineUid","required":true,"type":"string"}],"put":{"operationId":"v1CloudConfigsGenericPoolMachinesUidUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1GenericMachine"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified machine to the cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/gke/{configUid}":{"get":{"operationId":"v1CloudConfigsGkeGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1GcpCloudConfig"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified GKE cloud config","tags":["v1"]},"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"}]},"/v1/cloudconfigs/gke/{configUid}/clusterConfig":{"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"}],"put":{"operationId":"v1CloudConfigsGkeUidClusterConfig","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1GcpCloudClusterConfigEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the cluster configuration information","tags":["v1"]}},"/v1/cloudconfigs/gke/{configUid}/machinePools":{"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"}],"post":{"operationId":"v1CloudConfigsGkeMachinePoolCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1GcpMachinePoolConfigEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Creates an GKE cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/gke/{configUid}/machinePools/{machinePoolName}":{"delete":{"operationId":"v1CloudConfigsGkeMachinePoolDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified machine pool","tags":["v1"]},"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"},{"description":"Machine pool name","in":"path","name":"machinePoolName","required":true,"type":"string"}],"put":{"operationId":"v1CloudConfigsGkeMachinePoolUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1GcpMachinePoolConfigEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified GKE cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/gke/{configUid}/machinePools/{machinePoolName}/machines":{"get":{"operationId":"v1CloudConfigsGkePoolMachinesList","parameters":[{"description":"Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name","in":"query","name":"fields","type":"string"},{"description":"Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.","in":"query","name":"filters","type":"string"},{"description":"Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1","in":"query","name":"orderBy","type":"string"},{"default":50,"description":"limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.","format":"int64","in":"query","name":"limit","type":"integer"},{"description":"offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.","format":"int64","in":"query","name":"offset","type":"integer"},{"description":"continue token to paginate the subsequent data items","in":"query","name":"continue","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of GKE machine items","schema":{"$ref":"#/definitions/v1GcpMachines"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of GKE machines","tags":["v1"]},"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"},{"description":"Machine pool name","in":"path","name":"machinePoolName","required":true,"type":"string"}],"post":{"operationId":"v1CloudConfigsGkePoolMachinesAdd","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1GcpMachine"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Adds the machine to cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/gke/{configUid}/machinePools/{machinePoolName}/machines/{machineUid}":{"delete":{"operationId":"v1CloudConfigsGkePoolMachinesUidDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified Gcp machine","tags":["v1"]},"get":{"operationId":"v1CloudConfigsGkePoolMachinesUidGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1GcpMachine"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified GKE machine","tags":["v1"]},"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"},{"description":"Machine pool name","in":"path","name":"machinePoolName","required":true,"type":"string"},{"description":"Machine uid","in":"path","name":"machineUid","required":true,"type":"string"}],"put":{"operationId":"v1CloudConfigsGkePoolMachinesUidUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1GcpMachine"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified machine to the cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/libvirt/{configUid}":{"get":{"operationId":"v1CloudConfigsLibvirtGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1LibvirtCloudConfig"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified libvirt cloud config","tags":["v1"]},"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"}]},"/v1/cloudconfigs/libvirt/{configUid}/clusterConfig":{"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"}],"put":{"operationId":"v1CloudConfigsLibvirtUidClusterConfig","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1LibvirtCloudClusterConfigEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the cluster configuration information","tags":["v1"]}},"/v1/cloudconfigs/libvirt/{configUid}/machinePools":{"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"}],"post":{"operationId":"v1CloudConfigsLibvirtMachinePoolCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1LibvirtMachinePoolConfigEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Creates a libvirt cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/libvirt/{configUid}/machinePools/{machinePoolName}":{"delete":{"operationId":"v1CloudConfigsLibvirtMachinePoolDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified machine pool","tags":["v1"]},"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"},{"description":"Machine pool name","in":"path","name":"machinePoolName","required":true,"type":"string"}],"put":{"operationId":"v1CloudConfigsLibvirtMachinePoolUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1LibvirtMachinePoolConfigEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified Libvirt cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/libvirt/{configUid}/machinePools/{machinePoolName}/machines":{"get":{"operationId":"v1CloudConfigsLibvirtPoolMachinesList","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of Libvirt machine items","schema":{"$ref":"#/definitions/v1LibvirtMachines"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of Libvirt machines","tags":["v1"]},"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"},{"description":"Machine pool name","in":"path","name":"machinePoolName","required":true,"type":"string"}],"post":{"operationId":"v1CloudConfigsLibvirtPoolMachinesAdd","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1LibvirtMachine"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Adds the Libvirt machine to cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/libvirt/{configUid}/machinePools/{machinePoolName}/machines/{machineUid}":{"delete":{"operationId":"v1CloudConfigsLibvirtPoolMachinesUidDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified Libvirt machine","tags":["v1"]},"get":{"operationId":"v1CloudConfigsLibvirtPoolMachinesUidGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1LibvirtMachine"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified Libvirt machine","tags":["v1"]},"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"},{"description":"Machine pool name","in":"path","name":"machinePoolName","required":true,"type":"string"},{"description":"Machine uid","in":"path","name":"machineUid","required":true,"type":"string"}],"put":{"operationId":"v1CloudConfigsLibvirtPoolMachinesUidUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1LibvirtMachine"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified machine to cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/maas/{configUid}":{"get":{"operationId":"v1CloudConfigsMaasGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1MaasCloudConfig"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified Maas cloud config","tags":["v1"]},"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"}]},"/v1/cloudconfigs/maas/{configUid}/clusterConfig":{"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"}],"put":{"operationId":"v1CloudConfigsMaasUidClusterConfig","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1MaasCloudClusterConfigEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the cluster configuration information","tags":["v1"]}},"/v1/cloudconfigs/maas/{configUid}/machinePools":{"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"}],"post":{"operationId":"v1CloudConfigsMaasMachinePoolCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1MaasMachinePoolConfigEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Creates an Maas cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/maas/{configUid}/machinePools/{machinePoolName}":{"delete":{"operationId":"v1CloudConfigsMaasMachinePoolDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified machine pool","tags":["v1"]},"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"},{"description":"Machine pool name","in":"path","name":"machinePoolName","required":true,"type":"string"}],"put":{"operationId":"v1CloudConfigsMaasMachinePoolUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1MaasMachinePoolConfigEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified Maas cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/maas/{configUid}/machinePools/{machinePoolName}/machines":{"get":{"operationId":"v1CloudConfigsMaasPoolMachinesList","parameters":[{"description":"Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name","in":"query","name":"fields","type":"string"},{"description":"Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.","in":"query","name":"filters","type":"string"},{"description":"Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1","in":"query","name":"orderBy","type":"string"},{"default":50,"description":"limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.","format":"int64","in":"query","name":"limit","type":"integer"},{"description":"offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.","format":"int64","in":"query","name":"offset","type":"integer"},{"description":"continue token to paginate the subsequent data items","in":"query","name":"continue","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of Maas machine items","schema":{"$ref":"#/definitions/v1MaasMachines"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of Maas machines","tags":["v1"]},"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"},{"description":"Machine pool name","in":"path","name":"machinePoolName","required":true,"type":"string"}],"post":{"operationId":"v1CloudConfigsMaasPoolMachinesAdd","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1MaasMachine"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Adds the machine to cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/maas/{configUid}/machinePools/{machinePoolName}/machines/{machineUid}":{"delete":{"operationId":"v1CloudConfigsMaasPoolMachinesUidDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified Maas machine","tags":["v1"]},"get":{"operationId":"v1CloudConfigsMaasPoolMachinesUidGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1MaasMachine"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified Maas machine","tags":["v1"]},"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"},{"description":"Machine pool name","in":"path","name":"machinePoolName","required":true,"type":"string"},{"description":"Machine uid","in":"path","name":"machineUid","required":true,"type":"string"}],"put":{"operationId":"v1CloudConfigsMaasPoolMachinesUidUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1MaasMachine"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified machine to the cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/openstack/{configUid}":{"get":{"operationId":"v1CloudConfigsOpenStackGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1OpenStackCloudConfig"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified OpenStack cloud config","tags":["v1"]},"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"}]},"/v1/cloudconfigs/openstack/{configUid}/clusterConfig":{"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"}],"put":{"operationId":"v1CloudConfigsOpenStackUidClusterConfig","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1OpenStackCloudClusterConfigEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the cluster configuration information","tags":["v1"]}},"/v1/cloudconfigs/openstack/{configUid}/machinePools":{"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"}],"post":{"operationId":"v1CloudConfigsOpenStackMachinePoolCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1OpenStackMachinePoolConfigEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Creates a OpenStack cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/openstack/{configUid}/machinePools/{machinePoolName}":{"delete":{"operationId":"v1CloudConfigsOpenStackMachinePoolDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified machine pool","tags":["v1"]},"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"},{"description":"Machine pool name","in":"path","name":"machinePoolName","required":true,"type":"string"}],"put":{"operationId":"v1CloudConfigsOpenStackMachinePoolUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1OpenStackMachinePoolConfigEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified OpenStack cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/openstack/{configUid}/machinePools/{machinePoolName}/machines":{"get":{"operationId":"v1CloudConfigsOpenStackPoolMachinesList","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of OpenStack machine items","schema":{"$ref":"#/definitions/v1OpenStackMachines"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of OpenStack machines","tags":["v1"]},"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"},{"description":"Machine pool name","in":"path","name":"machinePoolName","required":true,"type":"string"}],"post":{"operationId":"v1CloudConfigsOpenStackPoolMachinesAdd","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1OpenStackMachine"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Adds the OpenStack machine to cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/openstack/{configUid}/machinePools/{machinePoolName}/machines/{machineUid}":{"delete":{"operationId":"v1CloudConfigsOpenStackPoolMachinesUidDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified OpenStack machine","tags":["v1"]},"get":{"operationId":"v1CloudConfigsOpenStackPoolMachinesUidGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1OpenStackMachine"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified OpenStack machine","tags":["v1"]},"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"},{"description":"Machine pool name","in":"path","name":"machinePoolName","required":true,"type":"string"},{"description":"Machine uid","in":"path","name":"machineUid","required":true,"type":"string"}],"put":{"operationId":"v1CloudConfigsOpenStackPoolMachinesUidUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1OpenStackMachine"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified machine to cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/tke/{configUid}":{"get":{"operationId":"v1CloudConfigsTkeGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1TencentCloudConfig"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified TKE cloud config","tags":["v1"]},"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"}]},"/v1/cloudconfigs/tke/{configUid}/clusterConfig":{"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"}],"put":{"operationId":"v1CloudConfigsTkeUidClusterConfig","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1TencentCloudClusterConfigEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the cluster configuration information","tags":["v1"]}},"/v1/cloudconfigs/tke/{configUid}/machinePools":{"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"}],"post":{"operationId":"v1CloudConfigsTkeMachinePoolCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1TencentMachinePoolConfigEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Creates an TKE cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/tke/{configUid}/machinePools/{machinePoolName}":{"delete":{"operationId":"v1CloudConfigsTkeMachinePoolDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified machine pool","tags":["v1"]},"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"},{"description":"Machine pool name","in":"path","name":"machinePoolName","required":true,"type":"string"}],"put":{"operationId":"v1CloudConfigsTkeMachinePoolUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1TencentMachinePoolConfigEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified TKE cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/tke/{configUid}/machinePools/{machinePoolName}/machines":{"get":{"operationId":"v1CloudConfigsTkePoolMachinesList","parameters":[{"description":"Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name","in":"query","name":"fields","type":"string"},{"description":"Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.","in":"query","name":"filters","type":"string"},{"description":"Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1","in":"query","name":"orderBy","type":"string"},{"default":50,"description":"limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.","format":"int64","in":"query","name":"limit","type":"integer"},{"description":"offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.","format":"int64","in":"query","name":"offset","type":"integer"},{"description":"continue token to paginate the subsequent data items","in":"query","name":"continue","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of TKE machine items","schema":{"$ref":"#/definitions/v1TencentMachines"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of TKE machines","tags":["v1"]},"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"},{"description":"Machine pool name","in":"path","name":"machinePoolName","required":true,"type":"string"}],"post":{"operationId":"v1CloudConfigsTkePoolMachinesAdd","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1TencentMachine"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Adds the machine to cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/tke/{configUid}/machinePools/{machinePoolName}/machines/{machineUid}":{"delete":{"operationId":"v1CloudConfigsTkePoolMachinesUidDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified Tencent machine","tags":["v1"]},"get":{"operationId":"v1CloudConfigsTkePoolMachinesUidGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1TencentMachine"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified Tke machine","tags":["v1"]},"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"},{"description":"Machine pool name","in":"path","name":"machinePoolName","required":true,"type":"string"},{"description":"Machine uid","in":"path","name":"machineUid","required":true,"type":"string"}],"put":{"operationId":"v1CloudConfigsTkePoolMachinesUidUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1TencentMachine"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified machine to the cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/virtual/{configUid}":{"get":{"operationId":"v1CloudConfigsVirtualGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1VirtualCloudConfig"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified Virtual cloud config","tags":["v1"]},"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"}]},"/v1/cloudconfigs/virtual/{configUid}/clusterConfig":{"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"}],"put":{"operationId":"v1CloudConfigsVirtualUidClusterConfig","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1VirtualCloudClusterConfigEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the cluster configuration information","tags":["v1"]}},"/v1/cloudconfigs/virtual/{configUid}/machinePools":{"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"}],"post":{"operationId":"v1CloudConfigsVirtualMachinePoolCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1VirtualMachinePoolConfigEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Creates a virtual cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/virtual/{configUid}/machinePools/{machinePoolName}":{"delete":{"operationId":"v1CloudConfigsVirtualMachinePoolDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified machine pool","tags":["v1"]},"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"},{"description":"Machine pool name","in":"path","name":"machinePoolName","required":true,"type":"string"}],"put":{"operationId":"v1CloudConfigsVirtualMachinePoolUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1VirtualMachinePoolConfigEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified virtual cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/virtual/{configUid}/machinePools/{machinePoolName}/machines":{"get":{"operationId":"v1CloudConfigsVirtualPoolMachinesList","parameters":[{"description":"Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name","in":"query","name":"fields","type":"string"},{"description":"Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.","in":"query","name":"filters","type":"string"},{"description":"Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1","in":"query","name":"orderBy","type":"string"},{"default":50,"description":"limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.","format":"int64","in":"query","name":"limit","type":"integer"},{"description":"offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.","format":"int64","in":"query","name":"offset","type":"integer"},{"description":"continue token to paginate the subsequent data items","in":"query","name":"continue","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of virtual machine items","schema":{"$ref":"#/definitions/v1VirtualMachines"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of virtual machines","tags":["v1"]},"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"},{"description":"Machine pool name","in":"path","name":"machinePoolName","required":true,"type":"string"}],"post":{"operationId":"v1CloudConfigsVirtualPoolMachinesAdd","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1VirtualMachine"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Adds the machine to cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/virtual/{configUid}/machinePools/{machinePoolName}/machines/{machineUid}":{"delete":{"operationId":"v1CloudConfigsVirtualPoolMachinesUidDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified virtual machine","tags":["v1"]},"get":{"operationId":"v1CloudConfigsVirtualPoolMachinesUidGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1VirtualMachine"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified virtual machine","tags":["v1"]},"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"},{"description":"Machine pool name","in":"path","name":"machinePoolName","required":true,"type":"string"},{"description":"Machine uid","in":"path","name":"machineUid","required":true,"type":"string"}],"put":{"operationId":"v1CloudConfigsVirtualPoolMachinesUidUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1VirtualMachine"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified machine to the cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/virtual/{configUid}/resize":{"parameters":[{"description":"Specify virtual cloud config uid","in":"path","name":"configUid","required":true,"type":"string"}],"put":{"operationId":"v1CloudConfigsVirtualUidUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1VirtualClusterResize"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates and resizes the virtual cluster","tags":["v1"]}},"/v1/cloudconfigs/vsphere/{configUid}":{"get":{"operationId":"v1CloudConfigsVsphereGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1VsphereCloudConfig"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified vSphere cloud config","tags":["v1"]},"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"}]},"/v1/cloudconfigs/vsphere/{configUid}/clusterConfig":{"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"}],"put":{"operationId":"v1CloudConfigsVsphereUidClusterConfig","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1VsphereCloudClusterConfigEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the cluster configuration information","tags":["v1"]}},"/v1/cloudconfigs/vsphere/{configUid}/machinePools":{"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"}],"post":{"operationId":"v1CloudConfigsVsphereMachinePoolCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1VsphereMachinePoolConfigEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Creates a vSphere cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/vsphere/{configUid}/machinePools/{machinePoolName}":{"delete":{"operationId":"v1CloudConfigsVsphereMachinePoolDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified machine pool","tags":["v1"]},"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"},{"description":"Machine pool name","in":"path","name":"machinePoolName","required":true,"type":"string"}],"put":{"operationId":"v1CloudConfigsVsphereMachinePoolUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1VsphereMachinePoolConfigEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified vSphere cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/vsphere/{configUid}/machinePools/{machinePoolName}/machines":{"get":{"operationId":"v1CloudConfigsVspherePoolMachinesList","parameters":[{"description":"Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name","in":"query","name":"fields","type":"string"},{"description":"Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.","in":"query","name":"filters","type":"string"},{"description":"Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1","in":"query","name":"orderBy","type":"string"},{"default":50,"description":"limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.","format":"int64","in":"query","name":"limit","type":"integer"},{"description":"offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.","format":"int64","in":"query","name":"offset","type":"integer"},{"description":"continue token to paginate the subsequent data items","in":"query","name":"continue","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of vSphere machine items","schema":{"$ref":"#/definitions/v1VsphereMachines"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of vSphere machines","tags":["v1"]},"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"},{"description":"Machine pool name","in":"path","name":"machinePoolName","required":true,"type":"string"}],"post":{"operationId":"v1CloudConfigsVspherePoolMachinesAdd","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1VsphereMachine"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Adds the vSphere machine to cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/vsphere/{configUid}/machinePools/{machinePoolName}/machines/{machineUid}":{"delete":{"operationId":"v1CloudConfigsVspherePoolMachinesUidDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified vSphere machine","tags":["v1"]},"get":{"operationId":"v1CloudConfigsVspherePoolMachinesUidGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1VsphereMachine"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified vSphere machine","tags":["v1"]},"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"},{"description":"Machine pool name","in":"path","name":"machinePoolName","required":true,"type":"string"},{"description":"Machine uid","in":"path","name":"machineUid","required":true,"type":"string"}],"put":{"operationId":"v1CloudConfigsVspherePoolMachinesUidUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1VsphereMachine"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified machine to cloud config's machine pool","tags":["v1"]}},"/v1/cloudconfigs/{cloudType}/{configUid}/machinePools/{machinePoolName}/machines/{machineUid}/maintenance":{"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"},{"description":"Machine pool name","in":"path","name":"machinePoolName","required":true,"type":"string"},{"description":"Machine uid","in":"path","name":"machineUid","required":true,"type":"string"},{"description":"Cloud type","in":"path","name":"cloudType","required":true,"type":"string"}],"put":{"operationId":"v1CloudConfigsMachinePoolsMachineUidMaintenanceUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1MachineMaintenance"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified machine maintenance","tags":["v1"]}},"/v1/cloudconfigs/{cloudType}/{configUid}/machinePools/{machinePoolName}/machines/{machineUid}/maintenance/status":{"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"},{"description":"Machine pool name","in":"path","name":"machinePoolName","required":true,"type":"string"},{"description":"Machine uid","in":"path","name":"machineUid","required":true,"type":"string"},{"description":"Cloud type","in":"path","name":"cloudType","required":true,"type":"string"}],"put":{"operationId":"v1CloudConfigsMachinePoolsMachineUidMaintenanceStatusUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1MachineMaintenanceStatus"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified machine maintenance","tags":["v1"]}},"/v1/cloudconfigs/{configUid}/machinePools/machineUids":{"get":{"operationId":"v1CloudConfigsMachinePoolsMachineUidsGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1MachinePoolsMachineUids"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified cloud config's machine pools and machine uid","tags":["v1"]},"parameters":[{"description":"Cluster's cloud config uid","in":"path","name":"configUid","required":true,"type":"string"}]},"/v1/clouds/aws/account/sts":{"get":{"operationId":"V1AwsAccountStsGet","parameters":[{"default":"aws","description":"AWS accounts are scoped to a single partition. Allowed values [aws, aws-us-gov], Default values","enum":["aws","aws-us-gov"],"in":"query","name":"partition","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/V1AwsAccountSts"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves AWS external id and account id","tags":["v1"]}},"/v1/clouds/aws/account/validate":{"post":{"operationId":"V1AwsAccountValidate","parameters":[{"description":"Request payload to validate AWS cloud account","in":"body","name":"awsCloudAccount","required":true,"schema":{"$ref":"#/definitions/v1AwsCloudAccount"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Validate the specified AWS account credentials","tags":["v1"]}},"/v1/clouds/aws/cloudwatch/validate":{"post":{"description":"Validates aws cloud watch credentials","operationId":"V1CloudsAwsCloudWatchValidate","parameters":[{"description":"Request payload for cloud watch config","in":"body","name":"cloudWatchConfig","required":true,"schema":{"$ref":"#/definitions/v1.CloudWatchConfig"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"validates aws cloud watch credentials","tags":["v1"]}},"/v1/clouds/aws/cost":{"post":{"operationId":"v1AwsCloudCost","parameters":[{"description":"Request payload for AWS cloud cost","in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/v1AwsCloudCostSpec"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1AwsCloudCostSummary"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves AWS cloud account usage cost from cost explorer.","tags":["v1"]}},"/v1/clouds/aws/imageIds/{imageId}/volumeSize":{"get":{"description":"Get AWS Volume Size","operationId":"V1AwsVolumeSizeGet","parameters":[{"description":"Specific AWS Region","in":"query","name":"region","required":true,"type":"string"},{"description":"Uid for the specific AWS cloud account","in":"query","name":"cloudAccountUid","required":true,"type":"string"},{"description":"AWS image id","in":"path","name":"imageId","required":true,"type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1AwsVolumeSize"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Get AWS Volume Size","tags":["v1"]}},"/v1/clouds/aws/policies":{"post":{"operationId":"V1AwsIamPolicies","parameters":[{"description":"Request payload for AWS Cloud Account","in":"body","name":"account","required":true,"schema":{"$ref":"#/definitions/v1AwsCloudAccount"}},{"description":"Uid for the specific AWS cloud account","in":"query","name":"cloudAccountUid","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1AwsPolicies"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of AWS policies for the specified account","tags":["v1"]}},"/v1/clouds/aws/policyArns/validate":{"post":{"operationId":"V1AwsPolicyArnsValidate","parameters":[{"description":"Request payload to validate AWS policy ARN","in":"body","name":"spec","required":true,"schema":{"$ref":"#/definitions/v1AwsPolicyArnsSpec"}},{"description":"Uid for the specific AWS cloud account","in":"query","name":"cloudAccountUid","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Validate the aws policy arns validate","tags":["v1"]}},"/v1/clouds/aws/properties/validate":{"post":{"operationId":"V1AwsPropertiesValidate","parameters":[{"description":"Request payload for AWS properties validate spec","in":"body","name":"properties","required":true,"schema":{"$ref":"#/definitions/V1AwsPropertiesValidateSpec"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Validate AWS properties","tags":["v1"]}},"/v1/clouds/aws/regions":{"get":{"operationId":"V1AwsRegions","parameters":[{"description":"Uid for the specific AWS cloud account","in":"query","name":"cloudAccountUid","required":true,"type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1AwsRegions"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of AWS regions for the specified account","tags":["v1"]}},"/v1/clouds/aws/regions/{region}/availabilityzones":{"get":{"operationId":"V1AwsZones","parameters":[{"description":"Region for which zones are requested","in":"path","name":"region","required":true,"type":"string"},{"description":"Uid for the specific AWS cloud account","in":"query","name":"cloudAccountUid","required":true,"type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1AwsAvailabilityZones"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of AWS availability zones for the specified region","tags":["v1"]}},"/v1/clouds/aws/regions/{region}/copydefaultimages":{"post":{"operationId":"V1AwsCopyImageFromDefaultRegion","parameters":[{"description":"Region to copy AWS image from","in":"path","name":"region","required":true,"type":"string"},{"description":"Request payload to copy the AWS image","in":"body","name":"spectroClusterAwsImageTag","schema":{"$ref":"#/definitions/v1AwsFindImageRequest"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1AsyncOperationIdEntity"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Copies the specified image from one region to another region","tags":["v1"]}},"/v1/clouds/aws/regions/{region}/eksClusters/name/validate":{"get":{"description":"Returns no contents if aws cluster name is valid else error.","operationId":"V1AwsClusterNameValidate","parameters":[{"description":"Uid for the specific AWS cloud account","in":"query","name":"cloudAccountUid","required":true,"type":"string"},{"description":"cluster name to be validated","in":"query","name":"name","required":true,"type":"string"},{"description":"Region for which cluster name is validated","in":"path","name":"region","required":true,"type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Check if Aws cluster name is valid","tags":["v1"]}},"/v1/clouds/aws/regions/{region}/images":{"post":{"operationId":"V1AwsFindImage","parameters":[{"description":"Region to find AWS image","in":"path","name":"region","required":true,"type":"string"},{"description":"Request payload to find the AWS image","in":"body","name":"awsImageRequest","schema":{"$ref":"#/definitions/v1AwsFindImageRequest"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1AwsImage"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns AWS image for the specified AMI name","tags":["v1"]}},"/v1/clouds/aws/regions/{region}/instancetypes":{"get":{"operationId":"V1AwsInstanceTypes","parameters":[{"description":"Region for which AWS instances are requested","in":"path","name":"region","required":true,"type":"string"},{"description":"Filter for instances having cpu greater than or equal","format":"double","in":"query","name":"cpuGtEq","type":"number"},{"description":"Filter for instances having memory greater than or equal","format":"double","in":"query","name":"memoryGtEq","type":"number"},{"description":"Filter for instances having gpu greater than or equal","format":"double","in":"query","name":"gpuGtEq","type":"number"},{"description":"Uid for the specific AWS cloud account","in":"query","name":"cloudAccountUid","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1AwsInstanceTypes"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of AWS instance types","tags":["v1"]}},"/v1/clouds/aws/regions/{region}/keypairs":{"get":{"operationId":"V1AwsKeyPairs","parameters":[{"description":"Region for which AWS key pairs are requested","in":"path","name":"region","required":true,"type":"string"},{"description":"Uid for the specific AWS cloud account","in":"query","name":"cloudAccountUid","required":true,"type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1AwsKeyPairs"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of AWS keypairs","tags":["v1"]}},"/v1/clouds/aws/regions/{region}/keypairs/{keypair}/validate":{"post":{"operationId":"V1AwsKeyPairValidate","parameters":[{"description":"Region for which AWS key pairs is validated","in":"path","name":"region","required":true,"type":"string"},{"description":"Uid for the specific AWS cloud account","in":"query","name":"cloudAccountUid","required":true,"type":"string"},{"description":"AWS Key pair which is to be validated","in":"path","name":"keypair","required":true,"type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Validate the specified AWS keypair","tags":["v1"]}},"/v1/clouds/aws/regions/{region}/kms/{keyId}":{"get":{"operationId":"V1AwsKmsKeyGet","parameters":[{"description":"Region for which AWS KMS key belongs","in":"path","name":"region","required":true,"type":"string"},{"description":"The globally unique identifier for the KMS key","in":"path","name":"keyId","required":true,"type":"string"},{"description":"Uid for the specific AWS cloud account","in":"query","name":"cloudAccountUid","required":true,"type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1AwsKmsKeyEntity"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Get AWS KMS key by Id","tags":["v1"]}},"/v1/clouds/aws/regions/{region}/kmskeys":{"get":{"operationId":"V1AwsKmsKeys","parameters":[{"description":"Region for which AWS KMS key are requested","in":"path","name":"region","required":true,"type":"string"},{"description":"Uid for the specific AWS cloud account","in":"query","name":"cloudAccountUid","required":true,"type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1AwsKmsKeys"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of AWS KMS keys for the specified account","tags":["v1"]}},"/v1/clouds/aws/regions/{region}/kmskeys/validate":{"get":{"operationId":"V1AwsKmsKeyValidate","parameters":[{"description":"Region for which AWS KMS key is validated","in":"path","name":"region","required":true,"type":"string"},{"description":"Uid for the specific AWS cloud account","in":"query","name":"cloudAccountUid","required":true,"type":"string"},{"description":"AWS KEY ARN for validation","in":"query","name":"keyArn","required":true,"type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Validate an Aws KMS key for the specified account","tags":["v1"]}},"/v1/clouds/aws/regions/{region}/storagetypes":{"get":{"operationId":"V1AwsStorageTypes","parameters":[{"description":"Region for which AWS storage types are requested","in":"path","name":"region","required":true,"type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1AwsStorageTypes"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of AWS storage types","tags":["v1"]}},"/v1/clouds/aws/regions/{region}/vpcs":{"get":{"operationId":"V1AwsVpcs","parameters":[{"description":"Region for which VPCs are requested","in":"path","name":"region","required":true,"type":"string"},{"description":"Uid for the specific AWS cloud account","in":"query","name":"cloudAccountUid","required":true,"type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1AwsVpcs"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of VPCs for the specified account","tags":["v1"]}},"/v1/clouds/aws/s3/validate":{"post":{"operationId":"V1AwsS3Validate","parameters":[{"description":"AWS S3 bucket credentials","in":"body","name":"awsS3Credential","required":true,"schema":{"$ref":"#/definitions/v1AwsS3BucketCredentials"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Validate the AWS S3 bucket","tags":["v1"]}},"/v1/clouds/aws/securitygroups":{"get":{"operationId":"V1AwsSecurityGroups","parameters":[{"description":"Uid for the specific AWS cloud account","in":"query","name":"cloudAccountUid","type":"string"},{"description":"Region for which security groups are requested","in":"query","name":"region","required":true,"type":"string"},{"description":"Vpc Id for which security groups are requested","in":"query","name":"vpcId","required":true,"type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1AwsSecurityGroups"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of AWS security groups for the specified account","tags":["v1"]}},"/v1/clouds/aws/volumeTypes":{"get":{"description":"List all AWS Volume Types","operationId":"V1AwsVolumeTypesGet","parameters":[{"description":"Specific AWS Region","in":"query","name":"region","required":true,"type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1AWSVolumeTypes"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Get all AWS Volume Types","tags":["v1"]}},"/v1/clouds/azure/account/validate":{"post":{"description":"Returns no contents if account is valid else error.","operationId":"V1AzureAccountValidate","parameters":[{"description":"Request payload for Azure cloud account","in":"body","name":"azureCloudAccount","required":true,"schema":{"$ref":"#/definitions/v1AzureCloudAccount"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Check if Azure account is valid","tags":["v1"]}},"/v1/clouds/azure/groups":{"get":{"operationId":"V1AzureGroups","parameters":[{"description":"Uid for the specific Azure cloud account","in":"query","name":"cloudAccountUid","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1AzureGroups"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of Azure groups","tags":["v1"]}},"/v1/clouds/azure/regions":{"get":{"operationId":"V1AzureRegions","parameters":[{"description":"Uid for the specific Azure cloud account","in":"query","name":"cloudAccountUid","type":"string"},{"description":"SubscriptionId for which resources is requested","in":"query","name":"subscriptionId","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1AzureRegions"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of Azure regions","tags":["v1"]}},"/v1/clouds/azure/regions/{region}/instancetypes":{"get":{"operationId":"V1AzureInstanceTypes","parameters":[{"description":"Region for which Azure instance types are requested","in":"path","name":"region","required":true,"type":"string"},{"description":"Filter for instances having cpu greater than or equal","format":"double","in":"query","name":"cpuGtEq","type":"number"},{"description":"Filter for instances having memory greater than or equal","format":"double","in":"query","name":"memoryGtEq","type":"number"},{"description":"Filter for instances having gpu greater than or equal","format":"double","in":"query","name":"gpuGtEq","type":"number"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1AzureInstanceTypes"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of Azure instance types","tags":["v1"]}},"/v1/clouds/azure/regions/{region}/storagetypes":{"get":{"operationId":"V1AzureStorageTypes","parameters":[{"description":"Region for which Azure storage types are requested","in":"path","name":"region","required":true,"type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1AzureStorageTypes"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of Azure storage types","tags":["v1"]}},"/v1/clouds/azure/regions/{region}/subscriptions/{subscriptionId}/aksClusters/name/validate":{"get":{"description":"Returns no contents if Azure cluster name is valid else error.","operationId":"V1AzureClusterNameValidate","parameters":[{"description":"Uid for the specific Azure cloud account","in":"query","name":"cloudAccountUid","required":true,"type":"string"},{"description":"cluster name to be validated","in":"query","name":"name","required":true,"type":"string"},{"description":"region in which cluster name is to be validated","in":"path","name":"region","required":true,"type":"string"},{"description":"subscriptionId in which cluster name is to be validated","in":"path","name":"subscriptionId","required":true,"type":"string"},{"description":"resourceGroup in which cluster name is to be validated","in":"query","name":"resourceGroup","required":true,"type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Check if Azure cluster name is valid","tags":["v1"]}},"/v1/clouds/azure/regions/{region}/subscriptions/{subscriptionId}/networks":{"get":{"operationId":"V1AzureVirtualNetworkList","parameters":[{"description":"Uid for the specific Azure cloud account","in":"query","name":"cloudAccountUid","required":true,"type":"string"},{"description":"Region for which Azure virtual networks are requested","in":"path","name":"region","required":true,"type":"string"},{"description":"Uid for which Azure virtual networks are requested","in":"path","name":"subscriptionId","required":true,"type":"string"},{"description":"Resource group for which Azure virtual networks are requested","in":"query","name":"resourceGroup","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1AzureVirtualNetworkList"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of Azure virtual network list for the sepcified account","tags":["v1"]}},"/v1/clouds/azure/regions/{region}/subscriptions/{subscriptionId}/resourceGroups":{"get":{"operationId":"V1AzureResourceGroupList","parameters":[{"description":"Uid for the specific Azure cloud account","in":"query","name":"cloudAccountUid","required":true,"type":"string"},{"description":"Region for which Azure resource group are requested","in":"path","name":"region","required":true,"type":"string"},{"description":"Uid for which Azure resource group are requested","in":"path","name":"subscriptionId","required":true,"type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1AzureResourceGroupList"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of Azure resource group for the specified account","tags":["v1"]}},"/v1/clouds/azure/regions/{region}/zones":{"get":{"operationId":"V1AzureZones","parameters":[{"description":"Region for which Azure zones are requested","in":"path","name":"region","required":true,"type":"string"},{"description":"Uid for the specific Azure cloud account","in":"query","name":"cloudAccountUid","type":"string"},{"description":"subscriptionId of azure account","in":"query","name":"subscriptionId","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1AzureZoneEntity"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of Azure zones for the specified region","tags":["v1"]}},"/v1/clouds/azure/resourceGroups/{resourceGroup}/privateDnsZones":{"get":{"description":"Returns Azure private DNS zones","operationId":"V1AzurePrivateDnsZones","parameters":[{"description":"resourceGroup for which Azure private dns zones are requested","in":"path","name":"resourceGroup","required":true,"type":"string"},{"description":"Uid for the specific Azure cloud account","in":"query","name":"cloudAccountUid","required":true,"type":"string"},{"description":"subscriptionId for which Azure private dns zones are requested","in":"query","name":"subscriptionId","required":true,"type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1AzurePrivateDnsZones"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Get Azure private DNS zones for the given resource group","tags":["v1"]}},"/v1/clouds/azure/resourceGroups/{resourceGroup}/storageAccounts":{"get":{"description":"Returns Azure storage accounts.","operationId":"V1AzureStorageAccounts","parameters":[{"description":"resourceGroup for which Azure storage accounts are requested","in":"path","name":"resourceGroup","required":true,"type":"string"},{"description":"Uid for the specific Azure cloud account","in":"query","name":"cloudAccountUid","type":"string"},{"description":"subscriptionId for which Azure storage accounts are requested","in":"query","name":"subscriptionId","required":true,"type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1AzureStorageAccounts"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Get Azure storage accounts","tags":["v1"]}},"/v1/clouds/azure/resourceGroups/{resourceGroup}/storageAccounts/{storageAccountName}/containers":{"get":{"description":"Returns Azure storage containers for the given account.","operationId":"V1AzureStorageContainers","parameters":[{"description":"resourceGroup for which Azure storage accounts are requested","in":"path","name":"resourceGroup","required":true,"type":"string"},{"description":"Uid for the specific Azure cloud account","in":"query","name":"cloudAccountUid","type":"string"},{"description":"subscriptionId for which Azure storage accounts are requested","in":"query","name":"subscriptionId","required":true,"type":"string"},{"description":"resourceGroup for which Azure storage accounts are requested","in":"path","name":"storageAccountName","required":true,"type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1AzureStorageContainers"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Get Azure storage containers","tags":["v1"]}},"/v1/clouds/azure/storageaccounttypes":{"get":{"description":"Returns Azure storage account types.","operationId":"V1AzureStorageAccountTypes","parameters":[{"description":"Region for which Azure storage account types are requested","in":"query","name":"region","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1AzureStorageAccountEntity"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Get Azure storage account types","tags":["v1"]}},"/v1/clouds/azure/subscriptions":{"get":{"description":"Returns list of Azure subscription list.","operationId":"V1AzureSubscriptionList","parameters":[{"description":"Uid for the specific Azure cloud account","in":"query","name":"cloudAccountUid","required":true,"type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1AzureSubscriptionList"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of Azure subscription list for the specified account","tags":["v1"]}},"/v1/clouds/azure/vhds/{vhd}/url":{"get":{"operationId":"V1AzureVhdUrl","parameters":[{"description":"vhd location for which Azure vhd url is requested","in":"path","name":"vhd","required":true,"type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1AzureVhdUrlEntity"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the Azure vhd url for the specified vhd location","tags":["v1"]}},"/v1/clouds/cloudTypes":{"get":{"operationId":"V1CustomCloudTypesGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1CustomCloudTypes"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the custom cloud types","tags":["v1"]}},"/v1/clouds/cloudTypes/register":{"post":{"operationId":"V1CustomCloudTypeRegister","parameters":[{"description":"Request payload to register custom cloud type","in":"body","name":"body","schema":{"$ref":"#/definitions/v1CustomCloudRequestEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Registers the custom cloud type","tags":["v1"]}},"/v1/clouds/cloudTypes/{cloudType}":{"delete":{"operationId":"V1CustomCloudTypesDelete","parameters":[{"description":"Unique cloud type","in":"path","name":"cloudType","required":true,"type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the custom cloud type","tags":["v1"]}},"/v1/clouds/cloudTypes/{cloudType}/cloudAccountKeys":{"get":{"operationId":"V1CustomCloudTypeCloudAccountKeysGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1CustomCloudTypeCloudAccountKeys"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns valid keys for the cloud account used for custom cloud type","tags":["v1"]},"parameters":[{"description":"Unique cloud type","in":"path","name":"cloudType","required":true,"type":"string"}],"put":{"operationId":"V1CustomCloudTypeCloudAccountKeysUpdate","parameters":[{"description":"Request payload for custom cloud meta entity","in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/v1CustomCloudTypeCloudAccountKeys"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Update the custom cloud type cloud account keys","tags":["v1"]}},"/v1/clouds/cloudTypes/{cloudType}/content/bootstrap":{"delete":{"operationId":"V1CustomCloudTypeBootstrapDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Delete the custom cloud type bootstrap","tags":["v1"]},"get":{"operationId":"V1CustomCloudTypeBootstrapGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1CustomCloudTypeContentResponse"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the custom cloud type bootstrap","tags":["v1"]},"parameters":[{"description":"Unique cloud type","in":"path","name":"cloudType","required":true,"type":"string"}],"put":{"consumes":["multipart/form-data"],"operationId":"V1CustomCloudTypeBootstrapUpdate","parameters":[{"in":"formData","name":"fileName","type":"file"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Update the custom cloud type bootstrap","tags":["v1"]}},"/v1/clouds/cloudTypes/{cloudType}/content/cloudProvider":{"delete":{"operationId":"V1CustomCloudTypeCloudProviderDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Delete the custom cloud type cloud provider","tags":["v1"]},"get":{"operationId":"V1CustomCloudTypeCloudProviderGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1CustomCloudTypeContentResponse"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the custom cloud type cloud provider","tags":["v1"]},"parameters":[{"description":"Unique cloud type","in":"path","name":"cloudType","required":true,"type":"string"}],"put":{"consumes":["multipart/form-data"],"operationId":"V1CustomCloudTypeCloudProviderUpdate","parameters":[{"in":"formData","name":"fileName","type":"file"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Update the custom cloud type cloud provider","tags":["v1"]}},"/v1/clouds/cloudTypes/{cloudType}/content/controlPlane":{"delete":{"operationId":"V1CustomCloudTypeControlPlaneDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Delete the custom cloud type control plane","tags":["v1"]},"get":{"operationId":"V1CustomCloudTypeControlPlaneGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1CustomCloudTypeContentResponse"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the custom cloud type control plane","tags":["v1"]},"parameters":[{"description":"Unique cloud type","in":"path","name":"cloudType","required":true,"type":"string"}],"put":{"consumes":["multipart/form-data"],"operationId":"V1CustomCloudTypeControlPlaneUpdate","parameters":[{"in":"formData","name":"fileName","type":"file"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Update the custom cloud type control plane","tags":["v1"]}},"/v1/clouds/cloudTypes/{cloudType}/content/templates/clusterTemplate":{"delete":{"operationId":"V1CustomCloudTypeClusterTemplateDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Delete the custom cloud type cluster template","tags":["v1"]},"get":{"operationId":"V1CustomCloudTypeClusterTemplateGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1CustomCloudTypeContentResponse"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the custom cloud type cluster template","tags":["v1"]},"parameters":[{"description":"Unique cloud type","in":"path","name":"cloudType","required":true,"type":"string"}],"put":{"consumes":["multipart/form-data"],"operationId":"V1CustomCloudTypeClusterTemplateUpdate","parameters":[{"in":"formData","name":"fileName","type":"file"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Update the custom cloud type cluster template","tags":["v1"]}},"/v1/clouds/cloudTypes/{cloudType}/content/templates/controlPlanePoolTemplate":{"delete":{"operationId":"V1CustomCloudTypeControlPlanePoolTemplateDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Delete the custom cloud type controlPlane pool template","tags":["v1"]},"get":{"operationId":"V1CustomCloudTypeControlPlanePoolTemplateGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1CustomCloudTypeContentResponse"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the custom cloud type controlPlane pool template","tags":["v1"]},"parameters":[{"description":"Unique cloud type","in":"path","name":"cloudType","required":true,"type":"string"}],"put":{"consumes":["multipart/form-data"],"operationId":"V1CustomCloudTypeControlPlanePoolTemplateUpdate","parameters":[{"in":"formData","name":"fileName","type":"file"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Update the custom cloud type controlPlane pool template","tags":["v1"]}},"/v1/clouds/cloudTypes/{cloudType}/content/templates/workerPoolTemplate":{"delete":{"operationId":"V1CustomCloudTypeWorkerPoolTemplateDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Delete the custom cloud type worker pool template","tags":["v1"]},"get":{"operationId":"V1CustomCloudTypeWorkerPoolTemplateGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1CustomCloudTypeContentResponse"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the custom cloud type worker pool template","tags":["v1"]},"parameters":[{"description":"Unique cloud type","in":"path","name":"cloudType","required":true,"type":"string"}],"put":{"consumes":["multipart/form-data"],"operationId":"V1CustomCloudTypeWorkerPoolTemplateUpdate","parameters":[{"in":"formData","name":"fileName","type":"file"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Update the custom cloud type worker pool template","tags":["v1"]}},"/v1/clouds/cloudTypes/{cloudType}/logo":{"get":{"operationId":"V1CustomCloudTypeLogoGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"produces":["application/octet-stream"],"responses":{"200":{"description":"Download the logo","headers":{"Content-Disposition":{"type":"string"}},"schema":{"format":"binary","type":"string"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the custom cloud type logo","tags":["v1"]},"parameters":[{"description":"Unique cloud type","in":"path","name":"cloudType","required":true,"type":"string"}],"put":{"consumes":["multipart/form-data"],"operationId":"V1CustomCloudTypeLogoUpdate","parameters":[{"in":"formData","name":"fileName","type":"file"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Update the custom cloud type logo","tags":["v1"]}},"/v1/clouds/cloudTypes/{cloudType}/meta":{"get":{"operationId":"V1CustomCloudTypeMetaGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1CustomCloudMetaEntity"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the custom cloud type meta","tags":["v1"]},"parameters":[{"description":"Unique cloud type","in":"path","name":"cloudType","required":true,"type":"string"}],"put":{"operationId":"V1CustomCloudTypeMetaUpdate","parameters":[{"description":"Request payload for custom cloud meta entity","in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/v1CustomCloudRequestEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Update the custom cloud type meta","tags":["v1"]}},"/v1/clouds/coxedge/account/validate":{"post":{"operationId":"V1CoxEdgeAccountValidate","parameters":[{"description":"Request payload to validate CoxEdge cloud account","in":"body","name":"account","required":true,"schema":{"$ref":"#/definitions/v1CoxEdgeCloudAccount"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Validate the specified CoxEdge account credentials","tags":["v1"]}},"/v1/clouds/coxedge/default/baseurls":{"get":{"operationId":"V1CoxEdgeBaseUrls","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1CoxEdgeBaseUrls"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of default base urls","tags":["v1"]}},"/v1/clouds/coxedge/environments":{"get":{"operationId":"V1CoxEdgeEnvironmentsGet","parameters":[{"description":"Uid for the specific CoxEdge cloud account","in":"query","name":"cloudAccountUid","required":true,"type":"string"},{"description":"OrganizationId for the specific CoxEdge account","in":"query","name":"organizationId","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"List of CoxEdge environments","schema":{"$ref":"#/definitions/v1CoxEdgeEnvironments"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of environments for the specified account","tags":["v1"]},"post":{"operationId":"V1CoxEdgeEnvironments","parameters":[{"description":"Request payload to get CoxEdge environments","in":"body","name":"spec","required":true,"schema":{"$ref":"#/definitions/v1CoxEdgeEnvironmentsRequest"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"List of CoxEdge environments","schema":{"$ref":"#/definitions/v1CoxEdgeEnvironments"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of environments for baseUrl and apiKey","tags":["v1"]}},"/v1/clouds/coxedge/organizations":{"get":{"operationId":"V1CoxEdgeOrganizationsGet","parameters":[{"description":"Uid for the specific CoxEdge cloud account","in":"query","name":"cloudAccountUid","required":true,"type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"List of CoxEdge organizations","schema":{"$ref":"#/definitions/v1CoxEdgeOrganizations"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of organizations for the specified account","tags":["v1"]},"post":{"operationId":"V1CoxEdgeOrganizations","parameters":[{"description":"Request payload to get CoxEdge organizations","in":"body","name":"spec","required":true,"schema":{"$ref":"#/definitions/v1CoxEdgeCredentials"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"List of CoxEdge organizations","schema":{"$ref":"#/definitions/v1CoxEdgeOrganizations"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of organizations for baseUrl and apiKey","tags":["v1"]}},"/v1/clouds/coxedge/regions":{"get":{"operationId":"V1CoxEdgeRegions","parameters":[{"description":"Uid for the specific AWS cloud account","in":"query","name":"cloudAccountUid","type":"string"},{"description":"CoxEdge organization id","in":"query","name":"organizationId","type":"string"},{"description":"CoxEdge service name","in":"query","name":"service","type":"string"},{"description":"CoxEdge environment name","in":"query","name":"environment","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1CoxEdgeRegions"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of CoxEdge regions for the specified account","tags":["v1"]}},"/v1/clouds/coxedge/regions/{region}/instancetypes":{"get":{"operationId":"V1CoxEdgeInstanceTypes","parameters":[{"description":"Region for which CoxEdge instances are listed","in":"path","name":"region","required":true,"type":"string"},{"description":"Filter for instances having cpu greater than or equal","format":"double","in":"query","name":"cpuGtEq","type":"number"},{"description":"Filter for instances having memory greater than or equal","format":"double","in":"query","name":"memoryGtEq","type":"number"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1CoxEdgeInstanceTypes"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of CoxEdge instance types","tags":["v1"]}},"/v1/clouds/coxedge/services":{"get":{"operationId":"V1CoxEdgeServicesGet","parameters":[{"description":"Uid for the specific CoxEdge cloud account","in":"query","name":"cloudAccountUid","required":true,"type":"string"},{"description":"OrganizationId for the specific CoxEdge account","in":"query","name":"organizationId","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"List of CoxEdge services","schema":{"$ref":"#/definitions/v1CoxEdgeServices"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of services for the specified account","tags":["v1"]},"post":{"operationId":"V1CoxEdgeServices","parameters":[{"description":"Request payload to get CoxEdge services","in":"body","name":"spec","required":true,"schema":{"$ref":"#/definitions/v1CoxEdgeCredentials"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1CoxEdgeServices"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of services for baseUrl and apiKey","tags":["v1"]}},"/v1/clouds/eks/properties/validate":{"post":{"operationId":"V1EksPropertiesValidate","parameters":[{"description":"Request payload for EKS properties validate spec","in":"body","name":"properties","required":true,"schema":{"$ref":"#/definitions/V1EksPropertiesValidateSpec"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Validate EKS properties","tags":["v1"]}},"/v1/clouds/gcp/account/validate":{"post":{"operationId":"V1GcpAccountValidate","parameters":[{"description":"Uid for the specific GCP cloud account","in":"body","name":"gcpCloudAccount","required":true,"schema":{"$ref":"#/definitions/v1GcpCloudAccountValidateEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Validate the specified GCP account credentials","tags":["v1"]}},"/v1/clouds/gcp/azs/validate":{"post":{"operationId":"V1GcpAzValidate","parameters":[{"description":"Uid for the specific GCP cloud account","in":"body","name":"entity","required":true,"schema":{"$ref":"#/definitions/v1AzValidateEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Validate the specified GCP az","tags":["v1"]}},"/v1/clouds/gcp/bucketname/validate":{"post":{"operationId":"V1GcpBucketNameValidate","parameters":[{"description":"Request payload for GCP account name validate","in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/v1GcpAccountNameValidateSpec"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Validate the specified GCP bucket name credentials","tags":["v1"]}},"/v1/clouds/gcp/image/container/validate":{"get":{"operationId":"V1GcpContainerImageValidate","parameters":[{"description":"image path in the container","in":"query","name":"imagePath","required":true,"type":"string"},{"description":"tag in the GCP container","in":"query","name":"tag","required":true,"type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Validates the image with tag","tags":["v1"]}},"/v1/clouds/gcp/images/{imageName}/url":{"get":{"operationId":"V1GcpImageUrl","parameters":[{"description":"imageName for which GCP image url is requested","in":"path","name":"imageName","required":true,"type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1GcpImageUrlEntity"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the Gcp image url for the specified image location","tags":["v1"]}},"/v1/clouds/gcp/projects":{"get":{"operationId":"V1GcpProjects","parameters":[{"description":"Uid for the specific GCP cloud account","in":"query","name":"cloudAccountUid","required":true,"type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1GcpProjects"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of GCP projects for the specified account","tags":["v1"]}},"/v1/clouds/gcp/projects/{project}/regions":{"get":{"operationId":"V1GcpRegions","parameters":[{"description":"Uid for the specific GCP cloud account","in":"query","name":"cloudAccountUid","required":true,"type":"string"},{"description":"Project Name for which GCP zones are requested","in":"path","name":"project","required":true,"type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1GcpRegions"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of GCP regions","tags":["v1"]}},"/v1/clouds/gcp/projects/{project}/regions/{region}/networks":{"get":{"operationId":"V1GcpNetworks","parameters":[{"description":"Uid for the specific GCP cloud account","in":"query","name":"cloudAccountUid","required":true,"type":"string"},{"description":"Region for which GCP networks are requested","in":"path","name":"region","required":true,"type":"string"},{"description":"Project Name for which GCP networks are requested","in":"path","name":"project","required":true,"type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1GcpNetworks"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of GCP networks for the specified account","tags":["v1"]}},"/v1/clouds/gcp/projects/{project}/regions/{region}/zones":{"get":{"operationId":"V1GcpZones","parameters":[{"description":"Uid for the specific GCP cloud account","in":"query","name":"cloudAccountUid","required":true,"type":"string"},{"description":"Region for which GCP zones are requested","in":"path","name":"region","required":true,"type":"string"},{"description":"Project Name for which GCP zones are requested","in":"path","name":"project","required":true,"type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1GcpZones"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of GCP zones for the specified account and region","tags":["v1"]}},"/v1/clouds/gcp/projects/{project}/validate":{"post":{"operationId":"V1GcpProjectValidate","parameters":[{"description":"GCP project uid","in":"path","name":"project","required":true,"type":"string"},{"description":"Uid for the specific GCP cloud account","in":"body","name":"cloudAccountUid","required":true,"schema":{"$ref":"#/definitions/v1CloudAccountUidEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Validate the specified GCP project","tags":["v1"]}},"/v1/clouds/gcp/projects/{project}/zones":{"get":{"operationId":"V1GcpAvailabilityZones","parameters":[{"description":"Uid for the specific GCP cloud account","in":"query","name":"cloudAccountUid","required":true,"type":"string"},{"description":"Project Name for which GCP zones are requested","in":"path","name":"project","required":true,"type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1GcpZones"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of GCP zones for the specified account","tags":["v1"]}},"/v1/clouds/gcp/properties/validate":{"post":{"operationId":"V1GcpPropertiesValidate","parameters":[{"description":"Request payload for GCP properties validate spec","in":"body","name":"properties","required":true,"schema":{"$ref":"#/definitions/V1GcpPropertiesValidateSpec"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Validate GCP properties","tags":["v1"]}},"/v1/clouds/gcp/regions/{region}/instancetypes":{"get":{"operationId":"V1GcpInstanceTypes","parameters":[{"description":"Region for which GCP instance types are requested","in":"path","name":"region","required":true,"type":"string"},{"description":"Filter for instances having cpu greater than or equal","format":"double","in":"query","name":"cpuGtEq","type":"number"},{"description":"Filter for instances having memory greater than or equal","format":"double","in":"query","name":"memoryGtEq","type":"number"},{"description":"Filter for instances having gpu greater than or equal","format":"double","in":"query","name":"gpuGtEq","type":"number"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1GcpInstanceTypes"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of GCP instance types","tags":["v1"]}},"/v1/clouds/gcp/regions/{region}/storagetypes":{"get":{"operationId":"V1GcpStorageTypes","parameters":[{"description":"Region for which GCP storage types are requested","in":"path","name":"region","required":true,"type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1GcpStorageTypes"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of Gcp storage types","tags":["v1"]}},"/v1/clouds/maas/account/validate":{"post":{"description":"Returns no contents if account is valid else error.","operationId":"V1MaasAccountValidate","parameters":[{"description":"Request payload for Maas cloud account","in":"body","name":"account","required":true,"schema":{"$ref":"#/definitions/v1MaasCloudAccount"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Check if Maas account is valid","tags":["v1"]}},"/v1/clouds/maas/azs":{"get":{"operationId":"V1MaasZonesGet","parameters":[{"description":"Uid for the specific Maas cloud account","in":"query","name":"cloudAccountUid","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1MaasZones"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of Maas zones for a particular account uid","tags":["v1"]}},"/v1/clouds/maas/domains":{"get":{"operationId":"V1MaasDomainsGet","parameters":[{"description":"Uid for the specific Maas cloud account","in":"query","name":"cloudAccountUid","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1MaasDomains"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of Maas domains","tags":["v1"]}},"/v1/clouds/maas/resourcePools":{"get":{"operationId":"V1MaasPoolsGet","parameters":[{"description":"Uid for the specific Maas cloud account","in":"query","name":"cloudAccountUid","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1MaasPools"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of Maas pools for a particular account uid","tags":["v1"]}},"/v1/clouds/maas/subnets":{"get":{"operationId":"V1MaasSubnetsGet","parameters":[{"description":"Uid for the specific Maas cloud account","in":"query","name":"cloudAccountUid","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1MaasSubnets"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of Maas subnets for a particular account uid","tags":["v1"]}},"/v1/clouds/maas/tags":{"get":{"operationId":"V1MaasTagsGet","parameters":[{"description":"Uid for the specific Maas cloud account","in":"query","name":"cloudAccountUid","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1MaasTags"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of Maas tags for a particular account uid","tags":["v1"]}},"/v1/clouds/openstack/account/validate":{"post":{"description":"Returns no contents if account is valid else error.","operationId":"V1OpenStackAccountValidate","parameters":[{"description":"Request payload for OpenStack cloud account","in":"body","name":"openstackCloudAccount","required":true,"schema":{"$ref":"#/definitions/v1OpenStackCloudAccount"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Check if OpenStack account is valid","tags":["v1"]}},"/v1/clouds/openstack/azs":{"get":{"operationId":"V1OpenStackAzsGet","parameters":[{"description":"Uid for the specific OpenStack cloud account","in":"query","name":"cloudAccountUid","type":"string"},{"description":"project for which OpenStack azs are requested","in":"query","name":"project","type":"string"},{"description":"region for which OpenStack azs are requested","in":"query","name":"region","type":"string"},{"description":"domain for which OpenStack azs are requested","in":"query","name":"domain","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1OpenStackAzs"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of OpenStack azs for a particular account uid","tags":["v1"]}},"/v1/clouds/openstack/flavors":{"get":{"operationId":"V1OpenStackFlavorsGet","parameters":[{"description":"Uid for the specific OpenStack cloud account","in":"query","name":"cloudAccountUid","type":"string"},{"description":"project for which OpenStack flavors are requested","in":"query","name":"project","type":"string"},{"description":"region for which OpenStack flavors are requested","in":"query","name":"region","type":"string"},{"description":"domain for which OpenStack flavors are requested","in":"query","name":"domain","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1OpenStackFlavors"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the OpenStack flavors","tags":["v1"]}},"/v1/clouds/openstack/keypairs":{"get":{"operationId":"V1OpenStackKeypairsGet","parameters":[{"description":"Uid for the specific OpenStack cloud account","in":"query","name":"cloudAccountUid","type":"string"},{"description":"project for which OpenStack keypairs are requested","in":"query","name":"project","type":"string"},{"description":"region for which OpenStack keypairs are requested","in":"query","name":"region","type":"string"},{"description":"domain for which OpenStack keypairs are requested","in":"query","name":"domain","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1OpenStackKeypairs"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the OpenStack keypair","tags":["v1"]}},"/v1/clouds/openstack/networks":{"get":{"operationId":"V1OpenStackNetworksGet","parameters":[{"description":"Uid for the specific OpenStack cloud account","in":"query","name":"cloudAccountUid","type":"string"},{"description":"project for which OpenStack networks are requested","in":"query","name":"project","type":"string"},{"description":"region for which OpenStack networks are requested","in":"query","name":"region","type":"string"},{"description":"domain for which OpenStack networks are requested","in":"query","name":"domain","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1OpenStackNetworks"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the OpenStack networks","tags":["v1"]}},"/v1/clouds/openstack/projects":{"get":{"operationId":"V1OpenStackProjectsGet","parameters":[{"description":"Uid for the specific OpenStack cloud account","in":"query","name":"cloudAccountUid","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1OpenStackProjects"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the OpenStack projects","tags":["v1"]}},"/v1/clouds/openstack/regions":{"get":{"operationId":"V1OpenStackRegionsGet","parameters":[{"description":"Uid for the specific OpenStack cloud account","in":"query","name":"cloudAccountUid","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1OpenStackRegions"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the OpenStack regions","tags":["v1"]}},"/v1/clouds/tencent/account/validate":{"post":{"operationId":"V1TencentAccountValidate","parameters":[{"description":"Request payload to validate tencent cloud account","in":"body","name":"account","required":true,"schema":{"$ref":"#/definitions/v1TencentCloudAccount"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Validate the specified Tencent account credentials","tags":["v1"]}},"/v1/clouds/tencent/regions":{"get":{"operationId":"V1TencentRegions","parameters":[{"description":"Uid for the specific Tencent cloud account","in":"query","name":"cloudAccountUid","required":true,"type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1TencentRegions"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of Tencent regions for the specified account","tags":["v1"]}},"/v1/clouds/tencent/regions/{region}/instancetypes":{"get":{"operationId":"V1TencentInstanceTypes","parameters":[{"description":"Region for which tencent instances are listed","in":"path","name":"region","required":true,"type":"string"},{"description":"Filter for instances having cpu greater than or equal","format":"double","in":"query","name":"cpuGtEq","type":"number"},{"description":"Filter for instances having memory greater than or equal","format":"double","in":"query","name":"memoryGtEq","type":"number"},{"description":"Filter for instances having gpu greater than or equal","format":"double","in":"query","name":"gpuGtEq","type":"number"},{"description":"Uid for the specific tencent cloud account","in":"query","name":"cloudAccountUid","required":true,"type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1TencentInstanceTypes"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of Tencent instance types","tags":["v1"]}},"/v1/clouds/tencent/regions/{region}/keypairs":{"get":{"operationId":"V1TencentKeypairs","parameters":[{"description":"Region for which keypairs are requested","in":"path","name":"region","required":true,"type":"string"},{"description":"Uid for the specific Tencent cloud account","in":"query","name":"cloudAccountUid","required":true,"type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1TencentKeypairs"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of keypairs for the specified account","tags":["v1"]}},"/v1/clouds/tencent/regions/{region}/securitygroups":{"get":{"operationId":"V1TencentSecurityGroups","parameters":[{"description":"Region for which security groups are requested","in":"path","name":"region","required":true,"type":"string"},{"description":"Uid for the specific Tencent cloud account","in":"query","name":"cloudAccountUid","required":true,"type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1TencentSecurityGroups"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of secutity groups for the specified account","tags":["v1"]}},"/v1/clouds/tencent/regions/{region}/storagetypes":{"get":{"operationId":"V1TencentStorageTypes","parameters":[{"description":"Region for which tencent storages are listed","in":"path","name":"region","required":true,"type":"string"},{"description":"Uid for the specific tencent cloud account","in":"query","name":"cloudAccountUid","required":true,"type":"string"},{"description":"Zone for which tencent storages are listed","in":"query","name":"zone","required":true,"type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1TencentStorageTypes"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of Tencent storage types","tags":["v1"]}},"/v1/clouds/tencent/regions/{region}/vpcs":{"get":{"operationId":"V1TencentVpcs","parameters":[{"description":"Region for which VPCs are requested","in":"path","name":"region","required":true,"type":"string"},{"description":"Uid for the specific Tencent cloud account","in":"query","name":"cloudAccountUid","required":true,"type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1TencentVpcs"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of VPCs for the specified account","tags":["v1"]}},"/v1/clouds/tencent/regions/{region}/zones":{"get":{"operationId":"V1TencentZones","parameters":[{"description":"Region for which zones are requested","in":"path","name":"region","required":true,"type":"string"},{"description":"Uid for the specific Tencent cloud account","in":"query","name":"cloudAccountUid","required":true,"type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1TencentAvailabilityZones"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of Tencent availability zones for the specified region","tags":["v1"]}},"/v1/clouds/vsphere/account/validate":{"post":{"description":"Returns no contents if account is valid else error.","operationId":"V1VsphereAccountValidate","parameters":[{"description":"Request payload for VSphere cloud account","in":"body","name":"vsphereCloudAccount","required":true,"schema":{"$ref":"#/definitions/v1VsphereCloudAccount"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Check if Vsphere account is valid","tags":["v1"]}},"/v1/clouds/vsphere/datacenters":{"get":{"operationId":"V1VsphereDatacenters","parameters":[{"description":"Uid for the specific OpenStack cloud account","in":"query","name":"cloudAccountUid","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1VsphereDatacenters"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the vsphere data centers","tags":["v1"]}},"/v1/clouds/vsphere/datacenters/{uid}/computeclusters/{computecluster}":{"get":{"operationId":"V1VsphereComputeClusterResources","parameters":[{"description":"Uid for the specific VSphere cloud account","in":"query","name":"cloudAccountUid","required":true,"type":"string"},{"description":"computecluster for which resources is requested","in":"path","name":"computecluster","required":true,"type":"string"},{"description":"VSphere datacenter uid for which resources is requested","in":"path","name":"uid","required":true,"type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1VsphereComputeClusterResources"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the resources for vsphere compute cluster","tags":["v1"]}},"/v1/clouds/vsphere/env":{"get":{"operationId":"V1VsphereEnv","parameters":[{"description":"Request payload for VSphere cloud account","in":"body","name":"vsphereCloudAccount","required":true,"schema":{"$ref":"#/definitions/v1VsphereCloudAccount"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1VsphereEnv"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves vsphere env","tags":["v1"]}},"/v1/clouds/{cloudType}/instance/spotprice":{"get":{"operationId":"V1CloudInstanceSpotPriceGet","parameters":[{"description":"Cloud type [aws/azure/gcp/tencent]","in":"path","name":"cloudType","required":true,"type":"string"},{"description":"Instance type for a specific cloud type","in":"query","name":"instanceType","required":true,"type":"string"},{"description":"Availability zone for a specific cloud type","in":"query","name":"zone","required":true,"type":"string"},{"description":"Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.","format":"date-time","in":"query","name":"timestamp","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1CloudSpotPrice"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves the cloud instance spot price based on zone and timestamp for a specific cloud","tags":["v1"]}},"/v1/clouds/{cloud}/compute/{type}/rate":{"get":{"operationId":"V1CloudComputeRate","parameters":[{"description":"cloud for which compute rate is requested","in":"path","name":"cloud","required":true,"type":"string"},{"description":"instance type for which compute rate is requested","in":"path","name":"type","required":true,"type":"string"},{"description":"region for which compute rate is requested","in":"query","name":"region","required":true,"type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1CloudCost"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the cloud compute rate","tags":["v1"]}},"/v1/clouds/{cloud}/storage/{type}/rate":{"get":{"operationId":"V1CloudStorageRate","parameters":[{"description":"cloud for which compute rate is requested","in":"path","name":"cloud","required":true,"type":"string"},{"description":"storage type for which compute rate is requested","in":"path","name":"type","required":true,"type":"string"},{"description":"region for which compute rate is requested","in":"query","name":"region","required":true,"type":"string"},{"description":"maxDiskType for which compute rate is requested","in":"query","name":"maxDiskType","type":"integer"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1CloudCost"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the cloud storage rate","tags":["v1"]}},"/v1/clustergroups":{"post":{"operationId":"v1ClusterGroupsCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ClusterGroupEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Create cluster groups","tags":["v1"]}},"/v1/clustergroups/developerCredit/usage/{scope}":{"get":{"operationId":"v1ClusterGroupsDeveloperCreditUsageGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"Cluster group developer credit usage","schema":{"$ref":"#/definitions/v1ClusterGroupsDeveloperCreditUsage"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Get cluster group developer credit usage by scope","tags":["v1"]},"parameters":[{"in":"path","name":"scope","required":true,"type":"string"}]},"/v1/clustergroups/hostCluster":{"get":{"operationId":"v1ClusterGroupsHostClusterSummary","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of cluster groups of host cluster type summary","schema":{"$ref":"#/definitions/v1ClusterGroupsHostClusterSummary"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of cluster groups host cluster summary","tags":["v1"]}},"/v1/clustergroups/hostCluster/metadata":{"get":{"operationId":"v1ClusterGroupsHostClusterMetadata","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of cluster groups host cluster metadata items","schema":{"$ref":"#/definitions/v1ClusterGroupsHostClusterMetadata"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of cluster groups host cluster metadata","tags":["v1"]}},"/v1/clustergroups/validate/name":{"get":{"operationId":"v1ClusterGroupsValidateName","parameters":[{"in":"query","name":"name","required":true,"type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Validates the cluster groups name","tags":["v1"]}},"/v1/clustergroups/{uid}":{"delete":{"operationId":"v1ClusterGroupsUidDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified cluster group","tags":["v1"]},"get":{"operationId":"v1ClusterGroupsUidGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1ClusterGroup"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified cluster groups","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}]},"/v1/clustergroups/{uid}/hostCluster":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"put":{"operationId":"v1ClusterGroupsUidHostClusterUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ClusterGroupHostClusterEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates cluster reference and host cluster config","tags":["v1"]}},"/v1/clustergroups/{uid}/meta":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"put":{"operationId":"v1ClusterGroupsUidMetaUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ObjectMeta"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified cluster groups meta","tags":["v1"]}},"/v1/clustergroups/{uid}/packs/resolvedValues":{"get":{"operationId":"v1ClusterGroupsUidPacksResolvedValuesGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1SpectroClusterProfilesResolvedValues"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified clustergroup's profile packs resolved values","tags":["v1"]},"parameters":[{"description":"Cluster group uid","in":"path","name":"uid","required":true,"type":"string"},{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroClusterProfilesParamReferenceEntity"}}]},"/v1/clustergroups/{uid}/profiles":{"get":{"operationId":"v1ClusterGroupsUidProfilesGet","parameters":[{"description":"includes pack meta such as schema, presets","in":"query","name":"includePackMeta","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1SpectroClusterProfileList"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the associated profiles of a specified cluster group","tags":["v1"]},"parameters":[{"description":"ClusterGroup uid","in":"path","name":"uid","required":true,"type":"string"}],"put":{"operationId":"v1ClusterGroupsUidProfilesUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroClusterProfiles"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified cluster groups profiles","tags":["v1"]}},"/v1/clusterprofiles":{"post":{"operationId":"v1ClusterProfilesCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ClusterProfileEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Creates a cluster profile","tags":["v1"]}},"/v1/clusterprofiles/bulk":{"delete":{"operationId":"v1ClusterProfilesBulkDelete","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1BulkDeleteRequest"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1BulkDeleteResponse"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes list of cluster profiles","tags":["v1"]}},"/v1/clusterprofiles/import":{"post":{"operationId":"v1ClusterProfilesImport","parameters":[{"description":"If true then cluster profile will be published post successful import","in":"query","name":"publish","type":"boolean"},{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ClusterProfileImportEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Imports a cluster profile","tags":["v1"]}},"/v1/clusterprofiles/import/file":{"post":{"consumes":["multipart/form-data"],"operationId":"v1ClusterProfilesImportFile","parameters":[{"description":"If true then cluster profile will be published post successful import","in":"query","name":"publish","type":"boolean"},{"description":"Cluster profile import file","in":"formData","name":"importFile","type":"file"},{"default":"json","description":"Cluster profile import file format [\"yaml\", \"json\"]","enum":["yaml","json"],"in":"query","name":"format","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Imports a cluster profile via file","tags":["v1"]}},"/v1/clusterprofiles/import/validate":{"post":{"operationId":"v1ClusterProfilesImportValidate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ClusterProfileImportEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"Cluster profile import validated response","schema":{"$ref":"#/definitions/v1ClusterProfileImportEntity"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Validates cluster profile import","tags":["v1"]}},"/v1/clusterprofiles/macros":{"get":{"operationId":"v1MacrosList","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1Macros"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of macros","tags":["v1"]}},"/v1/clusterprofiles/validate/name":{"get":{"description":"Validates the cluster profile name and version","operationId":"v1ClusterProfilesValidateNameVersion","parameters":[{"description":"Cluster profile name","in":"query","name":"name","type":"string"},{"description":"Cluster profile version","in":"query","name":"version","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Validates the cluster profile metadata","tags":["v1"]}},"/v1/clusterprofiles/validate/packs":{"post":{"operationId":"v1ClusterProfilesValidatePacks","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ClusterProfileTemplateDraft"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"Cluster profile packs validation response","schema":{"$ref":"#/definitions/v1ClusterProfileValidatorResponse"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Validates cluster profile packs","tags":["v1"]}},"/v1/clusterprofiles/{uid}":{"delete":{"operationId":"v1ClusterProfilesDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified cluster profile","tags":["v1"]},"get":{"operationId":"v1ClusterProfilesGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1ClusterProfile"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns a specified cluster profile","tags":["v1"]},"parameters":[{"description":"Cluster profile uid","in":"path","name":"uid","required":true,"type":"string"},{"description":"Comma seperated pack meta such as schema, presets","in":"query","name":"includePackMeta","type":"string"}],"put":{"operationId":"v1ClusterProfilesUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ClusterProfileUpdateEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified cluster profile","tags":["v1"]}},"/v1/clusterprofiles/{uid}/clone":{"parameters":[{"description":"Cluster profile uid","in":"path","name":"uid","required":true,"type":"string"}],"post":{"operationId":"v1ClusterProfilesUidClone","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ClusterProfileCloneEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Creates a clone of the specified cluster profile","tags":["v1"]}},"/v1/clusterprofiles/{uid}/clone/validate":{"parameters":[{"description":"Cluster profile uid","in":"path","name":"uid","required":true,"type":"string"}],"post":{"description":"Validates the cloned cluster profile name, version and target project uid","operationId":"v1ClusterProfilesUidCloneValidate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ClusterProfileCloneMetaInputEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Validates the cluster profile clone","tags":["v1"]}},"/v1/clusterprofiles/{uid}/export":{"get":{"operationId":"V1ClusterProfilesUidExport","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"produces":["application/octet-stream"],"responses":{"200":{"description":"Exports cluster profile as a file","headers":{"Content-Disposition":{"type":"string"}},"schema":{"format":"binary","type":"string"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Export the specified cluster profile","tags":["v1"]},"parameters":[{"description":"Cluster profile uid","in":"path","name":"uid","required":true,"type":"string"},{"default":"json","description":"Cluster profile export file format [ \"yaml\", \"json\" ]","enum":["yaml","json"],"in":"query","name":"format","type":"string"}]},"/v1/clusterprofiles/{uid}/export/terraform":{"get":{"operationId":"V1ClusterProfilesUidExportTerraform","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"produces":["application/octet-stream"],"responses":{"200":{"description":"Downloads cluster profile export file","headers":{"Content-Disposition":{"type":"string"}},"schema":{"format":"binary","type":"string"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Downloads the specified cluster profile","tags":["v1"]},"parameters":[{"description":"Cluster profile uid","in":"path","name":"uid","required":true,"type":"string"},{"default":"yaml","description":"Cluster profile export file format [ \"yaml\", \"json\" ]","enum":["yaml","json"],"in":"query","name":"format","type":"string"}]},"/v1/clusterprofiles/{uid}/metadata":{"parameters":[{"description":"Cluster profile uid","in":"path","name":"uid","required":true,"type":"string"}],"patch":{"operationId":"v1ClusterProfilesUidMetadataUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ProfileMetaEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified cluster profile metadata","tags":["v1"]}},"/v1/clusterprofiles/{uid}/packRefs":{"parameters":[{"description":"Cluster profile uid","in":"path","name":"uid","required":true,"type":"string"},{"description":"Cluster profile notification uid","in":"query","name":"notify","type":"string"},{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ClusterProfileNotificationUpdateEntity"}}],"patch":{"operationId":"v1ClusterProfilesPacksRefUpdate","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates cluster profile packs ref","tags":["v1"]}},"/v1/clusterprofiles/{uid}/packs":{"get":{"operationId":"v1ClusterProfilesUidPacksGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1ClusterProfilePacksEntities"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified cluster profile packs","tags":["v1"]},"parameters":[{"description":"Cluster profile uid","in":"path","name":"uid","required":true,"type":"string"},{"description":"Comma seperated pack meta such as schema, presets","in":"query","name":"includePackMeta","type":"string"}],"post":{"operationId":"v1ClusterProfilesUidPacksAdd","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1PackInputEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Adds a new pack to the specified cluster profile and returns the created pack uid","tags":["v1"]}},"/v1/clusterprofiles/{uid}/packs/manifests":{"get":{"operationId":"v1ClusterProfilesUidPacksManifestsGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1ClusterProfilePacksManifests"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified cluster profile pack manifests","tags":["v1"]},"parameters":[{"description":"Cluster profile uid","in":"path","name":"uid","required":true,"type":"string"},{"description":"Comma seperated pack meta such as schema, presets","in":"query","name":"includePackMeta","type":"string"}]},"/v1/clusterprofiles/{uid}/packs/resolvedValues":{"get":{"operationId":"v1ClusterProfilesUidPacksResolvedValuesGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1PackResolvedValues"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified cluster profile packs resolved values","tags":["v1"]},"parameters":[{"description":"Cluster profile uid","in":"path","name":"uid","required":true,"type":"string"},{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1PackParamsEntity"}}]},"/v1/clusterprofiles/{uid}/packs/{packName}":{"delete":{"operationId":"v1ClusterProfilesUidPacksNameDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified pack information in the cluster profile","tags":["v1"]},"get":{"operationId":"V1ClusterProfilesUidPacksNameGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1PackRefSummaryResponse"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified cluster profile pack","tags":["v1"]},"parameters":[{"description":"Cluster profile uid","in":"path","name":"uid","required":true,"type":"string"},{"description":"Cluster profile pack name","in":"path","name":"packName","required":true,"type":"string"}],"put":{"operationId":"v1ClusterProfilesUidPacksNameUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1PackUpdateEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified pack information in the cluster profile","tags":["v1"]}},"/v1/clusterprofiles/{uid}/packs/{packName}/config":{"get":{"operationId":"v1ClusterProfilesUidPacksConfigGet","parameters":[{"description":"cluster profile uid","in":"path","name":"uid","required":true,"type":"string"},{"description":"Cluster profile pack name","in":"path","name":"packName","required":true,"type":"string"},{"description":"Cluster profile pack uid","in":"query","name":"packUid","required":true,"type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of cluster profile pack configurations","schema":{"$ref":"#/definitions/v1ClusterProfilePackConfigList"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified cluster profile pack configuration","tags":["v1"]}},"/v1/clusterprofiles/{uid}/packs/{packName}/manifests":{"get":{"operationId":"v1ClusterProfilesUidPacksUidManifests","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1ManifestEntities"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the associated manifests for the specified profile's pack","tags":["v1"]},"parameters":[{"description":"Cluster profile uid","in":"path","name":"uid","required":true,"type":"string"},{"description":"Cluster profile pack name","in":"path","name":"packName","required":true,"type":"string"}],"post":{"operationId":"v1ClusterProfilesUidPacksNameManifestsAdd","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ManifestInputEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Adds manifest to the profiles packs and returns the added manifests uid","tags":["v1"]}},"/v1/clusterprofiles/{uid}/packs/{packName}/manifests/{manifestUid}":{"delete":{"operationId":"v1ClusterProfilesUidPacksNameManifestsUidDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified cluster profile pack manifest","tags":["v1"]},"get":{"operationId":"v1ClusterProfilesUidPacksNameManifestsUidGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1ManifestEntity"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified cluster profile pack manifest","tags":["v1"]},"parameters":[{"description":"Cluster profile uid","in":"path","name":"uid","required":true,"type":"string"},{"description":"Cluster profile pack name","in":"path","name":"packName","required":true,"type":"string"},{"description":"Cluster profile pack manifest uid","in":"path","name":"manifestUid","required":true,"type":"string"}],"put":{"operationId":"v1ClusterProfilesUidPacksNameManifestsUidUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ManifestInputEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified manifest of the profile's pack","tags":["v1"]}},"/v1/clusterprofiles/{uid}/publish":{"parameters":[{"description":"Cluster profile uid","in":"path","name":"uid","required":true,"type":"string"}],"patch":{"description":"Publish the draft cluster profile with next revision, the current draft cluster profile will be marked to published\nand the draft cluster profile will be set to null in the cluster profile template.\n","operationId":"v1ClusterProfilesPublish","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"Cluster profile published successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Publishes the specified cluster profile","tags":["v1"]}},"/v1/clusterprofiles/{uid}/spc/download":{"get":{"operationId":"v1ClusterProfilesUidSpcDownload","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"produces":["application/octet-stream"],"responses":{"200":{"description":"Download cluster profile archive file","headers":{"Content-Disposition":{"type":"string"}},"schema":{"format":"binary","type":"string"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Downloads the specified cluster profile","tags":["v1"]},"parameters":[{"description":"Cluster profile uid","in":"path","name":"uid","required":true,"type":"string"}]},"/v1/clusterprofiles/{uid}/validate/packs":{"post":{"operationId":"v1ClusterProfilesUidValidatePacks","parameters":[{"description":"Cluster profile uid","in":"path","name":"uid","required":true,"type":"string"},{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ClusterProfileTemplateDraft"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"Cluster profile packs validation response","schema":{"$ref":"#/definitions/v1ClusterProfileValidatorResponse"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Validates specified cluster profile packs","tags":["v1"]}},"/v1/clusterprofiles/{uid}/variables":{"delete":{"operationId":"V1ClusterProfilesUidVariablesDelete","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1VariableNames"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified cluster profile variables","tags":["v1"]},"get":{"operationId":"V1ClusterProfilesUidVariablesGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1Variables"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieve a list of variables defined for the cluster profile","tags":["v1"]},"parameters":[{"description":"Cluster profile uid","in":"path","name":"uid","required":true,"type":"string"}],"patch":{"operationId":"V1ClusterProfilesUidVariablesPatch","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1Variables"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Update specific variables defined for a cluster profile","tags":["v1"]},"put":{"operationId":"V1ClusterProfilesUidVariablesPut","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1Variables"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Update the variables defined for a cluster profile","tags":["v1"]}},"/v1/dashboard/appDeployments":{"post":{"operationId":"v1DashboardAppDeployments","parameters":[{"description":"limit is a maximum number of responses to return for a list call. Maximum value of the limit is 20.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.","format":"int64","in":"query","maximum":20,"name":"limit","type":"integer"},{"description":"offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.","format":"int64","in":"query","name":"offset","type":"integer"},{"description":"continue token to paginate the subsequent data items","in":"query","name":"continue","type":"string"},{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1AppDeploymentsFilterSpec"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of application deployment summary items","schema":{"$ref":"#/definitions/v1AppDeploymentsSummary"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of application deployments filter summary Supported filter fields - [\"appDeploymentName\", \"clusterUid\", \"tags\"] Supported sort fields - [\"appDeploymentName\", \"creationTimestamp\", \"lastModifiedTimestamp\"]","tags":["v1"]}},"/v1/dashboard/appProfiles":{"post":{"operationId":"v1DashboardAppProfiles","parameters":[{"description":"limit is a maximum number of responses to return for a list call. Maximum value of the limit is 20.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.","format":"int64","in":"query","maximum":20,"name":"limit","type":"integer"},{"description":"offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.","format":"int64","in":"query","name":"offset","type":"integer"},{"description":"continue token to paginate the subsequent data items","in":"query","name":"continue","type":"string"},{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1AppProfilesFilterSpec"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of application profiles summary items","schema":{"$ref":"#/definitions/v1AppProfilesSummary"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of application profiles filter summary Supported filter fields - [\"profileName\", \"tags\"] Supported sort fields - [\"profileName\", \"creationTimestamp\", \"lastModifiedTimestamp\"]","tags":["v1"]}},"/v1/dashboard/appProfiles/metadata":{"get":{"operationId":"v1DashboardAppProfilesMetadata","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of application profile summary items","schema":{"$ref":"#/definitions/v1AppProfilesMetadata"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of application profile metadata","tags":["v1"]}},"/v1/dashboard/appliances/metadata":{"post":{"operationId":"v1EdgeHostsMetadata","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1EdgeHostsMetadataFilter"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of edgehost summary items","schema":{"$ref":"#/definitions/v1EdgeHostsMetadataSummary"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of edgehosts summary","tags":["v1"]}},"/v1/dashboard/cloudaccounts/metadata":{"get":{"operationId":"v1DashboardCloudAccountsMetadata","parameters":[{"in":"query","name":"environment","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of cloud accounts summary items","schema":{"$ref":"#/definitions/v1CloudAccountsMetadata"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of cloud accounts metadata","tags":["v1"]}},"/v1/dashboard/clustergroups/{uid}/hostClusters":{"post":{"operationId":"v1ClusterGroupUidHostClustersSummary","parameters":[{"in":"path","name":"uid","required":true,"type":"string"},{"default":50,"description":"limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.","format":"int64","in":"query","name":"limit","type":"integer"},{"description":"offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.","format":"int64","in":"query","name":"offset","type":"integer"},{"description":"continue token to paginate the subsequent data items","in":"query","name":"continue","type":"string"},{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SearchFilterSummarySpec"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of cluster summary items","schema":{"$ref":"#/definitions/v1SpectroClustersSummary"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of cluster summary for a given cluster group","tags":["v1"]}},"/v1/dashboard/clustergroups/{uid}/virtualClusters":{"post":{"operationId":"v1ClusterGroupUidVirtualClustersSummary","parameters":[{"in":"path","name":"uid","required":true,"type":"string"},{"default":50,"description":"limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.","format":"int64","in":"query","name":"limit","type":"integer"},{"description":"offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.","format":"int64","in":"query","name":"offset","type":"integer"},{"description":"continue token to paginate the subsequent data items","in":"query","name":"continue","type":"string"},{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SearchFilterSummarySpec"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of cluster summary items","schema":{"$ref":"#/definitions/v1SpectroClustersSummary"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of cluster summary for a given cluster group","tags":["v1"]}},"/v1/dashboard/clusterprofiles":{"post":{"operationId":"v1ClusterProfilesFilterSummary","parameters":[{"description":"limit is a maximum number of responses to return for a list call. Maximum value of the limit is 20.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.","format":"int64","in":"query","maximum":20,"name":"limit","type":"integer"},{"description":"offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.","format":"int64","in":"query","name":"offset","type":"integer"},{"description":"continue token to paginate the subsequent data items","in":"query","name":"continue","type":"string"},{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ClusterProfilesFilterSpec"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of cluster profiles summary items","schema":{"$ref":"#/definitions/v1ClusterProfilesSummary"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of cluster profiles filter summary Supported filter fields - [\"profileName\", \"tags\", \"profileType\", \"environment\"] Supported sort fields - [\"profileName\", \"environment\", \"profileType\", \"creationTimestamp\", \"lastModifiedTimestamp\"]","tags":["v1"]}},"/v1/dashboard/clusterprofiles/metadata":{"get":{"operationId":"v1ClusterProfilesMetadata","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of cluster summary items","schema":{"$ref":"#/definitions/v1ClusterProfilesMetadata"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of cluster profiles metadata","tags":["v1"]}},"/v1/dashboard/clusterprofiles/{uid}":{"get":{"operationId":"v1ClusterProfilesUidSummary","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"Cluster profile summary response","schema":{"$ref":"#/definitions/v1ClusterProfileSummary"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a specified cluster profile summary","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}]},"/v1/dashboard/edgehosts/search":{"post":{"operationId":"v1DashboardEdgehostsSearch","parameters":[{"description":"limit is a maximum number of responses to return for a list call. Maximum value of the limit is 20.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.","format":"int64","in":"query","maximum":20,"name":"limit","type":"integer"},{"description":"offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.","format":"int64","in":"query","name":"offset","type":"integer"},{"description":"continue token to paginate the subsequent data items","in":"query","name":"continue","type":"string"},{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SearchFilterSummarySpec"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of edgehost summary items","schema":{"$ref":"#/definitions/v1EdgeHostsSearchSummary"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of Edgehosts summary with provided search filter. Supported fields as per schema /v1/dashboard/edgehosts/search/schema","tags":["v1"]}},"/v1/dashboard/edgehosts/search/schema":{"get":{"operationId":"v1DashboardEdgehostsSearchSchemaGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of schema items","schema":{"$ref":"#/definitions/v1SearchFilterSchemaSpec"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a schema for the Edgehost search filter","tags":["v1"]}},"/v1/dashboard/pcgs/search":{"post":{"operationId":"v1DashboardPcgsSearchSummary","parameters":[{"description":"limit is a maximum number of responses to return for a list call. Maximum value of the limit is 20.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.","format":"int64","in":"query","maximum":20,"name":"limit","type":"integer"},{"description":"offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.","format":"int64","in":"query","name":"offset","type":"integer"},{"description":"continue token to paginate the subsequent data items","in":"query","name":"continue","type":"string"},{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SearchFilterSummarySpec"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of cluster summary items","schema":{"$ref":"#/definitions/v1PcgsSummary"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of PCG summary with provided search filter. Supported fields as per schema /v1/dashboard/pcgs/search/schema","tags":["v1"]}},"/v1/dashboard/pcgs/search/schema":{"get":{"operationId":"v1DashboardPcgSearchSchemaGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of schema items","schema":{"$ref":"#/definitions/v1SearchFilterSchemaSpec"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a schema for the PCG search filter","tags":["v1"]}},"/v1/dashboard/projects":{"post":{"operationId":"v1ProjectsFilterSummary","parameters":[{"default":50,"description":"limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.","format":"int64","in":"query","name":"limit","type":"integer"},{"description":"offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.","format":"int64","in":"query","name":"offset","type":"integer"},{"description":"continue token to paginate the subsequent data items","in":"query","name":"continue","type":"string"},{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ProjectsFilterSpec"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of project filter summary items","schema":{"$ref":"#/definitions/v1ProjectsSummary"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"tags":["v1"]}},"/v1/dashboard/projects/metadata":{"get":{"operationId":"v1ProjectsMetadata","parameters":[{"description":"Name of the project","in":"query","name":"name","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of project metadata items","schema":{"$ref":"#/definitions/v1ProjectsMetadata"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of projects metadata","tags":["v1"]}},"/v1/dashboard/spectroclusters/cost":{"post":{"operationId":"v1DashboardSpectroClustersCostSummary","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroClusterCloudCostSummarySpec"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of resources cloud cost summary items","schema":{"$ref":"#/definitions/v1ResourcesCloudCostSummary"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves spectro clusters cloud cost summary information","tags":["v1"]}},"/v1/dashboard/spectroclusters/filters/workspace":{"get":{"operationId":"v1SpectroClustersFiltersWorkspace","parameters":[{"default":50,"description":"limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.","format":"int64","in":"query","name":"limit","type":"integer"},{"description":"offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.","format":"int64","in":"query","name":"offset","type":"integer"},{"description":"continue token to paginate the subsequent data items","in":"query","name":"continue","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of cluster summary items","schema":{"$ref":"#/definitions/v1SpectroClustersSummary"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of running, non rbac configured clusters in a workspace","tags":["v1"]}},"/v1/dashboard/spectroclusters/metadata":{"get":{"operationId":"v1SpectroClustersMetadataGet","parameters":[{"enum":["hostclusters","strictHostclusters"],"in":"query","name":"quickFilter","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of cluster summary items","schema":{"$ref":"#/definitions/v1SpectroClustersMetadata"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of cluster summary metadata","tags":["v1"]},"post":{"operationId":"v1SpectroClustersMetadata","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroClusterMetadataSpec"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of cluster summary items","schema":{"$ref":"#/definitions/v1SpectroClustersMetadata"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of cluster summary","tags":["v1"]}},"/v1/dashboard/spectroclusters/metadata/search":{"post":{"operationId":"v1SpectroClustersMetadataSearch","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SearchFilterSummarySpec"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of cluster summary meta items","schema":{"$ref":"#/definitions/v1SpectroClustersMetadataSearch"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of cluster metadata with provided search filter spec Supported sort fields - [\"environment\", \"clusterName\", \"clusterState\", \"creationTimestamp\", \"lastModifiedTimestamp\"]","tags":["v1"]}},"/v1/dashboard/spectroclusters/metadata/search/schema":{"get":{"operationId":"v1SpectroClustersMetadataSearchSchema","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of cluster meta schema items","schema":{"$ref":"#/definitions/v1SearchFilterSchemaSpec"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a schema for the cluster metadata search filter","tags":["v1"]}},"/v1/dashboard/spectroclusters/repaveStatus":{"get":{"operationId":"v1DashboardSpectroClustersRepaveList","parameters":[{"description":"limit is a maximum number of responses to return for a list call. Maximum value of the limit is 20.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.","format":"int64","in":"query","maximum":20,"name":"limit","type":"integer"},{"description":"offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.","format":"int64","in":"query","name":"offset","type":"integer"},{"description":"continue token to paginate the subsequent data items","in":"query","name":"continue","type":"string"},{"default":"Pending","enum":["Pending","Approved","Reverted"],"in":"query","name":"repaveState","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of cluster summary items","schema":{"$ref":"#/definitions/v1SpectroClustersSummary"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of clusters with the desired repave state","tags":["v1"]}},"/v1/dashboard/spectroclusters/resources/consumption":{"post":{"operationId":"v1SpectroClustersResourcesConsumption","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ResourceConsumptionSpec"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of resource consumption data items","schema":{"$ref":"#/definitions/v1ResourcesConsumption"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves spectro clusters resource consumption","tags":["v1"]}},"/v1/dashboard/spectroclusters/resources/cost":{"post":{"operationId":"v1SpectroClustersResourcesCostSummary","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ResourceCostSummarySpec"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of resources cost summary items","schema":{"$ref":"#/definitions/v1ResourcesCostSummary"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves spectro clusters resources cost summary information","tags":["v1"]}},"/v1/dashboard/spectroclusters/resources/usage":{"post":{"operationId":"v1SpectroClustersResourcesUsageSummary","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ResourceUsageSummarySpec"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of resources usage summary items","schema":{"$ref":"#/definitions/v1ResourcesUsageSummary"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves spectro clusters resources usage summary information","tags":["v1"]}},"/v1/dashboard/spectroclusters/search":{"post":{"operationId":"v1SpectroClustersSearchFilterSummary","parameters":[{"description":"limit is a maximum number of responses to return for a list call. Maximum value of the limit is 20.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.","format":"int64","in":"query","maximum":20,"name":"limit","type":"integer"},{"description":"offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.","format":"int64","in":"query","name":"offset","type":"integer"},{"description":"continue token to paginate the subsequent data items","in":"query","name":"continue","type":"string"},{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SearchFilterSummarySpec"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of cluster summary items","schema":{"$ref":"#/definitions/v1SpectroClustersSummary"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of cluster summary with provided search filter spec Supported sort fields - [\"environment\", \"clusterName\", \"memoryUsage\", \"healthState\", \"creationTimestamp\", \"lastModifiedTimestamp\"]","tags":["v1"]}},"/v1/dashboard/spectroclusters/search/export":{"get":{"operationId":"v1DashboardClustersSearchSummaryExportGet","parameters":[{"in":"query","name":"encodedFilter","type":"string"},{"default":"csv","enum":["csv"],"in":"query","name":"format","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"produces":["application/octet-stream"],"responses":{"200":{"description":"OK","headers":{"Content-Disposition":{"type":"string"},"Content-Type":{"type":"string"}},"schema":{"type":"file"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Export and download the list of cluster summary with matching search filter and download as a file(csv)","tags":["v1"]},"post":{"operationId":"v1DashboardClustersSearchSummaryExport","parameters":[{"default":"csv","enum":["csv"],"in":"query","name":"format","type":"string"},{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SearchFilterSummarySpec"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"produces":["application/octet-stream"],"responses":{"200":{"description":"download file","headers":{"Content-Disposition":{"type":"string"}},"schema":{"format":"binary","type":"string"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Export the list of cluster summary with matching search filter and download as a file(csv) Supported sort fields - [\"environment\", \"clusterName\", \"healthState\", \"creationTimestamp\", \"lastModifiedTimestamp\"]","tags":["v1"]}},"/v1/dashboard/spectroclusters/search/input":{"get":{"operationId":"v1DashboardSpectroClustersSearchInput","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of cluster search filter input items","schema":{"$ref":"#/definitions/v1ClusterSearchInputSpec"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a supported input values for the cluster search filter","tags":["v1"]}},"/v1/dashboard/spectroclusters/search/schema":{"get":{"operationId":"v1SpectroClustersSearchSchema","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of cluster filter schema items","schema":{"$ref":"#/definitions/v1SearchFilterSchemaSpec"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a schema for the cluster search filter","tags":["v1"]}},"/v1/dashboard/spectroclusters/vms":{"get":{"operationId":"V1DashboardVMEnabledClustersList","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of schema items","schema":{"$ref":"#/definitions/v1VMClusters"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of Virtual machine enabled clusters","tags":["v1"]}},"/v1/dashboard/spectroclusters/{uid}":{"get":{"operationId":"v1SpectroClustersSummaryUid","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An spectro cluster summary","schema":{"$ref":"#/definitions/v1SpectroClusterUidSummary"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified cluster summary","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}]},"/v1/dashboard/spectroclusters/{uid}/cost":{"get":{"operationId":"v1SpectroClustersUidCostSummary","parameters":[{"description":"Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.","format":"date-time","in":"query","name":"startTime","type":"string"},{"description":"Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.","format":"date-time","in":"query","name":"endTime","type":"string"},{"description":"period in minutes, group the data point by the specified period","format":"int32","in":"query","minimum":60,"name":"period","type":"integer"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An spectro cluster cost summary","schema":{"$ref":"#/definitions/v1SpectroClusterCostSummary"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves the specified cluster cost summary","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}]},"/v1/dashboard/spectroclusters/{uid}/overview":{"get":{"operationId":"v1SpectroClustersSummaryUidOverview","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An spectro cluster summary overview","schema":{"$ref":"#/definitions/v1SpectroClusterUidSummary"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified cluster summary overview","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}]},"/v1/dashboard/spectroclusters/{uid}/resources/consumption":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"post":{"operationId":"v1SpectroClustersUidResourcesConsumption","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ResourceConsumptionSpec"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of resource consumption data items","schema":{"$ref":"#/definitions/v1ResourcesConsumption"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves specified spectro cluster resource consumption","tags":["v1"]}},"/v1/dashboard/spectroclusters/{uid}/workloads":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"post":{"operationId":"v1DashboardSpectroClustersUidWorkloads","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ClusterWorkloadsSpec"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of cluster workloads","schema":{"$ref":"#/definitions/v1ClusterWorkload"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves specified cluster workloads","tags":["v1"]}},"/v1/dashboard/spectroclusters/{uid}/workloads/clusterrolebinding":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"post":{"operationId":"v1DashboardSpectroClustersUidWorkloadsClusterRoleBinding","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ClusterWorkloadsSpec"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of cluster workload clusterrolebindings","schema":{"$ref":"#/definitions/v1ClusterWorkloadRoleBindings"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves specified cluster workload clusterrolebindings","tags":["v1"]}},"/v1/dashboard/spectroclusters/{uid}/workloads/cronjob":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"post":{"operationId":"v1DashboardSpectroClustersUidWorkloadsCronJob","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ClusterWorkloadsSpec"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of cluster workload cronjobs","schema":{"$ref":"#/definitions/v1ClusterWorkloadCronJobs"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves specified cluster workload cronjobs","tags":["v1"]}},"/v1/dashboard/spectroclusters/{uid}/workloads/daemonset":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"post":{"operationId":"v1DashboardSpectroClustersUidWorkloadsDaemonSet","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ClusterWorkloadsSpec"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of cluster workload daemonsets","schema":{"$ref":"#/definitions/v1ClusterWorkloadDaemonSets"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves specified cluster workload daemonsets","tags":["v1"]}},"/v1/dashboard/spectroclusters/{uid}/workloads/deployment":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"post":{"operationId":"v1DashboardSpectroClustersUidWorkloadsDeployment","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ClusterWorkloadsSpec"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of cluster workload deployments","schema":{"$ref":"#/definitions/v1ClusterWorkloadDeployments"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves specified cluster workload deployments","tags":["v1"]}},"/v1/dashboard/spectroclusters/{uid}/workloads/job":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"post":{"operationId":"v1DashboardSpectroClustersUidWorkloadsJob","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ClusterWorkloadsSpec"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of cluster workload jobs","schema":{"$ref":"#/definitions/v1ClusterWorkloadJobs"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves specified cluster workload jobs","tags":["v1"]}},"/v1/dashboard/spectroclusters/{uid}/workloads/namespace":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"post":{"operationId":"v1DashboardSpectroClustersUidWorkloadsNamespace","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ClusterWorkloadsSpec"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of cluster workload namespaces","schema":{"$ref":"#/definitions/v1ClusterWorkloadNamespaces"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves specified cluster workload namespaces","tags":["v1"]}},"/v1/dashboard/spectroclusters/{uid}/workloads/pod":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"post":{"operationId":"v1DashboardSpectroClustersUidWorkloadsPod","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ClusterWorkloadsSpec"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of cluster workload pods","schema":{"$ref":"#/definitions/v1ClusterWorkloadPods"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves specified cluster workload pods","tags":["v1"]}},"/v1/dashboard/spectroclusters/{uid}/workloads/rolebinding":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"post":{"operationId":"v1DashboardSpectroClustersUidWorkloadsRoleBinding","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ClusterWorkloadsSpec"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of cluster workload rolebindings","schema":{"$ref":"#/definitions/v1ClusterWorkloadRoleBindings"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves specified cluster workload rolebindings","tags":["v1"]}},"/v1/dashboard/spectroclusters/{uid}/workloads/statefulset":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"post":{"operationId":"v1DashboardSpectroClustersUidWorkloadsStatefulSet","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ClusterWorkloadsSpec"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of cluster workload statefulsets","schema":{"$ref":"#/definitions/v1ClusterWorkloadStatefulSets"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves specified cluster workload statefulsets","tags":["v1"]}},"/v1/dashboard/workspaces":{"get":{"operationId":"v1DashboardWorkspacesList","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of workspace","schema":{"$ref":"#/definitions/v1DashboardWorkspaces"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of workspace","tags":["v1"]}},"/v1/dashboard/workspaces/{uid}/spectroclusters/workloads/clusterrolebinding":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"post":{"operationId":"v1DashboardWorkspacesUidSpectroClustersWorkloadsClusterRoleBinding","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1WorkspaceWorkloadsSpec"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of clusters workload clusterrolebindings","schema":{"$ref":"#/definitions/v1WorkspaceClustersWorkloadRoleBindings"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves specified workspace clusters workload clusterrolebindings","tags":["v1"]}},"/v1/dashboard/workspaces/{uid}/spectroclusters/workloads/cronjob":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"post":{"operationId":"v1DashboardWorkspacesUidSpectroClustersWorkloadsCronJob","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1WorkspaceWorkloadsSpec"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of clusters workload cronjobs","schema":{"$ref":"#/definitions/v1WorkspaceClustersWorkloadCronJobs"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves specified workspace clusters workload cronjobs","tags":["v1"]}},"/v1/dashboard/workspaces/{uid}/spectroclusters/workloads/daemonset":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"post":{"operationId":"v1DashboardWorkspacesUidSpectroClustersWorkloadsDaemonSet","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1WorkspaceWorkloadsSpec"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of clusters workload daemonsets","schema":{"$ref":"#/definitions/v1WorkspaceClustersWorkloadDaemonSets"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves specified workspace clusters workload daemonsets","tags":["v1"]}},"/v1/dashboard/workspaces/{uid}/spectroclusters/workloads/deployment":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"post":{"operationId":"v1DashboardWorkspacesUidSpectroClustersWorkloadsDeployment","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1WorkspaceWorkloadsSpec"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of clusters workload deployments","schema":{"$ref":"#/definitions/v1WorkspaceClustersWorkloadDeployments"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves specified workspace clusters workload deployments","tags":["v1"]}},"/v1/dashboard/workspaces/{uid}/spectroclusters/workloads/job":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"post":{"operationId":"v1DashboardWorkspacesUidSpectroClustersWorkloadsJob","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1WorkspaceWorkloadsSpec"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of clusters workload jobs","schema":{"$ref":"#/definitions/v1WorkspaceClustersWorkloadJobs"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves specified workspace clusters workload jobs","tags":["v1"]}},"/v1/dashboard/workspaces/{uid}/spectroclusters/workloads/namespace":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"post":{"operationId":"v1DashboardWorkspacesUidSpectroClustersWorkloadsNamespace","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1WorkspaceWorkloadsSpec"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of clusters workload namespaces","schema":{"$ref":"#/definitions/v1WorkspaceClustersWorkloadNamespaces"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves specified workspace clusters workload namespaces","tags":["v1"]}},"/v1/dashboard/workspaces/{uid}/spectroclusters/workloads/pod":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"post":{"operationId":"v1DashboardWorkspacesUidSpectroClustersWorkloadsPod","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1WorkspaceWorkloadsSpec"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of clusters workload pods","schema":{"$ref":"#/definitions/v1WorkspaceClustersWorkloadPods"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves specified workspace clusters workload pods","tags":["v1"]}},"/v1/dashboard/workspaces/{uid}/spectroclusters/workloads/rolebinding":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"post":{"operationId":"v1DashboardWorkspacesUidSpectroClustersWorkloadsRoleBinding","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1WorkspaceWorkloadsSpec"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of clusters workload rolebindings","schema":{"$ref":"#/definitions/v1WorkspaceClustersWorkloadRoleBindings"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves specified workspace clusters workload rolebindings","tags":["v1"]}},"/v1/dashboard/workspaces/{uid}/spectroclusters/workloads/statefulset":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"post":{"operationId":"v1DashboardWorkspacesUidSpectroClustersWorkloadsStatefulSet","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1WorkspaceWorkloadsSpec"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of clusters workload statefulsets","schema":{"$ref":"#/definitions/v1WorkspaceClustersWorkloadStatefulSets"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves specified workspace clusters workload statefulsets","tags":["v1"]}},"/v1/datasinks/cloudwatch":{"post":{"description":"Sync data to cloud watch","operationId":"V1DataSinksCloudWatchSink","parameters":[{"description":"Request payload for cloud watch config","in":"body","name":"dataSinkCloudWatchConfig","required":true,"schema":{"$ref":"#/definitions/v1.DataSinkCloudWatchConfig"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"sync data to cloud watch","tags":["v1"]}},"/v1/edgehosts":{"post":{"operationId":"v1EdgeHostDevicesCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1EdgeHostDeviceEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Create the edge host device","tags":["v1"]}},"/v1/edgehosts/metadata":{"get":{"operationId":"v1EdgeHostsMetadataQuickFilterGet","parameters":[{"enum":["libvirt","edge-native","vsphere"],"in":"query","name":"type","type":"string"},{"enum":["unusedEdgeHosts"],"in":"query","name":"quickFilter","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of edge host metadata","schema":{"$ref":"#/definitions/v1EdgeHostsMeta"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of edge hosts metadata matching the filter condition","tags":["v1"]}},"/v1/edgehosts/register":{"post":{"operationId":"v1EdgeHostDevicesRegister","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1EdgeHostDevice"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1EdgeHostDevice"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Registers the edge host device","tags":["v1"]}},"/v1/edgehosts/tokens":{"get":{"operationId":"v1EdgeTokensList","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of edge tokens","schema":{"$ref":"#/definitions/v1EdgeTokens"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of edge tokens","tags":["v1"]},"post":{"operationId":"v1EdgeTokensCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1EdgeTokenEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Create the edge token","tags":["v1"]}},"/v1/edgehosts/tokens/{uid}":{"delete":{"operationId":"v1EdgeTokensUidDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified edge token","tags":["v1"]},"get":{"operationId":"v1EdgeTokensUidGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1EdgeToken"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified edge token","tags":["v1"]},"parameters":[{"description":"Edge token uid","in":"path","name":"uid","required":true,"type":"string"}],"put":{"operationId":"v1EdgeTokensUidUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1EdgeTokenUpdate"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified edge token","tags":["v1"]}},"/v1/edgehosts/tokens/{uid}/state":{"parameters":[{"description":"Edge token uid","in":"path","name":"uid","required":true,"type":"string"}],"put":{"operationId":"v1EdgeTokensUidState","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1EdgeTokenActiveState"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Revoke or re-activate the edge token access","tags":["v1"]}},"/v1/edgehosts/{uid}":{"delete":{"operationId":"v1EdgeHostDevicesUidDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified edge host device","tags":["v1"]},"get":{"operationId":"v1EdgeHostDevicesUidGet","parameters":[{"default":false,"description":"resolve pack values if set to true","in":"query","name":"resolvePackValues","type":"boolean"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1EdgeHostDevice"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified edge host device","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"put":{"operationId":"v1EdgeHostDevicesUidUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1EdgeHostDevice"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified edge host device","tags":["v1"]}},"/v1/edgehosts/{uid}/cluster/associate":{"delete":{"operationId":"v1EdgeHostDevicesUidClusterDeassociate","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deassociate the clusters to the edge host","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"patch":{"operationId":"v1EdgeHostDevicesUidClusterAssociate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1EdgeHostClusterEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Associate the clusters to the edge host","tags":["v1"]}},"/v1/edgehosts/{uid}/health":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"patch":{"operationId":"v1EdgeHostDevicesHealthUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1EdgeHostHealth"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the edge host health","tags":["v1"]}},"/v1/edgehosts/{uid}/hostCheckSum":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"patch":{"operationId":"v1EdgeHostDeviceHostCheckSumUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1EdgeHostDeviceHostCheckSum"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Update the specified edge host device host check sum","tags":["v1"]}},"/v1/edgehosts/{uid}/hostPairingKey":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"patch":{"operationId":"v1EdgeHostDeviceHostPairingKeyUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1EdgeHostDeviceHostPairingKey"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Update the specified edge host device host pairing key","tags":["v1"]}},"/v1/edgehosts/{uid}/meta":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"put":{"operationId":"v1EdgeHostDevicesUidMetaUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1EdgeHostDeviceMetaUpdateEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified edge host device meta","tags":["v1"]}},"/v1/edgehosts/{uid}/pack/manifests/{manifestUid}":{"get":{"operationId":"v1EdgeHostDevicesUidPackManifestsUidGet","parameters":[{"description":"edge host uid","in":"path","name":"uid","required":true,"type":"string"},{"description":"manifest uid which is part of the pack ref","in":"path","name":"manifestUid","required":true,"type":"string"},{"default":false,"description":"resolve pack manifest values if set to true","in":"query","name":"resolveManifestValues","type":"boolean"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"Pack manifest content","schema":{"$ref":"#/definitions/v1Manifest"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified edge host's manifest","tags":["v1"]}},"/v1/edgehosts/{uid}/packs/status":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"patch":{"operationId":"v1EdgeHostDevicesUidPacksStatusPatch","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroClusterPacksStatusEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Patch update specified edge host's packs status","tags":["v1"]}},"/v1/edgehosts/{uid}/profiles":{"get":{"operationId":"v1EdgeHostDevicesUidProfilesGet","parameters":[{"description":"includes pack meta such as schema, presets","in":"query","name":"includePackMeta","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1SpectroClusterProfileList"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the associated profiles of a specified edge host device","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"put":{"operationId":"v1EdgeHostDevicesUidProfilesUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroClusterProfiles"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Associate cluster profiles to the specified edge host device","tags":["v1"]}},"/v1/edgehosts/{uid}/reset":{"parameters":[{"description":"Edge host uid","in":"path","name":"uid","required":true,"type":"string"}],"put":{"operationId":"V1EdgeHostsUidReset","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Reset the cluster through edge host","tags":["v1"]}},"/v1/edgehosts/{uid}/spc/download":{"get":{"operationId":"v1EdgeHostDevicesUidSpcDownload","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"produces":["application/octet-stream"],"responses":{"200":{"description":"download spc archive file","headers":{"Content-Disposition":{"type":"string"}},"schema":{"format":"binary","type":"string"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Download the specified edge host device spc","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}]},"/v1/edgehosts/{uid}/vsphere/properties":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"put":{"operationId":"v1EdgeHostDevicesUidVspherePropertiesUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1EdgeHostVsphereCloudProperties"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified edge host device vsphere properties","tags":["v1"]}},"/v1/events/components":{"get":{"description":"Returns a paginated list of component events based on request parameters","operationId":"v1EventsComponentsList","parameters":[{"description":"Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name","in":"query","name":"fields","type":"string"},{"description":"Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.","in":"query","name":"filters","type":"string"},{"description":"Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1","in":"query","name":"orderBy","type":"string"},{"default":50,"description":"limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.","format":"int64","in":"query","name":"limit","type":"integer"},{"description":"offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.","format":"int64","in":"query","name":"offset","type":"integer"},{"description":"continue token to paginate the subsequent data items","in":"query","name":"continue","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of component events items","schema":{"$ref":"#/definitions/v1Events"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns a paginated list of component events based on request parameters","tags":["v1"]},"post":{"description":"Creates a component event","operationId":"v1EventsComponentsCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1Event"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Creates a component event","tags":["v1"]}},"/v1/events/components/bulk":{"post":{"description":"Creates the component events in bulk","operationId":"v1EventsComponentsCreateBulk","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1BulkEvents"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","schema":{"$ref":"#/definitions/v1Uids"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Creates the component events in bulk","tags":["v1"]}},"/v1/events/components/{objectKind}/{objectUid}":{"delete":{"operationId":"v1EventsComponentsObjTypeUidDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Delete all the components events for the specified related object","tags":["v1"]},"get":{"description":"Returns a list of components events for the specified related object","operationId":"v1EventsComponentsObjTypeUidList","parameters":[{"description":"Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name","in":"query","name":"fields","type":"string"},{"description":"Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.","in":"query","name":"filters","type":"string"},{"description":"Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1","in":"query","name":"orderBy","type":"string"},{"default":50,"description":"limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.","format":"int64","in":"query","name":"limit","type":"integer"},{"description":"offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.","format":"int64","in":"query","name":"offset","type":"integer"},{"description":"continue token to paginate the subsequent data items","in":"query","name":"continue","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of component event items","schema":{"$ref":"#/definitions/v1Events"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns a list of components events for the specified related object","tags":["v1"]},"parameters":[{"description":"Describes the related object uid for which events has to be fetched","enum":["spectrocluster","edgehost"],"in":"path","name":"objectKind","required":true,"type":"string"},{"description":"Describes the related object kind for which events has to be fetched","in":"path","name":"objectUid","required":true,"type":"string"}]},"/v1/filters":{"get":{"operationId":"v1FiltersList","parameters":[{"default":50,"description":"limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.","format":"int64","in":"query","name":"limit","type":"integer"},{"description":"offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.","format":"int64","in":"query","name":"offset","type":"integer"},{"description":"continue token to paginate the subsequent data items","in":"query","name":"continue","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of filters","schema":{"$ref":"#/definitions/v1FiltersSummary"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns a list of Filters","tags":["v1"]}},"/v1/filters/metadata":{"get":{"operationId":"v1FiltersMetadata","parameters":[{"description":"filterType can be - [tag, meta, resource]","in":"query","name":"filterType","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of filters","schema":{"$ref":"#/definitions/v1FiltersMetadata"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns a list of Filters metadata","tags":["v1"]}},"/v1/filters/tag":{"post":{"operationId":"v1TagFiltersCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1TagFilter"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Creates a Tag filter","tags":["v1"]}},"/v1/filters/tag/{uid}":{"delete":{"operationId":"v1TagFilterUidDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Delete the specified Filter object","tags":["v1"]},"get":{"operationId":"v1TagFilterUidGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"A Filter object","schema":{"$ref":"#/definitions/v1TagFilterSummary"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified Filter object","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"put":{"operationId":"v1TagFilterUidUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1TagFilter"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates a Tag filter","tags":["v1"]}},"/v1/metrics/{resourceKind}/values":{"get":{"description":"Returns all the metrics for a given resource kind","operationId":"v1MetricsList","parameters":[{"enum":["pod","namespace","spectrocluster","machine","project"],"in":"path","name":"resourceKind","required":true,"type":"string"},{"default":"all","in":"query","name":"metricKind","type":"string"},{"description":"Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.","format":"date-time","in":"query","name":"startTime","type":"string"},{"description":"Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.","format":"date-time","in":"query","name":"endTime","type":"string"},{"default":1,"format":"int32","in":"query","name":"period","type":"integer"},{"default":false,"description":"includeMasterMachines in boolean, group the data point by including master nodes if set to true","in":"query","name":"includeMasterMachines","type":"boolean"},{"default":false,"description":"if true then api returns only aggregation values, else api returns all data points by default","in":"query","name":"discrete","type":"boolean"},{"in":"query","name":"spectroClusterUid","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of metric items","schema":{"$ref":"#/definitions/v1MetricTimeSeriesList"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves the list of metrics for a specified resource kind","tags":["v1"]}},"/v1/metrics/{resourceKind}/{resourceUid}/values":{"delete":{"operationId":"v1MetricsUidDelete","parameters":[{"enum":["pod","namespace","spectrocluster","machine","project"],"in":"path","name":"resourceKind","required":true,"type":"string"},{"in":"path","name":"resourceUid","required":true,"type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the metrics of the specified resource","tags":["v1"]},"get":{"operationId":"v1MetricsUidList","parameters":[{"enum":["pod","namespace","spectrocluster","machine","project"],"in":"path","name":"resourceKind","required":true,"type":"string"},{"in":"path","name":"resourceUid","required":true,"type":"string"},{"default":"all","description":"multiple metric kinds can be provided with comma separated","in":"query","name":"metricKind","type":"string"},{"description":"Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.","format":"date-time","in":"query","name":"startTime","type":"string"},{"description":"Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.","format":"date-time","in":"query","name":"endTime","type":"string"},{"default":1,"description":"period in minutes, group the data point by the specified period","format":"int32","in":"query","name":"period","type":"integer"},{"default":false,"description":"includeMasterMachines in boolean, group the data point by including master nodes if set to true","in":"query","name":"includeMasterMachines","type":"boolean"},{"default":false,"description":"if true then api returns only aggregation values, else api returns all data points by default","in":"query","name":"discrete","type":"boolean"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of metric items","schema":{"$ref":"#/definitions/v1MetricTimeSeries"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the metrics for a specified resource uid","tags":["v1"]}},"/v1/notifications/":{"get":{"description":"Returns a paginated list of notifications based on request parameters","operationId":"v1NotificationsList","parameters":[{"description":"Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name","in":"query","name":"fields","type":"string"},{"description":"Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.","in":"query","name":"filters","type":"string"},{"description":"Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1","in":"query","name":"orderBy","type":"string"},{"default":50,"description":"limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.","format":"int64","in":"query","name":"limit","type":"integer"},{"description":"offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.","format":"int64","in":"query","name":"offset","type":"integer"},{"description":"continue token to paginate the subsequent data items","in":"query","name":"continue","type":"string"}],"responses":{"200":{"description":"An array of notification items","schema":{"$ref":"#/definitions/v1Notifications"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns a paginated list of notifications based on request parameters","tags":["v1"]}},"/v1/notifications/events":{"post":{"description":"Creates a notification event","operationId":"v1NotificationsEventCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1NotificationEvent"}}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Creates a notification event","tags":["v1"]}},"/v1/notifications/{objectKind}/{objectUid}":{"get":{"description":"Returns a list of notifications for the specified related object","operationId":"v1NotificationsObjTypeUidList","parameters":[{"description":"Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name","in":"query","name":"fields","type":"string"},{"description":"Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.","in":"query","name":"filters","type":"string"},{"description":"Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1","in":"query","name":"orderBy","type":"string"},{"default":50,"description":"limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.","format":"int64","in":"query","name":"limit","type":"integer"},{"description":"offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.","format":"int64","in":"query","name":"offset","type":"integer"},{"description":"continue token to paginate the subsequent data items","in":"query","name":"continue","type":"string"}],"responses":{"200":{"description":"An array of component event items","schema":{"$ref":"#/definitions/v1Notifications"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns a list of notifications for the specified related object","tags":["v1"]},"parameters":[{"description":"Describes the related object kind for which notifications have to be fetched","enum":["spectrocluster","clusterprofile","appdeployment"],"in":"path","name":"objectKind","required":true,"type":"string"},{"description":"Describes the related object uid for which notifications have to be fetched","in":"path","name":"objectUid","required":true,"type":"string"},{"description":"Describes a way to fetch \"done\" notifications","in":"query","name":"isDone","type":"string"}]},"/v1/notifications/{uid}/ack":{"parameters":[{"description":"Describes acknowledging notification uid","in":"path","name":"uid","required":true,"type":"string"}],"patch":{"description":"Updates the specified notification for the acknowledgment","operationId":"v1NotificationsUidAck","responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified notification for the acknowledgment","tags":["v1"]}},"/v1/notifications/{uid}/done":{"parameters":[{"description":"Describes notification uid","in":"path","name":"uid","required":true,"type":"string"}],"patch":{"description":"Updates the specified notification action as done","operationId":"v1NotificationsUidDone","responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified notification action as done","tags":["v1"]}},"/v1/overlords":{"get":{"operationId":"v1OverlordsList","parameters":[{"in":"query","name":"name","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1Overlords"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of overlords owned by the tenant","tags":["v1"]}},"/v1/overlords/maas/manifest":{"get":{"operationId":"V1OverlordsMaasManifest","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1OverlordManifest"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the manifests required for the private gateway installation","tags":["v1"]},"parameters":[{"in":"query","name":"pairingCode","required":true,"type":"string"}]},"/v1/overlords/maas/{uid}/account":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"post":{"operationId":"v1OverlordsUidMaasAccountCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1OverlordMaasAccountCreate"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"create the maas cloudaccount for the private gateway","tags":["v1"]},"put":{"operationId":"v1OverlordsUidMaasAccountUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1OverlordMaasAccountEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"update the maas cloudaccount for the private gateway","tags":["v1"]}},"/v1/overlords/maas/{uid}/account/validate":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"post":{"operationId":"v1OverlordsUidMaasAccountValidate","parameters":[{"in":"body","name":"body","schema":{"properties":{"account":{"$ref":"#/definitions/v1MaasCloudAccount"}}}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"validate the maas cloudaccount for the private gateway","tags":["v1"]}},"/v1/overlords/maas/{uid}/cloudconfig":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"post":{"operationId":"V1OverlordsUidMaasCloudConfigCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1OverlordMaasCloudConfig"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"create the maas cloud config for the private gateway","tags":["v1"]},"put":{"operationId":"V1OverlordsUidMaasCloudConfigUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1OverlordMaasCloudConfig"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"update the maas cloud config for the private gateway","tags":["v1"]}},"/v1/overlords/maas/{uid}/clusterprofile":{"get":{"operationId":"v1OverlordsUidMaasClusterProfile","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1ClusterProfile"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified maas private gateway cluster profile","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}]},"/v1/overlords/migrate":{"post":{"operationId":"V1OverlordsMigrate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1OverlordMigrateEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"migrate all the clusters from source overlord to target overlord","tags":["v1"]}},"/v1/overlords/openstack/manifest":{"get":{"operationId":"v1OverlordsOpenStackManifest","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1OverlordManifest"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the manifests required for the private gateway installation","tags":["v1"]},"parameters":[{"in":"query","name":"pairingCode","required":true,"type":"string"}]},"/v1/overlords/openstack/{uid}/account":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"post":{"operationId":"v1OverlordsUidOpenStackAccountCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1OverlordOpenStackAccountCreate"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"create the OpenStack cloudaccount for the private gateway","tags":["v1"]},"put":{"operationId":"v1OverlordsUidOpenStackAccountUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1OverlordOpenStackAccountEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"update the OpenStack cloudaccount for the private gateway","tags":["v1"]}},"/v1/overlords/openstack/{uid}/account/validate":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"post":{"operationId":"v1OverlordsUidOpenStackAccountValidate","parameters":[{"in":"body","name":"body","schema":{"properties":{"account":{"$ref":"#/definitions/v1OpenStackCloudAccount"}}}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"validate the OpenStack cloudaccount for the private gateway","tags":["v1"]}},"/v1/overlords/openstack/{uid}/cloudconfig":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"post":{"operationId":"v1OverlordsUidOpenStackCloudConfigCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1OverlordOpenStackCloudConfig"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"create the OpenStack cloud config for the private gateway","tags":["v1"]},"put":{"operationId":"v1OverlordsUidOpenStackCloudConfigUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1OverlordOpenStackCloudConfig"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"update the OpenStack cloud config for the private gateway","tags":["v1"]}},"/v1/overlords/openstack/{uid}/clusterprofile":{"get":{"operationId":"v1OverlordsUidOpenStackClusterProfile","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1ClusterProfile"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified OpenStack private gateway cluster profile","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}]},"/v1/overlords/pairing/code":{"get":{"operationId":"v1OverlordsPairingCode","parameters":[{"enum":["vsphere","openstack","maas"],"in":"query","name":"cloudType","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1PairingCode"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the pairing code for the private gateway","tags":["v1"]}},"/v1/overlords/vsphere/manifest":{"get":{"operationId":"v1OverlordsVsphereManifest","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1OverlordManifest"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the manifests required for the private gateway installation","tags":["v1"]},"parameters":[{"in":"query","name":"pairingCode","required":true,"type":"string"}]},"/v1/overlords/vsphere/ova":{"get":{"operationId":"v1OverlordsVsphereOvaGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1OverloadVsphereOva"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns overlord's ova information","tags":["v1"]}},"/v1/overlords/vsphere/{uid}/account":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"post":{"operationId":"v1OverlordsUidVsphereAccountCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1OverlordVsphereAccountCreate"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"create the vSphere cloudaccount for the private gateway","tags":["v1"]},"put":{"operationId":"v1OverlordsUidVsphereAccountUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1OverlordVsphereAccountEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"update the vSphere cloudaccount for the private gateway","tags":["v1"]}},"/v1/overlords/vsphere/{uid}/account/validate":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"post":{"operationId":"v1OverlordsUidVsphereAccountValidate","parameters":[{"in":"body","name":"body","schema":{"properties":{"account":{"$ref":"#/definitions/v1VsphereCloudAccount"}}}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"validate the vSphere cloudaccount for the private gateway","tags":["v1"]}},"/v1/overlords/vsphere/{uid}/cloudconfig":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"post":{"operationId":"v1OverlordsUidVsphereCloudConfigCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1OverlordVsphereCloudConfig"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"create the vSphere cloud config for the private gateway","tags":["v1"]},"put":{"operationId":"v1OverlordsUidVsphereCloudConfigUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1OverlordVsphereCloudConfig"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"update the vSphere cloud config for the private gateway","tags":["v1"]}},"/v1/overlords/vsphere/{uid}/clusterprofile":{"get":{"operationId":"v1OverlordsUidVsphereClusterProfile","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1ClusterProfile"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified vsphere private gateway cluster profile","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}]},"/v1/overlords/vsphere/{uid}/pools":{"get":{"operationId":"v1OverlordsUidPoolsList","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1IpPools"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of IP Pools for the specified private gateway","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"post":{"operationId":"v1OverlordsUidPoolCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1IpPoolInputEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Creates an IP pool defintion for the sepcified private gateway","tags":["v1"]}},"/v1/overlords/vsphere/{uid}/pools/{poolUid}":{"delete":{"operationId":"v1OverlordsUidPoolDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the private gateways's specified IP Pool data","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"},{"in":"path","name":"poolUid","required":true,"type":"string"}],"put":{"operationId":"v1OverlordsUidPoolUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1IpPoolInputEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the private gateways's specified IP Pool data","tags":["v1"]}},"/v1/overlords/vsphere/{uid}/properties/computecluster/resources":{"get":{"operationId":"v1OverlordsUidVsphereComputeclusterRes","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1VsphereComputeClusterResources"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves the vSphere computecluster resources for the specified private gateway's account","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"},{"in":"query","name":"datacenter","required":true,"type":"string"},{"in":"query","name":"computecluster","required":true,"type":"string"}]},"/v1/overlords/vsphere/{uid}/properties/datacenters":{"get":{"operationId":"v1OverlordsUidVsphereDatacenters","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1VsphereDatacenters"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves the vSphere datacenters \u0026 datacluster for the specified private gateway's account","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}]},"/v1/overlords/{uid}":{"delete":{"operationId":"v1OverlordsUidDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1DeletedMsg"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"delete the private gateway","tags":["v1"]},"get":{"operationId":"v1OverlordsUidGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1Overlord"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified private gateway's for the given uid","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}]},"/v1/overlords/{uid}/metadata":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"put":{"operationId":"v1OverlordsUidMetadataUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ObjectMetaInputEntitySchema"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"update the private gateway's metadata","tags":["v1"]}},"/v1/overlords/{uid}/reset":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"put":{"operationId":"v1OverlordsUidReset","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1UpdatedMsg"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"reset the private gateway by disaaociating the private gateway's resources","tags":["v1"]}},"/v1/packs":{"delete":{"operationId":"v1PacksSummaryDelete","parameters":[{"description":"Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.","in":"query","name":"filters","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1DeleteMeta"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the packs","tags":["v1"]},"get":{"operationId":"v1PacksSummaryList","parameters":[{"description":"Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name","in":"query","name":"fields","type":"string"},{"description":"Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.","in":"query","name":"filters","type":"string"},{"description":"Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1","in":"query","name":"orderBy","type":"string"},{"default":50,"description":"limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.","format":"int64","in":"query","name":"limit","type":"integer"},{"description":"offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.","format":"int64","in":"query","name":"offset","type":"integer"},{"description":"continue token to paginate the subsequent data items","in":"query","name":"continue","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of pack summary items","schema":{"$ref":"#/definitions/v1PackSummaries"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of packs","tags":["v1"]}},"/v1/packs/search":{"post":{"operationId":"v1PacksSearch","parameters":[{"default":50,"description":"limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.","format":"int64","in":"query","name":"limit","type":"integer"},{"description":"offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.","format":"int64","in":"query","name":"offset","type":"integer"},{"description":"continue token to paginate the subsequent data items","in":"query","name":"continue","type":"string"},{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1PacksFilterSpec"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of pack summary items","schema":{"$ref":"#/definitions/v1PackMetadataList"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of packs based on filter","tags":["v1"]}},"/v1/packs/{packName}/registries/{registryUid}":{"get":{"operationId":"v1PacksNameRegistryUidList","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1PackTagEntity"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of packs","tags":["v1"]},"parameters":[{"description":"Pack registry uid","in":"path","name":"registryUid","required":true,"type":"string"},{"description":"Pack name","in":"path","name":"packName","required":true,"type":"string"},{"default":"all","description":"Pack cloud type","in":"query","name":"cloudType","type":"string"},{"description":"Pack layer","in":"query","name":"layer","type":"string"},{"description":"Comma seperated pack states. Example values are \"deprecated\" \"deprecated,disabled\". If states is not specified or empty then by default API will return all packs except \"disabled\" packs","in":"query","name":"states","type":"string"}]},"/v1/packs/{packUid}/logo":{"get":{"operationId":"v1PacksPackUidLogo","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"produces":["image/png","image/gif","image/jpeg"],"responses":{"200":{"description":"OK","headers":{"Cache-Control":{"description":"Cache control directive for the response","type":"string"},"Expires":{"type":"string"}},"schema":{"format":"binary","type":"string"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the logo for a specified pack","tags":["v1"]},"parameters":[{"description":"Pack uid","in":"path","name":"packUid","required":true,"type":"string"}]},"/v1/packs/{uid}":{"get":{"operationId":"v1PacksUid","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"A pack for the specified uid","schema":{"$ref":"#/definitions/v1PackTagEntity"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified pack","tags":["v1"]},"parameters":[{"description":"Pack uid","in":"path","name":"uid","required":true,"type":"string"}]},"/v1/packs/{uid}/readme":{"get":{"operationId":"v1PacksUidReadme","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"Readme describes the documentation of the specified pack","schema":{"$ref":"#/definitions/v1PackReadme"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the readme of a specified pack","tags":["v1"]},"parameters":[{"description":"Pack uid","in":"path","name":"uid","required":true,"type":"string"}]},"/v1/pcg/selfHosted":{"post":{"operationId":"v1PcgSelfHosted","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1PcgSelfHostedParams"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1PcgServiceKubectlCommands"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the private gateway manifest link","tags":["v1"]}},"/v1/pcg/{uid}/register":{"post":{"operationId":"v1PcgUidRegister","parameters":[{"in":"body","name":"pairingCode","schema":{"$ref":"#/definitions/v1PairingCode"}},{"in":"path","name":"uid","required":true,"type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Registers the pcg","tags":["v1"]}},"/v1/pcg/{uid}/services/ally/manifest":{"get":{"operationId":"v1PcgUidAllyManifestGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"produces":["application/octet-stream"],"responses":{"200":{"description":"download file","headers":{"Content-Disposition":{"type":"string"}},"schema":{"format":"binary","type":"string"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the pcg ally manifest","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}]},"/v1/pcg/{uid}/services/jet/manifest":{"get":{"operationId":"v1PcgUidJetManifestGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"produces":["application/octet-stream"],"responses":{"200":{"description":"download file","headers":{"Content-Disposition":{"type":"string"}},"schema":{"format":"binary","type":"string"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the pcg jet manifest","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}]},"/v1/permissions":{"get":{"operationId":"v1PermissionsList","parameters":[{"enum":["system","tenant","project","resource"],"in":"query","name":"scope","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of permissions","schema":{"$ref":"#/definitions/v1Permissions"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of permissions","tags":["v1"]}},"/v1/projects":{"get":{"description":"Deprecated: Use POST /v1/dashboard/projects","operationId":"v1ProjectsList","parameters":[{"description":"Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name","in":"query","name":"fields","type":"string"},{"description":"Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.","in":"query","name":"filters","type":"string"},{"description":"Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1","in":"query","name":"orderBy","type":"string"},{"default":50,"description":"limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.","format":"int64","in":"query","name":"limit","type":"integer"},{"description":"offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.","format":"int64","in":"query","name":"offset","type":"integer"},{"description":"continue token to paginate the subsequent data items","in":"query","name":"continue","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of projects","schema":{"$ref":"#/definitions/v1Projects"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of projects","tags":["v1"]},"post":{"operationId":"v1ProjectsCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ProjectEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Creates a project","tags":["v1"]}},"/v1/projects/alerts":{"get":{"operationId":"v1ProjectsAlerts","responses":{"200":{"description":"An array of alert components","schema":{"$ref":"#/definitions/v1ProjectAlertComponents"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of supported alerts for a project","tags":["v1"]}},"/v1/projects/{uid}":{"delete":{"operationId":"v1ProjectsUidDelete","parameters":[{"in":"query","name":"cleanupProjectResources","type":"boolean"},{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ProjectCleanup"}}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified project","tags":["v1"]},"get":{"operationId":"v1ProjectsUidGet","responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1Project"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified project","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"put":{"operationId":"v1ProjectsUidUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ProjectEntity"}}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified project","tags":["v1"]}},"/v1/projects/{uid}/alerts/{component}":{"delete":{"operationId":"v1ProjectsUidAlertDelete","responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified alert to the specified project","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"},{"in":"path","name":"component","required":true,"type":"string"}],"post":{"operationId":"v1ProjectsUidAlertCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1Channel"}}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Create the specified alert to the specified project","tags":["v1"]},"put":{"operationId":"v1ProjectsUidAlertUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1AlertEntity"}}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Upsert the specified alert to the specified project","tags":["v1"]}},"/v1/projects/{uid}/alerts/{component}/{alertUid}":{"delete":{"operationId":"v1ProjectsUidAlertsUidDelete","responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified alert of the specified project","tags":["v1"]},"get":{"operationId":"v1ProjectsUidAlertsUidGet","responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1Channel"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Get the specified alert of the specified project","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"},{"in":"path","name":"component","required":true,"type":"string"},{"in":"path","name":"alertUid","required":true,"type":"string"}],"put":{"operationId":"v1ProjectsUidAlertsUidUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1Channel"}}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Update the specified alert of the specified project","tags":["v1"]}},"/v1/projects/{uid}/macros":{"delete":{"operationId":"v1ProjectsUidMacrosDeleteByMacroName","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1Macros"}}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Delete the macros for the specified project by macro name","tags":["v1"]},"get":{"operationId":"v1ProjectsUidMacrosList","responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1Macros"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"List the macros of the specified project","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"patch":{"operationId":"v1ProjectsUidMacrosUpdateByMacroName","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1Macros"}}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Update the macros for the specified project by macro name","tags":["v1"]},"post":{"operationId":"v1ProjectsUidMacrosCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1Macros"}}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Create or add new macros for the specified project","tags":["v1"]},"put":{"operationId":"v1ProjectsUidMacrosUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1Macros"}}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Update the macros of the specified project","tags":["v1"]}},"/v1/projects/{uid}/meta":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"put":{"operationId":"v1ProjectsUidMetaUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ObjectMeta"}}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Update the metadata of the specified project","tags":["v1"]}},"/v1/projects/{uid}/preferences/clusterSettings":{"get":{"operationId":"v1ProjectClusterSettingsGet","responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1ProjectClusterSettings"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Get project cluster settings","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}]},"/v1/projects/{uid}/preferences/clusterSettings/nodesAutoRemediationSetting":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"put":{"operationId":"v1ProjectClustersNodesAutoRemediationSettingUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1NodesAutoRemediationSettings"}}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Update project clusters nodes auto remediation setting","tags":["v1"]}},"/v1/projects/{uid}/teams":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"put":{"operationId":"v1ProjectsUidTeamsUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ProjectTeamsEntity"}}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Update the teams association to the specified project","tags":["v1"]}},"/v1/projects/{uid}/users":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"put":{"operationId":"v1ProjectsUidUsersUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ProjectUsersEntity"}}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Update the users association to the specified project","tags":["v1"]}},"/v1/projects/{uid}/validate":{"delete":{"operationId":"v1ProjectsUidValidate","responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1ProjectActiveResources"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Validate and returns active resource of project before delete","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}]},"/v1/registries/helm":{"get":{"operationId":"v1RegistriesHelmList","parameters":[{"description":"Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name","in":"query","name":"fields","type":"string"},{"description":"Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.","in":"query","name":"filters","type":"string"},{"description":"Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1","in":"query","name":"orderBy","type":"string"},{"default":50,"description":"limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.","format":"int64","in":"query","name":"limit","type":"integer"},{"description":"offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.","format":"int64","in":"query","name":"offset","type":"integer"},{"description":"continue token to paginate the subsequent data items","in":"query","name":"continue","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of registry items","schema":{"$ref":"#/definitions/v1HelmRegistries"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of Helm registries","tags":["v1"]},"parameters":[{"default":"all","enum":["system","tenant","all"],"in":"query","name":"scope","type":"string"}],"post":{"operationId":"v1RegistriesHelmCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1HelmRegistryEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Creates a helm registry","tags":["v1"]}},"/v1/registries/helm/summary":{"get":{"operationId":"v1RegistriesHelmSummaryList","parameters":[{"description":"Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name","in":"query","name":"fields","type":"string"},{"description":"Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.","in":"query","name":"filters","type":"string"},{"description":"Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1","in":"query","name":"orderBy","type":"string"},{"default":50,"description":"limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.","format":"int64","in":"query","name":"limit","type":"integer"},{"description":"offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.","format":"int64","in":"query","name":"offset","type":"integer"},{"description":"continue token to paginate the subsequent data items","in":"query","name":"continue","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of registry items","schema":{"$ref":"#/definitions/v1HelmRegistriesSummary"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of helm registries as summary","tags":["v1"]},"parameters":[{"default":"all","enum":["system","tenant","all"],"in":"query","name":"scope","type":"string"}]},"/v1/registries/helm/validate":{"post":{"description":"Returns no contents if helm registry is valid else error.","operationId":"V1RegistriesHelmValidate","parameters":[{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/v1HelmRegistrySpec"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Check if helm registry is valid","tags":["v1"]}},"/v1/registries/helm/{uid}":{"delete":{"operationId":"v1RegistriesHelmUidDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified helm registry","tags":["v1"]},"get":{"operationId":"v1RegistriesHelmUidGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1HelmRegistry"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified Helm registry","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"put":{"operationId":"v1RegistriesHelmUidUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1HelmRegistry"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified helm registry","tags":["v1"]}},"/v1/registries/helm/{uid}/sync":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"},{"default":false,"in":"query","name":"forceSync","type":"boolean"}],"post":{"description":"Sync all the helm charts from the registry","operationId":"v1RegistriesHelmUidSync","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"202":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Sync Helm registry","tags":["v1"]}},"/v1/registries/helm/{uid}/sync/status":{"get":{"description":"Get the sync status for the specified helm registry","operationId":"v1RegistriesHelmUidSyncStatus","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"Helm registry sync status","schema":{"$ref":"#/definitions/v1RegistrySyncStatus"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Get helm registry sync status","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}]},"/v1/registries/metadata":{"get":{"operationId":"v1RegistriesMetadata","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of registry metadata items","schema":{"$ref":"#/definitions/v1RegistriesMetadata"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of registries metadata","tags":["v1"]},"parameters":[{"default":"all","enum":["system","tenant","all"],"in":"query","name":"scope","type":"string"}]},"/v1/registries/oci/basic":{"post":{"operationId":"v1BasicOciRegistriesCreate","parameters":[{"default":false,"in":"query","name":"skipPackSync","type":"boolean"},{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1BasicOciRegistry"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Creates a basic oci registry","tags":["v1"]}},"/v1/registries/oci/basic/validate":{"post":{"description":"Returns no contents if oci registry is valid else error.","operationId":"v1BasicOciRegistriesValidate","parameters":[{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/v1BasicOciRegistrySpec"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Check if oci registry is valid","tags":["v1"]}},"/v1/registries/oci/ecr":{"post":{"operationId":"v1EcrRegistriesCreate","parameters":[{"default":false,"in":"query","name":"skipPackSync","type":"boolean"},{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1EcrRegistry"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Creates a ecr registry","tags":["v1"]}},"/v1/registries/oci/ecr/validate":{"post":{"description":"Returns no contents if ecr registry is valid else error.","operationId":"v1EcrRegistriesValidate","parameters":[{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/v1EcrRegistrySpec"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Check if ecr registry is valid","tags":["v1"]}},"/v1/registries/oci/image":{"get":{"operationId":"v1OciImageRegistryGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1OciImageRegistry"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Creates a image registry","tags":["v1"]}},"/v1/registries/oci/summary":{"get":{"operationId":"v1OciRegistriesSummary","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of oci registry items","schema":{"$ref":"#/definitions/v1OciRegistries"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a oci registries summary","tags":["v1"]}},"/v1/registries/oci/{uid}":{"get":{"operationId":"v1OciRegistriesGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1OciRegistryEntity"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the information of specified oci registry","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"},{"in":"query","name":"clusterUid","type":"string"}]},"/v1/registries/oci/{uid}/basic":{"delete":{"operationId":"v1BasicOciRegistriesUidDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified basic oci registry","tags":["v1"]},"get":{"operationId":"v1BasicOciRegistriesUidGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1BasicOciRegistry"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the basic oci registry","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"put":{"operationId":"v1BasicOciRegistriesUidUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1BasicOciRegistry"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified basic oci registry","tags":["v1"]}},"/v1/registries/oci/{uid}/basic/sync":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"},{"default":false,"in":"query","name":"forceSync","type":"boolean"}],"post":{"description":"Sync all the content from the oci registry","operationId":"v1BasicOciRegistriesUidSync","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"202":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Sync oci registry","tags":["v1"]}},"/v1/registries/oci/{uid}/basic/sync/status":{"get":{"description":"Get sync status for the oci specified registry","operationId":"v1BasicOciRegistriesUidSyncStatus","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"Oci registry sync status","schema":{"$ref":"#/definitions/v1RegistrySyncStatus"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Get oci registry sync status","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}]},"/v1/registries/oci/{uid}/ecr":{"delete":{"operationId":"v1EcrRegistriesUidDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified ecr registry","tags":["v1"]},"get":{"operationId":"v1EcrRegistriesUidGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1EcrRegistry"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified ecr registry","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"put":{"operationId":"v1EcrRegistriesUidUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1EcrRegistry"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified ecr registry","tags":["v1"]}},"/v1/registries/oci/{uid}/ecr/sync":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"},{"default":false,"in":"query","name":"forceSync","type":"boolean"}],"post":{"description":"Sync all the content from the ecr registry","operationId":"v1EcrRegistriesUidSync","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"202":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Sync ecr registry","tags":["v1"]}},"/v1/registries/oci/{uid}/ecr/sync/status":{"get":{"description":"Get sync status for the ecr specified registry","operationId":"v1EcrRegistriesUidSyncStatus","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"Ecr registry sync status","schema":{"$ref":"#/definitions/v1RegistrySyncStatus"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Get ecr registry sync status","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}]},"/v1/registries/pack":{"get":{"operationId":"v1RegistriesPackList","parameters":[{"description":"Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name","in":"query","name":"fields","type":"string"},{"description":"Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.","in":"query","name":"filters","type":"string"},{"description":"Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1","in":"query","name":"orderBy","type":"string"},{"default":50,"description":"limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.","format":"int64","in":"query","name":"limit","type":"integer"},{"description":"offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.","format":"int64","in":"query","name":"offset","type":"integer"},{"description":"continue token to paginate the subsequent data items","in":"query","name":"continue","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of registry items","schema":{"$ref":"#/definitions/v1PackRegistries"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of Pack registries","tags":["v1"]},"parameters":[{"default":"all","enum":["system","tenant","all"],"in":"query","name":"scope","type":"string"}],"post":{"operationId":"v1RegistriesPackCreate","parameters":[{"default":false,"in":"query","name":"skipPackSync","type":"boolean"},{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1PackRegistry"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Creates a pack registry","tags":["v1"]}},"/v1/registries/pack/summary":{"get":{"operationId":"v1RegistriesPackSummaryList","parameters":[{"description":"Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name","in":"query","name":"fields","type":"string"},{"description":"Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.","in":"query","name":"filters","type":"string"},{"description":"Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1","in":"query","name":"orderBy","type":"string"},{"default":50,"description":"limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.","format":"int64","in":"query","name":"limit","type":"integer"},{"description":"offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.","format":"int64","in":"query","name":"offset","type":"integer"},{"description":"continue token to paginate the subsequent data items","in":"query","name":"continue","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of registry items","schema":{"$ref":"#/definitions/v1PackRegistriesSummary"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of pack registries as summary","tags":["v1"]},"parameters":[{"default":"all","enum":["system","tenant","all"],"in":"query","name":"scope","type":"string"}]},"/v1/registries/pack/validate":{"post":{"description":"Returns no contents if pack registry is valid else error.","operationId":"V1RegistriesPackValidate","parameters":[{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/v1PackRegistrySpec"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Check if pack registry is valid","tags":["v1"]}},"/v1/registries/pack/{uid}":{"delete":{"operationId":"v1RegistriesPackUidDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified pack registry","tags":["v1"]},"get":{"operationId":"v1RegistriesPackUidGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1PackRegistry"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified Pack registry","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"put":{"operationId":"v1RegistriesPackUidUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1PackRegistry"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified pack registry","tags":["v1"]}},"/v1/registries/pack/{uid}/sync":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"},{"default":false,"in":"query","name":"forceSync","type":"boolean"}],"post":{"description":"Sync all the packs from the registry","operationId":"v1RegistriesPackUidSync","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"202":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Sync Pack registry","tags":["v1"]}},"/v1/registries/pack/{uid}/sync/status":{"get":{"description":"Get sync status for the pack specified registry","operationId":"v1RegistriesPackUidSyncStatus","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"Pack registry sync status","schema":{"$ref":"#/definitions/v1RegistrySyncStatus"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Get pack registry sync status","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}]},"/v1/registries/{registryName}/config":{"get":{"operationId":"v1RegistriesNameConfigGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1RegistryConfigEntity"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified system scope registry configuration","tags":["v1"]},"parameters":[{"in":"path","name":"registryName","required":true,"type":"string"}]},"/v1/registries/{uid}":{"delete":{"operationId":"v1RegistriesUidDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified registry","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}]},"/v1/roles":{"get":{"operationId":"v1RolesList","parameters":[{"description":"Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name","in":"query","name":"fields","type":"string"},{"description":"Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.","in":"query","name":"filters","type":"string"},{"description":"Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1","in":"query","name":"orderBy","type":"string"},{"default":50,"description":"limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.","format":"int64","in":"query","name":"limit","type":"integer"},{"description":"offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.","format":"int64","in":"query","name":"offset","type":"integer"},{"description":"continue token to paginate the subsequent data items","in":"query","name":"continue","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1Roles"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of roles","tags":["v1"]},"post":{"operationId":"v1RolesCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1Role"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Creates a role with specified permissions","tags":["v1"]}},"/v1/roles/{uid}":{"delete":{"operationId":"v1RolesUidDelete","responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified role","tags":["v1"]},"get":{"operationId":"v1RolesUidGet","responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1Role"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified role","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"put":{"operationId":"v1RolesUidUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1Role"}}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified role","tags":["v1"]}},"/v1/roles/{uid}/clone":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"post":{"operationId":"v1RolesClone","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1RoleClone"}}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Clone the role","tags":["v1"]}},"/v1/services/{serviceName}/version":{"get":{"operationId":"v1ServiceVersionGet","parameters":[{"description":"service name","enum":["ally","jet","palette","ambit","ally-lite","palette-lite","crony","tick","edge","lodge","level","edgeconfig","firth","stylus"],"in":"path","name":"serviceName","required":true,"type":"string"},{"description":"spectro cluster uid","in":"query","name":"clusterUid","type":"string"},{"description":"edge host uid","in":"query","name":"edgeHostUid","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1ServiceVersion"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns a latest version for a given service name","tags":["v1"]}},"/v1/services/{serviceName}/versions/{version}/manifest":{"get":{"operationId":"v1ServiceManifestGet","parameters":[{"description":"service name","enum":["ally","jet","palette","ambit","ally-lite","palette-lite","crony","tick","edge","lodge","level","edgeconfig","firth","stylus"],"in":"path","name":"serviceName","required":true,"type":"string"},{"description":"service version","in":"path","name":"version","required":true,"type":"string"},{"description":"action type","enum":["apply","delete","resources"],"in":"query","name":"action","required":true,"type":"string"},{"description":"resource file name","in":"query","name":"resourceFilename","type":"string"},{"description":"spectro cluster uid","in":"query","name":"clusterUid","type":"string"},{"description":"edge host uid","in":"query","name":"edgeHostUid","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1ServiceManifest"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns a service manifest for a given service name and version","tags":["v1"]}},"/v1/spectroclusters/agents/{messageKey}/notify":{"post":{"operationId":"V1SpectroClustersAgentsNotify","parameters":[{"in":"path","name":"messageKey","required":true,"type":"string"},{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroClustersAgentsNotifyEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"tags":["v1"]}},"/v1/spectroclusters/aks":{"post":{"operationId":"v1SpectroClustersAksCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroAzureClusterEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Creates an AKS cluster","tags":["v1"]}},"/v1/spectroclusters/aks/rate":{"post":{"operationId":"v1SpectroClustersAksRate","parameters":[{"default":"hourly","enum":["hourly","monthly","yearly"],"in":"query","name":"periodType","type":"string"},{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroAzureClusterRateEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"Aks Cluster estimated rate response","schema":{"$ref":"#/definitions/v1SpectroClusterRate"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Get AKS cluster estimated rate information","tags":["v1"]}},"/v1/spectroclusters/aks/validate":{"post":{"operationId":"v1SpectroClustersAksValidate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroAzureClusterEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"Aks Cluster validation response","schema":{"$ref":"#/definitions/v1SpectroClusterValidatorResponse"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Validates AKS cluster create operation","tags":["v1"]}},"/v1/spectroclusters/aws":{"post":{"operationId":"v1SpectroClustersAwsCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroAwsClusterEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Creates an AWS cluster","tags":["v1"]}},"/v1/spectroclusters/aws/import":{"post":{"operationId":"v1SpectroClustersAwsImport","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroAwsClusterImportEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Imports an AWS cluster","tags":["v1"]}},"/v1/spectroclusters/aws/rate":{"post":{"operationId":"v1SpectroClustersAwsRate","parameters":[{"default":"hourly","enum":["hourly","monthly","yearly"],"in":"query","name":"periodType","type":"string"},{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroAwsClusterRateEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"Aws Cluster estimated rate response","schema":{"$ref":"#/definitions/v1SpectroClusterRate"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Get AWS cluster estimated rate information","tags":["v1"]}},"/v1/spectroclusters/aws/validate":{"post":{"operationId":"v1SpectroClustersAwsValidate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroAwsClusterEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"Aws Cluster validation response","schema":{"$ref":"#/definitions/v1SpectroClusterValidatorResponse"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Validates AWS cluster create operation","tags":["v1"]}},"/v1/spectroclusters/azure":{"post":{"operationId":"v1SpectroClustersAzureCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroAzureClusterEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Creates an Azure cluster","tags":["v1"]}},"/v1/spectroclusters/azure/import":{"post":{"operationId":"v1SpectroClustersAzureImport","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroAzureClusterImportEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Imports an Azure cluster","tags":["v1"]}},"/v1/spectroclusters/azure/rate":{"post":{"operationId":"v1SpectroClustersAzureRate","parameters":[{"default":"hourly","enum":["hourly","monthly","yearly"],"in":"query","name":"periodType","type":"string"},{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroAzureClusterRateEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"Azure Cluster estimated rate response","schema":{"$ref":"#/definitions/v1SpectroClusterRate"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Get Azure cluster estimated rate information","tags":["v1"]}},"/v1/spectroclusters/azure/validate":{"post":{"operationId":"v1SpectroClustersAzureValidate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroAzureClusterEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"Azure Cluster validation response","schema":{"$ref":"#/definitions/v1SpectroClusterValidatorResponse"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Validates Azure cluster create operation","tags":["v1"]}},"/v1/spectroclusters/cloudTypes/{cloudType}":{"parameters":[{"description":"Cluster's cloud type","in":"path","name":"cloudType","required":true,"type":"string"}],"post":{"operationId":"v1SpectroClustersCustomCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroCustomClusterEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Creates a Custom cluster","tags":["v1"]}},"/v1/spectroclusters/cloudTypes/{cloudType}/validate":{"parameters":[{"description":"Cluster's cloud type","in":"path","name":"cloudType","required":true,"type":"string"}],"post":{"operationId":"v1SpectroClustersCustomValidate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroCustomClusterEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"Custom Cluster validation response","schema":{"$ref":"#/definitions/v1SpectroClusterValidatorResponse"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Validates Custom cluster create operation","tags":["v1"]}},"/v1/spectroclusters/config/edgeInstaller":{"get":{"operationId":"v1SpectroClustersConfigEdgeInstaller","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1ClusterEdgeInstallerConfig"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Cluster configuration for the edge installer","tags":["v1"]}},"/v1/spectroclusters/coxedge":{"post":{"operationId":"v1SpectroClustersCoxEdgeCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroCoxEdgeClusterEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Creates a CoxEdge cluster","tags":["v1"]}},"/v1/spectroclusters/coxedge/rate":{"post":{"operationId":"v1SpectroClustersCoxEdgeRate","parameters":[{"default":"hourly","enum":["hourly","monthly","yearly"],"in":"query","name":"periodType","type":"string"},{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroCoxEdgeClusterRateEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"Azure Cluster estimated rate response","schema":{"$ref":"#/definitions/v1SpectroClusterRate"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Get Cox Edge cluster estimated rate information","tags":["v1"]}},"/v1/spectroclusters/coxedge/validate":{"post":{"operationId":"v1SpectroClustersCoxEdgeValidate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroCoxEdgeClusterEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"Azure Cluster validation response","schema":{"$ref":"#/definitions/v1SpectroClusterValidatorResponse"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Validates Cox Edge cluster create operation","tags":["v1"]}},"/v1/spectroclusters/edge":{"post":{"operationId":"v1SpectroClustersEdgeCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroEdgeClusterEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Creates a Edge cluster","tags":["v1"]}},"/v1/spectroclusters/edge-native":{"post":{"operationId":"v1SpectroClustersEdgeNativeCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroEdgeNativeClusterEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Creates an EdgeNative cluster","tags":["v1"]}},"/v1/spectroclusters/edge-native/import":{"post":{"operationId":"v1SpectroClustersEdgeNativeImport","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroEdgeNativeClusterImportEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Imports an EdgeNative cluster","tags":["v1"]}},"/v1/spectroclusters/edge-native/rate":{"post":{"operationId":"v1SpectroClustersEdgeNativeRate","parameters":[{"default":"hourly","enum":["hourly","monthly","yearly"],"in":"query","name":"periodType","type":"string"},{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroEdgeNativeClusterRateEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"EdgeNative Cluster estimated rate response","schema":{"$ref":"#/definitions/v1SpectroClusterRate"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Get edge-native cluster estimated rate information","tags":["v1"]}},"/v1/spectroclusters/edge-native/validate":{"post":{"operationId":"v1SpectroClustersEdgeNativeValidate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroEdgeNativeClusterEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"EdgeNative Cluster validation response","schema":{"$ref":"#/definitions/v1SpectroClusterValidatorResponse"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Validates edge-native cluster create operation","tags":["v1"]}},"/v1/spectroclusters/edge/import":{"post":{"operationId":"v1SpectroClustersEdgeImport","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroEdgeClusterImportEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Imports an Edge cluster","tags":["v1"]}},"/v1/spectroclusters/edge/rate":{"post":{"operationId":"v1SpectroClustersEdgeRate","parameters":[{"default":"hourly","enum":["hourly","monthly","yearly"],"in":"query","name":"periodType","type":"string"},{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroEdgeClusterRateEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"Edge Cluster estimated rate response","schema":{"$ref":"#/definitions/v1SpectroClusterRate"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Get edge cluster estimated rate information","tags":["v1"]}},"/v1/spectroclusters/edge/validate":{"post":{"operationId":"v1SpectroClustersEdgeValidate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroEdgeClusterEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"edge Cluster validation response","schema":{"$ref":"#/definitions/v1SpectroClusterValidatorResponse"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Validates edge cluster create operation","tags":["v1"]}},"/v1/spectroclusters/eks":{"post":{"operationId":"v1SpectroClustersEksCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroEksClusterEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Creates an EKS cluster","tags":["v1"]}},"/v1/spectroclusters/eks/rate":{"post":{"operationId":"v1SpectroClustersEksRate","parameters":[{"default":"hourly","enum":["hourly","monthly","yearly"],"in":"query","name":"periodType","type":"string"},{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroEksClusterRateEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"Eks Cluster estimated rate response","schema":{"$ref":"#/definitions/v1SpectroClusterRate"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Get EKS cluster estimated rate information","tags":["v1"]}},"/v1/spectroclusters/eks/validate":{"post":{"operationId":"v1SpectroClustersEksValidate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroEksClusterEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"Eks Cluster validation response","schema":{"$ref":"#/definitions/v1SpectroClusterValidatorResponse"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Validates EKS cluster create operation","tags":["v1"]}},"/v1/spectroclusters/features/backup/locations/{uid}":{"get":{"operationId":"V1ClusterFeatureBackupLocationUidGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1ClusterRefs"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the cluster object references based on locationUid","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"put":{"operationId":"V1ClusterFeatureBackupLocationUidChange","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ClusterBackupLocationType"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Change cluster backup location","tags":["v1"]}},"/v1/spectroclusters/features/logFetcher/{uid}/download":{"get":{"operationId":"v1ClusterFeatureLogFetcherLogDownload","parameters":[{"in":"query","name":"fileName","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"produces":["application/octet-stream"],"responses":{"200":{"description":"OK","headers":{"Content-Disposition":{"type":"string"},"Content-Type":{"type":"string"}},"schema":{"type":"file"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Download log fetcher logs for cluster by log fetcher uid","tags":["v1"]},"parameters":[{"description":"Cluster uid for which log is requested","in":"path","name":"uid","required":true,"type":"string"}]},"/v1/spectroclusters/features/logFetcher/{uid}/log":{"parameters":[{"description":"Cluster uid for which log is requested","in":"path","name":"uid","required":true,"type":"string"}],"post":{"consumes":["multipart/form-data"],"operationId":"v1ClusterFeatureLogFetcherLogUpdate","parameters":[{"description":"Log file by agent","in":"formData","name":"fileName","type":"file"},{"description":"Unique request Id","in":"query","name":"requestId","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Update log fetcher logs by log fetcher uid","tags":["v1"]}},"/v1/spectroclusters/gcp":{"post":{"operationId":"v1SpectroClustersGcpCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroGcpClusterEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Creates a GCP cluster","tags":["v1"]}},"/v1/spectroclusters/gcp/import":{"post":{"operationId":"v1SpectroClustersGcpImport","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroGcpClusterImportEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Imports a GCP cluster","tags":["v1"]}},"/v1/spectroclusters/gcp/rate":{"post":{"operationId":"v1SpectroClustersGcpRate","parameters":[{"default":"hourly","enum":["hourly","monthly","yearly"],"in":"query","name":"periodType","type":"string"},{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroGcpClusterRateEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"Gcp Cluster estimated rate response","schema":{"$ref":"#/definitions/v1SpectroClusterRate"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Get GCP cluster estimated rate information","tags":["v1"]}},"/v1/spectroclusters/gcp/validate":{"post":{"operationId":"v1SpectroClustersGcpValidate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroGcpClusterEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"Gcp Cluster validation response","schema":{"$ref":"#/definitions/v1SpectroClusterValidatorResponse"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Validates GCP cluster create operation","tags":["v1"]}},"/v1/spectroclusters/generic/import":{"post":{"description":"The machines information will be captured, whereas the cloud specific configuration info will not be retrieved","operationId":"v1SpectroClustersGenericImport","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroGenericClusterImportEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Imports a cluster of any cloud type in generic way","tags":["v1"]}},"/v1/spectroclusters/generic/rate":{"post":{"operationId":"v1SpectroClustersGenericRate","parameters":[{"default":"hourly","enum":["hourly","monthly","yearly"],"in":"query","name":"periodType","type":"string"},{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroGenericClusterRateEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"Genric Cluster estimated rate response","schema":{"$ref":"#/definitions/v1SpectroClusterRate"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Get generic cluster estimated rate information","tags":["v1"]}},"/v1/spectroclusters/gke":{"post":{"operationId":"v1SpectroClustersGkeCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroGcpClusterEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Creates an GKE cluster","tags":["v1"]}},"/v1/spectroclusters/gke/rate":{"post":{"operationId":"v1SpectroClustersGkeRate","parameters":[{"default":"hourly","enum":["hourly","monthly","yearly"],"in":"query","name":"periodType","type":"string"},{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroGcpClusterRateEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"Gke Cluster estimated rate response","schema":{"$ref":"#/definitions/v1SpectroClusterRate"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Get GKE cluster estimated rate information","tags":["v1"]}},"/v1/spectroclusters/gke/validate":{"post":{"operationId":"v1SpectroClustersGkeValidate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroGcpClusterEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"Gke Cluster validation response","schema":{"$ref":"#/definitions/v1SpectroClusterValidatorResponse"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Validates GKE cluster create operation","tags":["v1"]}},"/v1/spectroclusters/libvirt":{"post":{"operationId":"v1SpectroClustersLibvirtCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroLibvirtClusterEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Creates a Libvirt cluster","tags":["v1"]}},"/v1/spectroclusters/libvirt/import":{"post":{"operationId":"v1SpectroClustersLibvirtImport","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroLibvirtClusterImportEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Imports a libvirt cluster","tags":["v1"]}},"/v1/spectroclusters/libvirt/rate":{"post":{"operationId":"v1SpectroClustersLibvirtRate","parameters":[{"default":"hourly","enum":["hourly","monthly","yearly"],"in":"query","name":"periodType","type":"string"},{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroLibvirtClusterRateEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"Libvirt Cluster estimated rate response","schema":{"$ref":"#/definitions/v1SpectroClusterRate"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Get libvirt cluster estimated rate information","tags":["v1"]}},"/v1/spectroclusters/libvirt/validate":{"post":{"operationId":"v1SpectroClustersLibvirtValidate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroLibvirtClusterEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"Libvirt Cluster validation response","schema":{"$ref":"#/definitions/v1SpectroClusterValidatorResponse"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Validates libvirt cluster create operation","tags":["v1"]}},"/v1/spectroclusters/maas":{"post":{"operationId":"v1SpectroClustersMaasCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroMaasClusterEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Creates a MAAS cluster","tags":["v1"]}},"/v1/spectroclusters/maas/import":{"post":{"operationId":"v1SpectroClustersMaasImport","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroMaasClusterImportEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Imports a Maas cluster","tags":["v1"]}},"/v1/spectroclusters/maas/rate":{"post":{"operationId":"v1SpectroClustersMaasRate","parameters":[{"default":"hourly","enum":["hourly","monthly","yearly"],"in":"query","name":"periodType","type":"string"},{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroMaasClusterRateEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"Maas Cluster estimated rate response","schema":{"$ref":"#/definitions/v1SpectroClusterRate"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Get maas cluster estimated rate information","tags":["v1"]}},"/v1/spectroclusters/maas/validate":{"post":{"operationId":"v1SpectroClustersMaasValidate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroMaasClusterEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"Maas Cluster validation response","schema":{"$ref":"#/definitions/v1SpectroClusterValidatorResponse"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Validates MAAS cluster create operation","tags":["v1"]}},"/v1/spectroclusters/openstack":{"post":{"operationId":"v1SpectroClustersOpenStackCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroOpenStackClusterEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Creates a OpenStack cluster","tags":["v1"]}},"/v1/spectroclusters/openstack/import":{"post":{"operationId":"v1SpectroClustersOpenStackImport","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroOpenStackClusterImportEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Imports an OpenStack cluster","tags":["v1"]}},"/v1/spectroclusters/openstack/rate":{"post":{"operationId":"v1SpectroClustersOpenStackRate","parameters":[{"default":"hourly","enum":["hourly","monthly","yearly"],"in":"query","name":"periodType","type":"string"},{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroOpenStackClusterRateEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"Openstack Cluster estimated rate response","schema":{"$ref":"#/definitions/v1SpectroClusterRate"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Get openstack cluster estimated rate information","tags":["v1"]}},"/v1/spectroclusters/openstack/validate":{"post":{"operationId":"v1SpectroClustersOpenStackValidate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroOpenStackClusterEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"vSphere Cluster validation response","schema":{"$ref":"#/definitions/v1SpectroClusterValidatorResponse"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Validates OpenStack cluster create operation","tags":["v1"]}},"/v1/spectroclusters/spc/download":{"post":{"operationId":"v1SpectroClustersSpcDownload","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ClusterDefinitionEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"produces":["application/octet-stream"],"responses":{"200":{"description":"Cluster definition archive file","headers":{"Content-Disposition":{"type":"string"}},"schema":{"format":"binary","type":"string"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Downloads the cluster definition archive file","tags":["v1"]}},"/v1/spectroclusters/tke":{"post":{"operationId":"v1SpectroClustersTkeCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroTencentClusterEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Creates a Tke cluster","tags":["v1"]}},"/v1/spectroclusters/tke/rate":{"post":{"operationId":"v1SpectroClustersTkeRate","parameters":[{"default":"hourly","enum":["hourly","monthly","yearly"],"in":"query","name":"periodType","type":"string"},{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroTencentClusterRateEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"Tke Cluster estimated rate response","schema":{"$ref":"#/definitions/v1SpectroClusterRate"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Get TKE cluster estimated rate information","tags":["v1"]}},"/v1/spectroclusters/tke/validate":{"post":{"operationId":"v1SpectroClustersTkeValidate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroTencentClusterEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"Tke Cluster validation response","schema":{"$ref":"#/definitions/v1SpectroClusterValidatorResponse"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Validates TKE cluster create operation","tags":["v1"]}},"/v1/spectroclusters/upgrade/settings":{"get":{"operationId":"v1SpectroClustersUpgradeSettingsGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1ClusterUpgradeSettingsEntity"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Get cluster settings by context","tags":["v1"]}},"/v1/spectroclusters/validate/name":{"get":{"operationId":"v1SpectroClustersValidateName","parameters":[{"description":"Cluster name","in":"query","name":"name","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Validates the cluster name","tags":["v1"]}},"/v1/spectroclusters/validate/packs":{"post":{"operationId":"v1SpectroClustersValidatePacks","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroClusterPacksEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"Cluster packs validation response","schema":{"$ref":"#/definitions/v1SpectroClusterValidatorResponse"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Validates spectro cluster packs","tags":["v1"]}},"/v1/spectroclusters/virtual":{"post":{"operationId":"v1SpectroClustersVirtualCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroVirtualClusterEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Creates a virtual cluster","tags":["v1"]}},"/v1/spectroclusters/virtual/packs/values":{"get":{"operationId":"v1VirtualClustersPacksValues","parameters":[{"default":"k3s","description":"Kubernetes distribution type","enum":["k3s","cncf_k8s"],"in":"query","name":"kubernetesDistroType","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"Successful response","schema":{"$ref":"#/definitions/v1ClusterVirtualPacksValues"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Get the cluster pack values yaml","tags":["v1"]}},"/v1/spectroclusters/virtual/validate":{"post":{"operationId":"v1SpectroClustersVirtualValidate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroVirtualClusterEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"Virtual Cluster validation response","schema":{"$ref":"#/definitions/v1SpectroClusterValidatorResponse"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Validates virtual cluster create operation","tags":["v1"]}},"/v1/spectroclusters/vsphere":{"post":{"operationId":"v1SpectroClustersVsphereCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroVsphereClusterEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Creates a vSphere cluster","tags":["v1"]}},"/v1/spectroclusters/vsphere/import":{"post":{"operationId":"v1SpectroClustersVsphereImport","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroVsphereClusterImportEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Imports a vSphere cluster","tags":["v1"]}},"/v1/spectroclusters/vsphere/rate":{"post":{"operationId":"v1SpectroClustersVsphereRate","parameters":[{"default":"hourly","enum":["hourly","monthly","yearly"],"in":"query","name":"periodType","type":"string"},{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroVsphereClusterRateEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"Vsphere Cluster estimated rate response","schema":{"$ref":"#/definitions/v1SpectroClusterRate"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Get vSphere cluster estimated rate information","tags":["v1"]}},"/v1/spectroclusters/vsphere/validate":{"post":{"operationId":"v1SpectroClustersVsphereValidate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroVsphereClusterEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"vSphere Cluster validation response","schema":{"$ref":"#/definitions/v1SpectroClusterValidatorResponse"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Validates vSphere cluster create operation","tags":["v1"]}},"/v1/spectroclusters/{uid}":{"delete":{"operationId":"v1SpectroClustersDelete","parameters":[{"description":"If set to true the cluster will be force deleted and user has to manually clean up the provisioned cloud resources","in":"query","name":"forceDelete","type":"boolean"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified cluster","tags":["v1"]},"get":{"operationId":"v1SpectroClustersGet","parameters":[{"description":"Comma separated tags like system,profile","in":"query","name":"includeTags","type":"string"},{"default":false,"description":"Resolve pack values if set to true","in":"query","name":"resolvePackValues","type":"boolean"},{"description":"Includes pack meta such as schema, presets","in":"query","name":"includePackMeta","type":"string"},{"description":"Filter cluster profile templates by profileType","in":"query","name":"profileType","type":"string"},{"default":false,"description":"Include non spectro labels in the cluster labels if set to true","in":"query","name":"includeNonSpectroLabels","type":"boolean"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1SpectroCluster"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified cluster","tags":["v1"]},"parameters":[{"description":"Cluster uid","in":"path","name":"uid","required":true,"type":"string"}]},"/v1/spectroclusters/{uid}/assets":{"get":{"operationId":"v1SpectroClustersUidAssetsGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1SpectroClusterAssetEntity"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Get the cluster asset doc","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"post":{"operationId":"v1SpectroClustersUidAssets","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroClusterAssetEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Associate the assets for the cluster","tags":["v1"]}},"/v1/spectroclusters/{uid}/assets/adminKubeconfig":{"get":{"operationId":"v1SpectroClustersUidAdminKubeConfig","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"produces":["application/octet-stream"],"responses":{"200":{"description":"download file","headers":{"Content-Disposition":{"type":"string"}},"schema":{"format":"binary","type":"string"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified cluster's kube config file","tags":["v1"]},"parameters":[{"description":"Cluster uid","in":"path","name":"uid","required":true,"type":"string"}]},"/v1/spectroclusters/{uid}/assets/frpKubeconfig":{"delete":{"operationId":"v1SpectroClustersUidFrpKubeConfigDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the cluster's frp kube config client data","tags":["v1"]},"get":{"operationId":"v1SpectroClustersUidFrpKubeConfigGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"produces":["application/octet-stream"],"responses":{"200":{"description":"download file","headers":{"Content-Disposition":{"type":"string"}},"schema":{"format":"binary","type":"string"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified cluster's frp kube config file","tags":["v1"]},"parameters":[{"description":"Cluster uid","in":"path","name":"uid","required":true,"type":"string"}],"put":{"operationId":"v1SpectroClustersUidFrpKubeConfigUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroClusterAssetFrpKubeConfig"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the cluster's frp kube config data","tags":["v1"]}},"/v1/spectroclusters/{uid}/assets/kubeconfig":{"get":{"operationId":"v1SpectroClustersUidKubeConfig","parameters":[{"default":true,"description":"FRP (reverse-proxy) based kube config will be returned if available","in":"query","name":"frp","type":"boolean"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"produces":["application/octet-stream"],"responses":{"200":{"description":"download file","headers":{"Content-Disposition":{"type":"string"}},"schema":{"format":"binary","type":"string"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified cluster's kube config file","tags":["v1"]},"parameters":[{"description":"Cluster uid","in":"path","name":"uid","required":true,"type":"string"}],"put":{"operationId":"v1SpectroClustersUidKubeConfigUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroClusterAssetKubeConfig"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the cluster's manifest data","tags":["v1"]}},"/v1/spectroclusters/{uid}/assets/kubeconfigclient":{"delete":{"operationId":"v1SpectroClustersUidKubeConfigClientDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the cluster's kube config client data","tags":["v1"]},"get":{"operationId":"v1SpectroClustersUidKubeConfigClientGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"produces":["application/octet-stream"],"responses":{"200":{"description":"download file","headers":{"Content-Disposition":{"type":"string"}},"schema":{"format":"binary","type":"string"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified cluster's kube config client file","tags":["v1"]},"parameters":[{"description":"Cluster uid","in":"path","name":"uid","required":true,"type":"string"}],"put":{"operationId":"v1SpectroClustersUidKubeConfigClientUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroClusterAssetKubeConfigClient"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the cluster's kube config client data","tags":["v1"]}},"/v1/spectroclusters/{uid}/assets/manifest":{"get":{"operationId":"v1SpectroClustersUidManifestGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"type":"string"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified cluster's manifest data","tags":["v1"]},"parameters":[{"description":"Cluster uid","in":"path","name":"uid","required":true,"type":"string"}],"put":{"operationId":"v1SpectroClustersUidManifestUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroClusterAssetManifest"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified cluster's manifest data","tags":["v1"]}},"/v1/spectroclusters/{uid}/clusterConfig/clusterMetaAttribute":{"parameters":[{"description":"Cluster uid","in":"path","name":"uid","required":true,"type":"string"}],"patch":{"operationId":"v1SpectroClustersUidClusterMetaAttributeUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ClusterMetaAttributeEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified cluster meta attribute","tags":["v1"]}},"/v1/spectroclusters/{uid}/clusterConfig/controlPlaneHealthCheckTimeout":{"parameters":[{"description":"Cluster uid","in":"path","name":"uid","required":true,"type":"string"}],"patch":{"operationId":"V1ControlPlaneHealthCheckTimeoutUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ControlPlaneHealthCheckTimeoutEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified cluster controlPlane health check timeout","tags":["v1"]}},"/v1/spectroclusters/{uid}/clusterConfig/hostCluster":{"parameters":[{"description":"Cluster uid","in":"path","name":"uid","required":true,"type":"string"}],"patch":{"operationId":"V1HostClusterConfigUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1HostClusterConfigEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified cluster host config","tags":["v1"]}},"/v1/spectroclusters/{uid}/clusterConfig/lifecycleConfig":{"parameters":[{"description":"Cluster uid","in":"path","name":"uid","required":true,"type":"string"}],"patch":{"operationId":"v1SpectroClustersUidLifecycleConfigUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1LifecycleConfigEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified cluster Life cycle configuration","tags":["v1"]}},"/v1/spectroclusters/{uid}/clusterConfig/osPatch":{"parameters":[{"description":"Cluster uid","in":"path","name":"uid","required":true,"type":"string"}],"patch":{"operationId":"v1SpectroClustersUidOsPatchUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1OsPatchEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified cluster OS patch configuration","tags":["v1"]}},"/v1/spectroclusters/{uid}/config/namespaces":{"get":{"operationId":"v1SpectroClustersUidConfigNamespacesGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1ClusterNamespaceResources"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves namespaces for the specified cluster","tags":["v1"]},"parameters":[{"description":"Cluster uid","in":"path","name":"uid","required":true,"type":"string"}],"put":{"operationId":"v1SpectroClustersUidConfigNamespacesUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ClusterNamespaceResourcesUpdateEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates namespaces for the specified cluster","tags":["v1"]}},"/v1/spectroclusters/{uid}/config/namespaces/{namespaceUid}":{"get":{"operationId":"v1SpectroClustersUidConfigNamespacesUidGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"Cluster's namespace response","schema":{"$ref":"#/definitions/v1ClusterNamespaceResource"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves the specified namespace of the cluster","tags":["v1"]},"parameters":[{"description":"Cluster uid","in":"path","name":"uid","required":true,"type":"string"},{"description":"Cluster namespace uid","in":"path","name":"namespaceUid","required":true,"type":"string"}],"put":{"operationId":"v1SpectroClustersUidConfigNamespacesUidUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ClusterNamespaceResourceInputEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified namespace of the cluster","tags":["v1"]}},"/v1/spectroclusters/{uid}/config/rbacs":{"get":{"operationId":"v1SpectroClustersUidConfigRbacsGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1ClusterRbacs"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves RBAC information for the specified cluster","tags":["v1"]},"parameters":[{"description":"Cluster uid","in":"path","name":"uid","required":true,"type":"string"}],"put":{"operationId":"v1SpectroClustersUidConfigRbacsUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ClusterRbacResourcesUpdateEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates RBAC information for the specified cluster","tags":["v1"]}},"/v1/spectroclusters/{uid}/config/rbacs/{rbacUid}":{"get":{"operationId":"v1SpectroClustersUidConfigRbacsUidGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"Cluster's RBAC response","schema":{"$ref":"#/definitions/v1ClusterRbac"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves the specified RBAC of the cluster","tags":["v1"]},"parameters":[{"description":"Cluster uid","in":"path","name":"uid","required":true,"type":"string"},{"description":"RBAC resource uid","in":"path","name":"rbacUid","required":true,"type":"string"}],"put":{"operationId":"v1SpectroClustersUidConfigRbacsUidUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ClusterRbacInputEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified RBAC of the cluster","tags":["v1"]}},"/v1/spectroclusters/{uid}/download":{"get":{"operationId":"v1SpectroClustersUidDownload","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"produces":["application/octet-stream"],"responses":{"200":{"description":"download cluster archive file","headers":{"Content-Disposition":{"type":"string"}},"schema":{"format":"binary","type":"string"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Download the specified cluster","tags":["v1"]},"parameters":[{"description":"Cluster uid","in":"path","name":"uid","required":true,"type":"string"}]},"/v1/spectroclusters/{uid}/edge-native/edgeHosts":{"get":{"operationId":"v1EdgeNativeClustersHostsList","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"List of edge host device","schema":{"$ref":"#/definitions/v1EdgeHostDevices"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of edge host of edge-native cluster","tags":["v1"]},"parameters":[{"description":"Cluster uid","in":"path","name":"uid","required":true,"type":"string"}]},"/v1/spectroclusters/{uid}/edge/edgeHosts":{"get":{"operationId":"v1EdgeClustersHostsList","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"List of edge host device","schema":{"$ref":"#/definitions/v1EdgeHostDevices"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of edge host of libvirt cluster","tags":["v1"]},"parameters":[{"description":"Cluster uid","in":"path","name":"uid","required":true,"type":"string"}]},"/v1/spectroclusters/{uid}/features/backup":{"delete":{"operationId":"v1ClusterFeatureBackupScheduleReset","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Reset cluster backup schedule settings","tags":["v1"]},"get":{"operationId":"v1ClusterFeatureBackupGet","parameters":[{"in":"query","name":"backupRequestUid","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1ClusterBackup"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the cluster backup result","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"post":{"operationId":"v1ClusterFeatureBackupCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ClusterBackupConfig"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Create cluster backup settings","tags":["v1"]},"put":{"operationId":"v1ClusterFeatureBackupUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ClusterBackupConfig"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Update cluster backup settings","tags":["v1"]}},"/v1/spectroclusters/{uid}/features/backup/onDemand":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"post":{"operationId":"v1ClusterFeatureBackupOnDemandCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ClusterBackupConfig"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Create on demand cluster backup","tags":["v1"]}},"/v1/spectroclusters/{uid}/features/backup/{backupName}/request/{requestUid}":{"delete":{"operationId":"v1ClusterFeatureBackupDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Delete cluster backup","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"},{"in":"path","name":"backupName","required":true,"type":"string"},{"in":"path","name":"requestUid","required":true,"type":"string"}]},"/v1/spectroclusters/{uid}/features/complianceScan":{"get":{"operationId":"v1ClusterFeatureComplianceScanGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1ClusterComplianceScan"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the compliance scan of cluster, if driverType is provided then specific status of driverType will be returned","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"post":{"operationId":"v1ClusterFeatureComplianceScanCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ClusterComplianceScheduleConfig"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Create cluster compliance scan","tags":["v1"]},"put":{"operationId":"v1ClusterFeatureComplianceScanUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ClusterComplianceScheduleConfig"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Update cluster compliance scan settings","tags":["v1"]}},"/v1/spectroclusters/{uid}/features/complianceScan/logs/drivers":{"get":{"operationId":"v1ClusterFeatureComplianceScanLogsGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1ClusterComplianceScanLogs"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the compliance scan log by cluster uid and driver type","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}]},"/v1/spectroclusters/{uid}/features/complianceScan/logs/drivers/kubeBench":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"put":{"operationId":"v1ClusterFeatureScanKubeBenchLogUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1KubeBenchEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Update the KubeBench compliance scan log by uid","tags":["v1"]}},"/v1/spectroclusters/{uid}/features/complianceScan/logs/drivers/kubeHunter":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"put":{"operationId":"v1ClusterFeatureScanKubeHunterLogUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1KubeHunterEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Update the KubeHunter compliance scan log by uid","tags":["v1"]}},"/v1/spectroclusters/{uid}/features/complianceScan/logs/drivers/sonobuoy":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"put":{"operationId":"v1ClusterFeatureScanSonobuoyLogUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SonobuoyEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Update the Sonobuoy compliance scan log by uid","tags":["v1"]}},"/v1/spectroclusters/{uid}/features/complianceScan/logs/drivers/syft":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"patch":{"operationId":"v1ClusterFeatureScanSyftLogUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SyftEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Update the Syft compliance scan log by uid","tags":["v1"]}},"/v1/spectroclusters/{uid}/features/complianceScan/logs/{logUid}":{"delete":{"operationId":"v1ClusterFeatureComplianceScanLogDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Delete the compliance scan log by uid","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"},{"in":"path","name":"logUid","required":true,"type":"string"}]},"/v1/spectroclusters/{uid}/features/complianceScan/logs/{logUid}/drivers/kubeBench":{"get":{"operationId":"v1ClusterFeatureKubeBenchLogGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1ClusterScanLogKubeBench"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the KubeBench compliance scan log by uid","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"},{"in":"path","name":"logUid","required":true,"type":"string"},{"in":"query","name":"reportId","type":"string"}]},"/v1/spectroclusters/{uid}/features/complianceScan/logs/{logUid}/drivers/kubeHunter":{"get":{"operationId":"v1ClusterFeatureKubeHunterLogGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1ClusterScanLogKubeHunter"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the KubeHunter compliance scan log by uid","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"},{"in":"path","name":"logUid","required":true,"type":"string"},{"in":"query","name":"reportId","type":"string"}]},"/v1/spectroclusters/{uid}/features/complianceScan/logs/{logUid}/drivers/sonobuoy":{"get":{"operationId":"v1ClusterFeatureSonobuoyLogGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1ClusterScanLogSonobuoy"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the Sonobuoy compliance scan log by uid","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"},{"in":"path","name":"logUid","required":true,"type":"string"},{"in":"query","name":"reportId","type":"string"}]},"/v1/spectroclusters/{uid}/features/complianceScan/logs/{logUid}/drivers/syft":{"get":{"operationId":"v1ClusterFeatureSyftLogGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1ClusterScanLogSyft"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the Syft compliance scan log by uid","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"},{"in":"path","name":"logUid","required":true,"type":"string"}]},"/v1/spectroclusters/{uid}/features/complianceScan/logs/{logUid}/drivers/syft/sbom":{"get":{"operationId":"v1SyftScanLogImageSBOMGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"produces":["application/octet-stream"],"responses":{"200":{"description":"download file","headers":{"Content-Disposition":{"type":"string"}},"schema":{"format":"binary","type":"string"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the image sbom of syft scan log of cluster","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"},{"in":"path","name":"logUid","required":true,"type":"string"},{"in":"query","name":"image","type":"string"}]},"/v1/spectroclusters/{uid}/features/complianceScan/logs/{logUid}/drivers/{driver}/download":{"get":{"operationId":"v1ClusterFeatureDriverLogDownload","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"produces":["application/octet-stream"],"responses":{"200":{"description":"OK","headers":{"Content-Disposition":{"type":"string"},"Content-Type":{"type":"string"}},"schema":{"type":"file"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Downloads the driver cluster logs","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"},{"in":"path","name":"logUid","required":true,"type":"string"},{"enum":["kubeBench","kubeHunter","sonobuoy","syft"],"in":"path","name":"driver","required":true,"type":"string"},{"default":"pdf","in":"query","name":"fileFormat","type":"string"}]},"/v1/spectroclusters/{uid}/features/complianceScan/onDemand":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"post":{"operationId":"v1ClusterFeatureComplianceScanOnDemandCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ClusterComplianceOnDemandConfig"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Create on demand cluster compliance scan","tags":["v1"]}},"/v1/spectroclusters/{uid}/features/helmCharts":{"get":{"operationId":"v1ClusterFeatureHelmChartsGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1ClusterHelmCharts"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Get the installed helm charts of a specified cluster","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}]},"/v1/spectroclusters/{uid}/features/logFetcher":{"get":{"operationId":"v1ClusterFeatureLogFetcherGet","parameters":[{"in":"query","name":"requestId","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1ClusterLogFetcher"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Get the log fetcher for cluster","tags":["v1"]},"parameters":[{"description":"Cluster uid for which log is requested","in":"path","name":"uid","required":true,"type":"string"}],"post":{"operationId":"v1ClusterFeatureLogFetcherCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ClusterLogFetcherRequest"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Create the log fetcher for cluster","tags":["v1"]}},"/v1/spectroclusters/{uid}/features/manifests":{"get":{"operationId":"v1ClusterFeatureManifestsGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1ClusterManifests"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Get the installed manifests of a specified cluster","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}]},"/v1/spectroclusters/{uid}/features/restore":{"get":{"operationId":"v1ClusterFeatureRestoreGet","parameters":[{"in":"query","name":"restoreRequestUid","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1ClusterRestore"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the cluster restore of cluster","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}]},"/v1/spectroclusters/{uid}/features/restore/onDemand":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"post":{"operationId":"v1ClusterFeatureRestoreOnDemandCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ClusterRestoreConfig"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Create on demand cluster restore","tags":["v1"]}},"/v1/spectroclusters/{uid}/import/manifest":{"get":{"operationId":"v1SpectroClustersUidImportManifest","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"produces":["application/octet-stream"],"responses":{"200":{"description":"download file","headers":{"Content-Disposition":{"type":"string"}},"schema":{"format":"binary","type":"string"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified cluster's import manifest file","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}]},"/v1/spectroclusters/{uid}/import/upgrade":{"parameters":[{"description":"Cluster uid","in":"path","name":"uid","required":true,"type":"string"}],"patch":{"operationId":"v1SpectroClustersUidImportUpgradePatch","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Upgrade the specified imported read only cluster with full permissions","tags":["v1"]}},"/v1/spectroclusters/{uid}/k8certificates":{"get":{"operationId":"v1SpectroClustersK8Certificate","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1MachineCertificates"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Get K8Certificate for spectro cluster","tags":["v1"]},"parameters":[{"description":"Cluster uid","in":"path","name":"uid","required":true,"type":"string"}]},"/v1/spectroclusters/{uid}/k8certificates/renew":{"parameters":[{"description":"Cluster uid","in":"path","name":"uid","required":true,"type":"string"}],"patch":{"operationId":"v1SpectroClustersCertificatesRenew","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Sets the cluster master nodes Kubernetes certificates for renewal","tags":["v1"]}},"/v1/spectroclusters/{uid}/kubectl/redirect":{"get":{"operationId":"V1SpectroClustersUidKubeCtlRedirect","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1SpectroClusterKubeCtlRedirect"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified cluster's kube config file","tags":["v1"]},"parameters":[{"description":"Cluster uid","in":"path","name":"uid","required":true,"type":"string"}]},"/v1/spectroclusters/{uid}/libvirt/edgeHosts":{"get":{"operationId":"v1LibvirtClustersHostsList","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"List of edge host devices","schema":{"$ref":"#/definitions/v1EdgeHostDevices"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of edge hosts of the libvirt cluster","tags":["v1"]},"parameters":[{"description":"Cluster uid","in":"path","name":"uid","required":true,"type":"string"}]},"/v1/spectroclusters/{uid}/location":{"parameters":[{"description":"Cluster uid","in":"path","name":"uid","required":true,"type":"string"}],"put":{"operationId":"v1SpectroClustersUidLocationPut","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroClusterLocationInputEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Associate the assets for the cluster","tags":["v1"]}},"/v1/spectroclusters/{uid}/metadata":{"parameters":[{"description":"Cluster uid","in":"path","name":"uid","required":true,"type":"string"}],"patch":{"operationId":"v1SpectroClustersUidMetadataUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ObjectMetaInputEntitySchema"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Update the specified spectro cluster metadata","tags":["v1"]}},"/v1/spectroclusters/{uid}/namespaces":{"get":{"operationId":"v1ClusterNamespacesGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1ClusterNamespaces"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns available namespaces for the cluster","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"},{"default":false,"in":"query","name":"skipEmptyNamespaces","type":"boolean"}]},"/v1/spectroclusters/{uid}/oidc":{"get":{"operationId":"V1SpectroClustersUidOIDC","parameters":[{"description":"spc uid","in":"path","name":"uid","required":true,"type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1SpectroClusterOidcSpec"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns k8s spectrocluster oidc","tags":["v1"]}},"/v1/spectroclusters/{uid}/oidc/dashboard/url":{"get":{"operationId":"V1SpectroClustersUidOIDCDashboardUrl","parameters":[{"description":"spc uid","in":"path","name":"uid","required":true,"type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1SectroClusterK8sDashboardUrl"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns k8s dashboard url","tags":["v1"]}},"/v1/spectroclusters/{uid}/pack/manifests/{manifestUid}":{"get":{"operationId":"v1SpectroClustersUidPackManifestsUidGet","parameters":[{"description":"cluster uid","in":"path","name":"uid","required":true,"type":"string"},{"description":"manifest uid which is part of the pack ref","in":"path","name":"manifestUid","required":true,"type":"string"},{"default":false,"description":"resolve pack manifest values if set to true","in":"query","name":"resolveManifestValues","type":"boolean"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"Pack manifest content","schema":{"$ref":"#/definitions/v1Manifest"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified cluster's manifest","tags":["v1"]}},"/v1/spectroclusters/{uid}/pack/properties":{"get":{"operationId":"v1SpectroClustersUidPackProperties","parameters":[{"description":"Cluster uid","in":"path","name":"uid","required":true,"type":"string"},{"description":"Pack layer","in":"query","name":"layer","required":true,"type":"string"},{"description":"Pack values yaml field path","in":"query","name":"fieldPath","required":true,"type":"string"},{"description":"Pack name","in":"query","name":"name","type":"string"},{"default":true,"description":"Is the macros need to be resolved","in":"query","name":"resolveMacros","type":"boolean"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"Cluster's pack properties response","schema":{"$ref":"#/definitions/v1SpectroClusterPackProperties"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Get specified cluster pack properties","tags":["v1"]}},"/v1/spectroclusters/{uid}/packRefs":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"},{"in":"query","name":"notify","type":"string"}],"patch":{"operationId":"v1SpectroClustersPacksRefUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ClusterNotificationUpdateEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the cluster's pack references","tags":["v1"]}},"/v1/spectroclusters/{uid}/packs/resolvedValues":{"get":{"operationId":"v1SpectroClustersUidPacksResolvedValuesGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1SpectroClusterProfilesResolvedValues"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified cluster's packs resolved values","tags":["v1"]},"parameters":[{"description":"Cluster uid","in":"path","name":"uid","required":true,"type":"string"},{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroClusterProfilesParamReferenceEntity"}}]},"/v1/spectroclusters/{uid}/packs/status":{"parameters":[{"description":"Cluster uid","in":"path","name":"uid","required":true,"type":"string"}],"patch":{"operationId":"v1SpectroClustersUidPacksStatusPatch","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroClusterPacksStatusEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Patch update specified cluster's packs status","tags":["v1"]}},"/v1/spectroclusters/{uid}/packs/{packName}/config":{"get":{"description":"Deprecated","operationId":"v1SpectroClustersUidPacksConfigGet","parameters":[{"description":"cluster uid","in":"path","name":"uid","required":true,"type":"string"},{"description":"pack name","in":"path","name":"packName","required":true,"type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of cluster pack values","schema":{"$ref":"#/definitions/v1SpectroClusterPackConfigList"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified cluster's pack configuration","tags":["v1"]}},"/v1/spectroclusters/{uid}/profile":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"patch":{"operationId":"v1SpectroClustersPatchProfile","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Replaces the specified cluster profile for the cluster","tags":["v1"]}},"/v1/spectroclusters/{uid}/profileUpdates":{"get":{"operationId":"v1SpectroClustersGetProfileUpdates","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1SpectroClusterProfileUpdates"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the profile updates of a specified cluster","tags":["v1"]},"parameters":[{"description":"Cluster uid","in":"path","name":"uid","required":true,"type":"string"}]},"/v1/spectroclusters/{uid}/profiles":{"delete":{"operationId":"v1SpectroClustersDeleteProfiles","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroClusterProfilesDeleteEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Remove cluster profiles from the specified cluster","tags":["v1"]},"get":{"operationId":"v1SpectroClustersGetProfiles","parameters":[{"description":"includes pack meta such as schema, presets","in":"query","name":"includePackMeta","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1SpectroClusterProfileList"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the associated profiles of a specified cluster","tags":["v1"]},"parameters":[{"description":"Cluster uid","in":"path","name":"uid","required":true,"type":"string"}],"patch":{"operationId":"v1SpectroClustersPatchProfiles","parameters":[{"default":false,"description":"Resolve pending cluster notification if set to true","in":"query","name":"resolveNotification","type":"boolean"},{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroClusterProfiles"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Patch cluster profiles to the specified cluster","tags":["v1"]},"put":{"operationId":"v1SpectroClustersUpdateProfiles","parameters":[{"default":false,"description":"Resolve pending cluster notification if set to true","in":"query","name":"resolveNotification","type":"boolean"},{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroClusterProfiles"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Associate cluster profiles to the specified cluster","tags":["v1"]}},"/v1/spectroclusters/{uid}/profiles/packs/manifests":{"get":{"operationId":"v1SpectroClustersGetProfilesPacksManifests","parameters":[{"description":"Includes pack meta such as schema, presets","in":"query","name":"includePackMeta","type":"string"},{"default":false,"description":"Resolve pack macro variables if set to true","in":"query","name":"resolveMacros","type":"boolean"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1SpectroClusterProfilesPacksManifests"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the associated profile's pack manifests of a specified cluster","tags":["v1"]},"parameters":[{"description":"Cluster uid","in":"path","name":"uid","required":true,"type":"string"}]},"/v1/spectroclusters/{uid}/profiles/{profileUid}/packs/{packName}/config":{"get":{"operationId":"v1SpectroClustersUidProfilesUidPacksConfigGet","parameters":[{"description":"cluster uid","in":"path","name":"uid","required":true,"type":"string"},{"description":"profile uid","in":"path","name":"profileUid","required":true,"type":"string"},{"description":"pack name","in":"path","name":"packName","required":true,"type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of cluster pack values","schema":{"$ref":"#/definitions/v1SpectroClusterPackConfigList"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified cluster's profile pack configuration","tags":["v1"]}},"/v1/spectroclusters/{uid}/profiles/{profileUid}/packs/{packName}/manifests":{"get":{"operationId":"v1SpectroClustersProfilesUidPackManifestsGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1PackManifests"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the associated profiles pack manifests of the specified cluster","tags":["v1"]},"parameters":[{"description":"Cluster uid","in":"path","name":"uid","required":true,"type":"string"},{"description":"Cluster profile uid","in":"path","name":"profileUid","required":true,"type":"string"},{"description":"Name of the pack","in":"path","name":"packName","required":true,"type":"string"}],"put":{"operationId":"v1SpectroClustersProfilesUidPackManifestsUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ManifestRefInputEntities"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates cluster profiles pack manifests to the specified cluster","tags":["v1"]}},"/v1/spectroclusters/{uid}/rate":{"get":{"operationId":"v1SpectroClustersUidRate","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1SpectroClusterRate"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the estimated rate of the specified cluster","tags":["v1"]},"parameters":[{"description":"Cluster uid","in":"path","name":"uid","required":true,"type":"string"},{"default":"hourly","description":"Period type [hourly, monthly, yearly]","enum":["hourly","monthly","yearly"],"in":"query","name":"periodType","type":"string"}]},"/v1/spectroclusters/{uid}/repave/approve":{"patch":{"operationId":"v1SpectroClustersUidRepaveApproveUpdate","parameters":[{"description":"cluster uid","in":"path","name":"uid","required":true,"type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the spectrocluster repave approve update","tags":["v1"]}},"/v1/spectroclusters/{uid}/repave/status":{"get":{"operationId":"v1SpectroClustersUidRepaveGet","parameters":[{"description":"cluster uid","in":"path","name":"uid","required":true,"type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"Returns cluster repave status","schema":{"$ref":"#/definitions/v1SpectroClusterRepave"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the spectrocluster repave","tags":["v1"]}},"/v1/spectroclusters/{uid}/reset":{"parameters":[{"description":"Cluster uid","in":"path","name":"uid","required":true,"type":"string"}],"put":{"operationId":"V1SpectroClustersUidReset","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"reset the cluster s by deleting machine pools and condtions","tags":["v1"]}},"/v1/spectroclusters/{uid}/status/condition":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"put":{"operationId":"v1SpectroClustersUpdateStatusCondition","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ClusterCondition"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified cluster status condition","tags":["v1"]}},"/v1/spectroclusters/{uid}/status/conditions":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"patch":{"operationId":"v1SpectroClustersUpdateStatusConditions","parameters":[{"in":"body","name":"body","schema":{"items":{"$ref":"#/definitions/v1ClusterCondition"},"type":"array"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified cluster status conditions","tags":["v1"]}},"/v1/spectroclusters/{uid}/status/endpoints":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"put":{"operationId":"v1SpectroClustersUpdateStatusEndpoints","parameters":[{"in":"body","name":"body","schema":{"items":{"$ref":"#/definitions/v1ApiEndpoint"},"type":"array"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified cluster's service endpoints information","tags":["v1"]}},"/v1/spectroclusters/{uid}/status/imported":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"patch":{"operationId":"v1SpectroClustersUpdateStatusImported","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified cluster status as imported","tags":["v1"]}},"/v1/spectroclusters/{uid}/status/services":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"put":{"operationId":"v1SpectroClustersUpdateStatusServices","parameters":[{"in":"body","name":"body","schema":{"items":{"$ref":"#/definitions/v1LoadBalancerService"},"type":"array"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified cluster's services information","tags":["v1"]}},"/v1/spectroclusters/{uid}/status/spcApply":{"get":{"operationId":"v1SpectroClustersUidStatusSpcApplyGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1SpcApply"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the SPC apply information for the agent","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"post":{"operationId":"v1SpectroClustersUidStatusSpcApply","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"202":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Set the CanBeApplied to true on the spcApply status. CanBeApplied indicates the agent to orchestrate the spc changes","tags":["v1"]}},"/v1/spectroclusters/{uid}/status/spcApply/patchTime":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"patch":{"operationId":"v1SpectroClustersUidStatusSpcPatchTime","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpcPatchTimeEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the agent patch time for the SPC changes","tags":["v1"]}},"/v1/spectroclusters/{uid}/status/upgrades":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"put":{"operationId":"v1SpectroClustersUidUpgradesPut","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroClusterUidUpgrades"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the cluster's upgrade status","tags":["v1"]}},"/v1/spectroclusters/{uid}/validate/packs":{"post":{"operationId":"v1SpectroClustersUidValidatePacks","parameters":[{"description":"cluster uid","in":"path","name":"uid","required":true,"type":"string"},{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroClusterPacksEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"Cluster packs validation response","schema":{"$ref":"#/definitions/v1SpectroClusterValidatorResponse"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Validates cluster packs","tags":["v1"]}},"/v1/spectroclusters/{uid}/validate/repave":{"post":{"operationId":"v1SpectroClustersUidValidateRepave","parameters":[{"description":"cluster uid","in":"path","name":"uid","required":true,"type":"string"},{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroClusterPacksEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"Cluster repave validation response","schema":{"$ref":"#/definitions/v1SpectroClusterRepaveValidationResponse"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Validates if cluster gets repaved for the specified packs","tags":["v1"]}},"/v1/spectroclusters/{uid}/vms":{"get":{"operationId":"v1SpectroClustersVMList","parameters":[{"collectionFormat":"csv","description":"Namespace names, comma separated value (ex: dev,test). If namespace is empty it returns the specific resource under all namespace","in":"query","items":{"type":"string"},"name":"namespace","type":"array"},{"default":50,"description":"limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.","format":"int64","in":"query","name":"limit","type":"integer"},{"description":"continue token to paginate the subsequent data items","in":"query","name":"continue","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1ClusterVirtualMachineList"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the list of virtual machines","tags":["v1"]},"parameters":[{"description":"Cluster uid","in":"path","name":"uid","required":true,"type":"string"}],"post":{"operationId":"v1SpectroClustersVMCreate","parameters":[{"description":"Namespace name","in":"query","name":"namespace","required":true,"type":"string"},{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ClusterVirtualMachine"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1ClusterVirtualMachine"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Create virtual machine","tags":["v1"]}},"/v1/spectroclusters/{uid}/vms/snapshot":{"get":{"operationId":"v1ClusterVMSnapshotsList","parameters":[{"collectionFormat":"csv","description":"vmName is comma separated value (ex: name1,name2).","in":"query","items":{"type":"string"},"name":"vmName","type":"array"},{"collectionFormat":"csv","description":"Namespace names, comma separated value (ex: dev,test). If namespace is empty it returns the specific resource under all namespace","in":"query","items":{"type":"string"},"name":"namespace","type":"array"},{"default":50,"description":"limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.","format":"int64","in":"query","name":"limit","type":"integer"},{"description":"continue token to paginate the subsequent data items","in":"query","name":"continue","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1VirtualMachineSnapshotList"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the list of snapshots of given namespaces","tags":["v1"]},"parameters":[{"description":"Cluster uid","in":"path","name":"uid","required":true,"type":"string"}]},"/v1/spectroclusters/{uid}/vms/{vmName}":{"delete":{"operationId":"v1SpectroClustersVMDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the virtual machine","tags":["v1"]},"get":{"operationId":"v1SpectroClustersVMGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1ClusterVirtualMachine"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Get virtual machine","tags":["v1"]},"parameters":[{"description":"Cluster uid","in":"path","name":"uid","required":true,"type":"string"},{"description":"Virtual Machine name","in":"path","name":"vmName","required":true,"type":"string"},{"description":"Namespace name","in":"query","name":"namespace","required":true,"type":"string"}],"put":{"operationId":"v1SpectroClustersVMUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ClusterVirtualMachine"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1ClusterVirtualMachine"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified virtual machine of the cluster","tags":["v1"]}},"/v1/spectroclusters/{uid}/vms/{vmName}/addVolume":{"parameters":[{"description":"Cluster uid","in":"path","name":"uid","required":true,"type":"string"},{"description":"Virtual Machine name","in":"path","name":"vmName","required":true,"type":"string"},{"description":"Namespace name","in":"query","name":"namespace","required":true,"type":"string"}],"put":{"operationId":"v1SpectroClustersVMAddVolume","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1VMAddVolumeEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Add volume to the virtual machine instance","tags":["v1"]}},"/v1/spectroclusters/{uid}/vms/{vmName}/clone":{"parameters":[{"description":"Cluster uid","in":"path","name":"uid","required":true,"type":"string"},{"description":"Virtual Machine name","in":"path","name":"vmName","required":true,"type":"string"},{"description":"Namespace name","in":"query","name":"namespace","required":true,"type":"string"}],"post":{"operationId":"v1SpectroClustersVMClone","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1SpectroClusterVMCloneEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1ClusterVirtualMachine"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Clone virtual machine","tags":["v1"]}},"/v1/spectroclusters/{uid}/vms/{vmName}/migrate":{"parameters":[{"description":"Cluster uid","in":"path","name":"uid","required":true,"type":"string"},{"description":"Virtual Machine name","in":"path","name":"vmName","required":true,"type":"string"},{"description":"Namespace name","in":"query","name":"namespace","required":true,"type":"string"}],"put":{"operationId":"v1SpectroClustersVMMigrate","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Migrate the virtual machine","tags":["v1"]}},"/v1/spectroclusters/{uid}/vms/{vmName}/pause":{"parameters":[{"description":"Cluster uid","in":"path","name":"uid","required":true,"type":"string"},{"description":"Virtual Machine name","in":"path","name":"vmName","required":true,"type":"string"},{"description":"Namespace name","in":"query","name":"namespace","required":true,"type":"string"}],"put":{"operationId":"v1SpectroClustersVMPause","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Pause the virtual machine instance","tags":["v1"]}},"/v1/spectroclusters/{uid}/vms/{vmName}/removeVolume":{"parameters":[{"description":"Cluster uid","in":"path","name":"uid","required":true,"type":"string"},{"description":"Virtual Machine name","in":"path","name":"vmName","required":true,"type":"string"},{"description":"Namespace name","in":"query","name":"namespace","required":true,"type":"string"}],"put":{"operationId":"v1SpectroClustersVMRemoveVolume","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1VMRemoveVolumeEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Remove volume from the virtual machine instance","tags":["v1"]}},"/v1/spectroclusters/{uid}/vms/{vmName}/restart":{"parameters":[{"description":"Cluster uid","in":"path","name":"uid","required":true,"type":"string"},{"description":"Virtual Machine name","in":"path","name":"vmName","required":true,"type":"string"},{"description":"Namespace name","in":"query","name":"namespace","required":true,"type":"string"}],"put":{"operationId":"v1SpectroClustersVMRestart","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Restart the virtual machine","tags":["v1"]}},"/v1/spectroclusters/{uid}/vms/{vmName}/resume":{"parameters":[{"description":"Cluster uid","in":"path","name":"uid","required":true,"type":"string"},{"description":"Virtual Machine name","in":"path","name":"vmName","required":true,"type":"string"},{"description":"Namespace name","in":"query","name":"namespace","required":true,"type":"string"}],"put":{"operationId":"v1SpectroClustersVMResume","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Resume the virtual machine instance","tags":["v1"]}},"/v1/spectroclusters/{uid}/vms/{vmName}/snapshot":{"parameters":[{"description":"Cluster uid","in":"path","name":"uid","required":true,"type":"string"},{"description":"Virtual Machine name","in":"path","name":"vmName","required":true,"type":"string"},{"description":"Namespace name of virtual machine","in":"query","name":"namespace","required":true,"type":"string"}],"post":{"operationId":"v1VMSnapshotCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1VirtualMachineSnapshot"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1VirtualMachineSnapshot"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Create snapshot of virtual machine","tags":["v1"]}},"/v1/spectroclusters/{uid}/vms/{vmName}/snapshot/{snapshotName}":{"delete":{"operationId":"v1VMSnapshotDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Delete the snapshot of virtual machine","tags":["v1"]},"get":{"operationId":"v1VMSnapshotGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1VirtualMachineSnapshot"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Get virtual machine snapshot","tags":["v1"]},"parameters":[{"description":"Cluster uid","in":"path","name":"uid","required":true,"type":"string"},{"description":"Virtual Machine name","in":"path","name":"vmName","required":true,"type":"string"},{"description":"Snapshot name","in":"path","name":"snapshotName","required":true,"type":"string"},{"description":"Namespace name","in":"query","name":"namespace","required":true,"type":"string"}],"put":{"operationId":"v1VMSnapshotUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1VirtualMachineSnapshot"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1VirtualMachineSnapshot"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified snapshot of a virtual machine","tags":["v1"]}},"/v1/spectroclusters/{uid}/vms/{vmName}/start":{"parameters":[{"description":"Cluster uid","in":"path","name":"uid","required":true,"type":"string"},{"description":"Virtual Machine name","in":"path","name":"vmName","required":true,"type":"string"},{"description":"Namespace name","in":"query","name":"namespace","required":true,"type":"string"}],"put":{"operationId":"v1SpectroClustersVMStart","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Start the virtual machine","tags":["v1"]}},"/v1/spectroclusters/{uid}/vms/{vmName}/stop":{"parameters":[{"description":"Cluster uid","in":"path","name":"uid","required":true,"type":"string"},{"description":"Virtual Machine name","in":"path","name":"vmName","required":true,"type":"string"},{"description":"Namespace name","in":"query","name":"namespace","required":true,"type":"string"}],"put":{"operationId":"v1SpectroClustersVMStop","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Stop the virtual machine","tags":["v1"]}},"/v1/spectroclusters/{uid}/workloads/sync":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"post":{"description":"Sync specified cluster workload","operationId":"v1SpectroClustersUidWorkloadsSync","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"202":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Sync specified cluster workload","tags":["v1"]}},"/v1/spectroclusters/{uid}/workloads/{workloadKind}/sync":{"parameters":[{"description":"Cluster uid","in":"path","name":"uid","required":true,"type":"string"},{"description":"Workload kind","enum":["namespace","pod","deployment","statefulset","daemonset","job","cronjob","rolebinding","clusterrolebinding"],"in":"path","name":"workloadKind","required":true,"type":"string"}],"post":{"operationId":"v1SpectroClustersUidWorkloadsKindSync","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"202":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Sync specified cluster workload","tags":["v1"]}},"/v1/system/config/reverseproxy":{"get":{"operationId":"V1SystemConfigReverseProxyGet","responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1SystemReverseProxy"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"get the system config reverse proxy","tags":["v1","system","private","show-docs"]},"put":{"operationId":"V1SystemConfigReverseProxyUpdate","parameters":[{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/v1SystemReverseProxy"}}],"responses":{"204":{"description":"(empty)","schema":{"$ref":"#/definitions/v1Updated"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"updates the system config reverse proxy","tags":["v1","system","private","show-docs"]}},"/v1/system/passwords/blocklist":{"delete":{"operationId":"V1PasswordsBlockListDelete","parameters":[{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/V1PasswordsBlockList"}}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Delete a list of block listed passwords","tags":["v1","system","show-docs"]},"patch":{"operationId":"V1PasswordsBlockListUpdate","parameters":[{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/V1PasswordsBlockList"}}],"responses":{"204":{"description":"(empty)","schema":{"$ref":"#/definitions/v1Updated"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"List of block listed passwords","tags":["v1","system","show-docs"]}},"/v1/teams":{"get":{"operationId":"v1TeamsList","parameters":[{"description":"Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name","in":"query","name":"fields","type":"string"},{"description":"Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.","in":"query","name":"filters","type":"string"},{"description":"Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1","in":"query","name":"orderBy","type":"string"},{"default":50,"description":"limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.","format":"int64","in":"query","name":"limit","type":"integer"},{"description":"offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.","format":"int64","in":"query","name":"offset","type":"integer"},{"description":"continue token to paginate the subsequent data items","in":"query","name":"continue","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"An array of teams","schema":{"$ref":"#/definitions/v1Teams"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of teams","tags":["v1"]},"post":{"operationId":"v1TeamsCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1Team"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Creates a team with the specified users and roles","tags":["v1"]}},"/v1/teams/summary":{"get":{"description":"Deprecated, Use Post api - Returns a list of team summaries","operationId":"v1TeamsSummary","parameters":[{"description":"Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name","in":"query","name":"fields","type":"string"},{"description":"Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.","in":"query","name":"filters","type":"string"},{"description":"Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1","in":"query","name":"orderBy","type":"string"},{"default":50,"description":"limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.","format":"int64","in":"query","name":"limit","type":"integer"},{"description":"offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.","format":"int64","in":"query","name":"offset","type":"integer"},{"description":"continue token to paginate the subsequent data items","in":"query","name":"continue","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1TeamsSummary"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of team summary","tags":["v1"]},"post":{"operationId":"v1TeamsSummaryGet","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1TeamsSummarySpec"}}],"responses":{"200":{"description":"An array of teams summary items","schema":{"$ref":"#/definitions/v1TeamsSummaryList"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of teams summary with provided filter spec","tags":["v1"]}},"/v1/teams/{uid}":{"delete":{"operationId":"v1TeamsUidDelete","responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified team","tags":["v1"]},"get":{"operationId":"v1TeamsUidGet","responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1Team"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the sepcified team","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"patch":{"operationId":"v1TeamsUidPatch","parameters":[{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/v1TeamPatch"}}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Patches the specified team","tags":["v1"]},"put":{"operationId":"v1TeamsUidUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1Team"}}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the sepcified team","tags":["v1"]}},"/v1/teams/{uid}/projects":{"get":{"operationId":"v1TeamsProjectRoles","responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1ProjectRolesEntity"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified team's project and roles data","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"put":{"operationId":"v1TeamsProjectRolesPut","parameters":[{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/v1ProjectRolesPatch"}}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the projects and roles for the specified team","tags":["v1"]}},"/v1/teams/{uid}/resourceRoles":{"get":{"description":"Returns resource roles for team","operationId":"v1TeamsUidResourceRoles","responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1ResourceRoles"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified individual and resource roles for a team","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"post":{"description":"Resource roles added to specific team","operationId":"v1TeamsUidResourceRolesCreate","parameters":[{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/v1ResourceRolesUpdateEntity"}}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Add resource roles for team","tags":["v1"]}},"/v1/teams/{uid}/resourceRoles/{resourceRoleUid}":{"delete":{"operationId":"v1TeamsUidResourceRolesUidDelete","responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deleted the resource roles from team","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"},{"in":"path","name":"resourceRoleUid","required":true,"type":"string"}],"patch":{"description":"Specific resource roles fo team is updated","operationId":"v1TeamsResourceRolesUidUpdate","parameters":[{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/v1ResourceRolesUpdateEntity"}}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the resource roles for team","tags":["v1"]}},"/v1/teams/{uid}/roles":{"get":{"operationId":"V1TeamsUidTenantRolesGet","responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1TeamTenantRolesEntity"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified team's tenant roles","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"put":{"operationId":"V1TeamsUidTenantRolesUpdate","parameters":[{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/v1TeamTenantRolesUpdate"}}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the tenant roles of the specified team","tags":["v1"]}},"/v1/tenants/{tenantUid}/address":{"parameters":[{"in":"path","name":"tenantUid","required":true,"type":"string"}],"patch":{"operationId":"v1PatchTenantAddress","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1TenantAddressPatch"}}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Update tenant address","tags":["v1"]}},"/v1/tenants/{tenantUid}/assets/certs":{"get":{"operationId":"V1TenantUIdAssetsCertsList","responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1TenantAssetCerts"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"lists the certificates for the tenant","tags":["v1"]},"parameters":[{"in":"path","name":"tenantUid","required":true,"type":"string"}],"post":{"operationId":"V1TenantUidAssetsCertsCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1TenantAssetCert"}}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"create the tenant certificate","tags":["v1"]}},"/v1/tenants/{tenantUid}/assets/certs/{certificateUid}":{"delete":{"operationId":"V1TenantUidAssetsCertsUidDelete","responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"deletes the tenant certificate","tags":["v1"]},"get":{"operationId":"V1TenantUidAssetsCertsUidGet","responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1TenantAssetCert"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the ca certificate for the tenant","tags":["v1"]},"parameters":[{"in":"path","name":"tenantUid","required":true,"type":"string"},{"in":"path","name":"certificateUid","required":true,"type":"string"}],"put":{"operationId":"V1TenantUidAssetsCertsUidUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1TenantAssetCert"}}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"updates the tenant certificate","tags":["v1"]}},"/v1/tenants/{tenantUid}/assets/dataSinks":{"delete":{"operationId":"V1TenantUidAssetsDataSinksDelete","responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"deletes the tenant data sink config","tags":["v1"]},"get":{"operationId":"V1TenantUidAssetsDataSinksGet","responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1DataSinkConfig"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns data sink config of tenant","tags":["v1"]},"parameters":[{"in":"path","name":"tenantUid","required":true,"type":"string"}],"post":{"operationId":"V1TenantUidAssetsDataSinksCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1DataSinkConfig"}}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"create data sink config","tags":["v1"]},"put":{"operationId":"V1TenantUidAssetsDataSinksUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1DataSinkConfig"}}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"updates the tenant data sink config","tags":["v1"]}},"/v1/tenants/{tenantUid}/authTokenSettings":{"get":{"operationId":"v1TenantUidAuthTokenSettingsGet","responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1AuthTokenSettings"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Get tenant auth token settings","tags":["v1"]},"parameters":[{"in":"path","name":"tenantUid","required":true,"type":"string"}],"put":{"operationId":"v1TenantUidAuthTokenSettingsUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1AuthTokenSettings"}}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Update tenant auth token settings","tags":["v1"]}},"/v1/tenants/{tenantUid}/contract/accept":{"parameters":[{"in":"path","name":"tenantUid","required":true,"type":"string"}],"patch":{"operationId":"v1TenantsUidContractAccept","responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Tenant to accept the contract agreement","tags":["v1"]}},"/v1/tenants/{tenantUid}/creditAccount/aws":{"delete":{"operationId":"v1TenantsCreditAccountDelete","parameters":[{"default":false,"in":"query","name":"forceDelete","type":"boolean"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the aws credit account for tenants","tags":["v1"]},"get":{"operationId":"v1TenantsCreditAccountGet","responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1AwsCreditAccountEntity"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Get the credit accounts for the tenants with free tier access","tags":["v1"]},"parameters":[{"in":"path","name":"tenantUid","required":true,"type":"string"}]},"/v1/tenants/{tenantUid}/domains":{"get":{"operationId":"V1TenantUidDomainsGet","responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1TenantDomains"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"retrieves the domains for tenant","tags":["v1"]},"parameters":[{"in":"path","name":"tenantUid","required":true,"type":"string"}],"post":{"operationId":"V1TenantUidDomainsUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1TenantDomains"}}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"creates or updates domains for tenant","tags":["v1"]}},"/v1/tenants/{tenantUid}/emailId":{"parameters":[{"in":"path","name":"tenantUid","required":true,"type":"string"}],"patch":{"operationId":"v1PatchTenantEmailId","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1TenantEmailPatch"}}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Update tenant emailId","tags":["v1"]}},"/v1/tenants/{tenantUid}/freemium":{"get":{"operationId":"v1TenantFreemiumGet","responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1TenantFreemium"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Get tenant level freemium configuration","tags":["v1"]},"parameters":[{"in":"path","name":"tenantUid","required":true,"type":"string"}],"put":{"operationId":"v1TenantFreemiumUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1TenantFreemium"}}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Update tenant freemium configuration","tags":["v1"]}},"/v1/tenants/{tenantUid}/freemiumUsage":{"get":{"operationId":"v1TenantFreemiumUsageGet","responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1TenantFreemiumUsage"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Get tenant freemium usage","tags":["v1"]},"parameters":[{"in":"path","name":"tenantUid","required":true,"type":"string"}]},"/v1/tenants/{tenantUid}/invoices/{invoiceUid}":{"get":{"operationId":"v1InvoicesUidGet","responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1Invoice"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns a specified invoice","tags":["v1"]},"parameters":[{"description":"Specify the tenant uid","in":"path","name":"tenantUid","required":true,"type":"string"},{"description":"Specify the invoice uid","in":"path","name":"invoiceUid","required":true,"type":"string"}]},"/v1/tenants/{tenantUid}/invoices/{invoiceUid}/report/invoice/pdf":{"get":{"operationId":"V1InvoiceUidReportInvoicePdf","produces":["application/octet-stream"],"responses":{"200":{"description":"OK","headers":{"Content-Disposition":{"type":"string"},"Content-Type":{"type":"string"}},"schema":{"type":"file"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Downloads the specified invoice report","tags":["v1"]},"parameters":[{"description":"Specify the tenant uid","in":"path","name":"tenantUid","required":true,"type":"string"},{"description":"Specify the invoice uid","in":"path","name":"invoiceUid","required":true,"type":"string"}]},"/v1/tenants/{tenantUid}/invoices/{invoiceUid}/report/pdf":{"get":{"operationId":"V1InvoiceUidReportPdf","produces":["application/octet-stream"],"responses":{"200":{"description":"OK","headers":{"Content-Disposition":{"type":"string"},"Content-Type":{"type":"string"}},"schema":{"type":"file"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Downloads the specified monthly invoice report","tags":["v1"]},"parameters":[{"description":"Specify the tenant uid","in":"path","name":"tenantUid","required":true,"type":"string"},{"description":"Specify the invoice uid","in":"path","name":"invoiceUid","required":true,"type":"string"}]},"/v1/tenants/{tenantUid}/invoices/{invoiceUid}/report/usage/pdf":{"get":{"operationId":"V1InvoiceUidReportUsagePdf","produces":["application/octet-stream"],"responses":{"200":{"description":"OK","headers":{"Content-Disposition":{"type":"string"},"Content-Type":{"type":"string"}},"schema":{"type":"file"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Downloads the specified tenant usage","tags":["v1"]},"parameters":[{"description":"Specify the tenant uid","in":"path","name":"tenantUid","required":true,"type":"string"},{"description":"Specify the invoice uid","in":"path","name":"invoiceUid","required":true,"type":"string"}]},"/v1/tenants/{tenantUid}/loginBanner":{"get":{"operationId":"v1TenantUidLoginBannerGet","responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1LoginBannerSettings"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Get tenant login banner settings","tags":["v1"]},"parameters":[{"in":"path","name":"tenantUid","required":true,"type":"string"}],"put":{"operationId":"v1TenantUidLoginBannerUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1LoginBannerSettings"}}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Update tenant login banner settings","tags":["v1"]}},"/v1/tenants/{tenantUid}/macros":{"delete":{"operationId":"v1TenantsUidMacrosDeleteByMacroName","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1Macros"}}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Delete the macros for the specified tenant by given macro name","tags":["v1"]},"get":{"operationId":"v1TenantsUidMacrosList","responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1Macros"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"List the macros of the specified tenant","tags":["v1"]},"parameters":[{"in":"path","name":"tenantUid","required":true,"type":"string"}],"patch":{"operationId":"v1TenantsUidMacrosUpdateByMacroName","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1Macros"}}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Update the macros for the specified tenant by given macro name","tags":["v1"]},"post":{"operationId":"v1TenantsUidMacrosCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1Macros"}}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Create or add new macros for the specified tenant","tags":["v1"]},"put":{"operationId":"v1TenantsUidMacrosUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1Macros"}}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Update the macros of the specified tenant","tags":["v1"]}},"/v1/tenants/{tenantUid}/oidc/config":{"get":{"operationId":"V1TenantUidOidcConfigGet","responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1TenantOidcClientSpec"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the oidc Spec for tenant","tags":["v1"]},"parameters":[{"in":"path","name":"tenantUid","required":true,"type":"string"}],"post":{"operationId":"V1TenantUidOidcConfigUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1TenantOidcClientSpec"}}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Associates the oidc Spec for the tenant","tags":["v1"]}},"/v1/tenants/{tenantUid}/password/policy":{"parameters":[{"in":"path","name":"tenantUid","required":true,"type":"string"}],"post":{"operationId":"V1TenantUidPasswordPolicyUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1TenantPasswordPolicyEntity"}}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"creates or updates a password policy for tenant","tags":["v1"]}},"/v1/tenants/{tenantUid}/preferences/clusterGroup":{"get":{"operationId":"V1TenantPrefClusterGroupGet","responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1TenantEnableClusterGroup"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Get is cluster group enabled for a specific tenant","tags":["v1"]},"parameters":[{"in":"path","name":"tenantUid","required":true,"type":"string"}],"put":{"operationId":"V1TenantPrefClusterGroupUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1TenantEnableClusterGroup"}}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Enable or Disable cluster group for a specific tenant","tags":["v1"]}},"/v1/tenants/{tenantUid}/preferences/clusterSettings":{"get":{"operationId":"v1TenantClusterSettingsGet","responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1TenantClusterSettings"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Get tenant cluster settings","tags":["v1"]},"parameters":[{"in":"path","name":"tenantUid","required":true,"type":"string"}]},"/v1/tenants/{tenantUid}/preferences/clusterSettings/nodesAutoRemediationSetting":{"parameters":[{"in":"path","name":"tenantUid","required":true,"type":"string"}],"put":{"operationId":"v1TenantClustersNodesAutoRemediationSettingUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1NodesAutoRemediationSettings"}}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Update tenant clusters nodes auto remediation setting","tags":["v1"]}},"/v1/tenants/{tenantUid}/preferences/developerCredit":{"get":{"operationId":"V1TenantDeveloperCreditGet","responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1DeveloperCredit"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Get developer credit enabled for a specific tenant","tags":["v1"]},"parameters":[{"in":"path","name":"tenantUid","required":true,"type":"string"}],"put":{"operationId":"V1TenantDeveloperCreditUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1DeveloperCredit"}}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"update developer credit for a specific tenant","tags":["v1"]}},"/v1/tenants/{tenantUid}/preferences/fips":{"get":{"operationId":"v1TenantFipsSettingsGet","responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1FipsSettings"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Get tenant fips settings","tags":["v1"]},"parameters":[{"in":"path","name":"tenantUid","required":true,"type":"string"}],"put":{"operationId":"v1TenantFipsSettingsUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1FipsSettings"}}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Update tenant fips setting","tags":["v1"]}},"/v1/tenants/{tenantUid}/rateConfig":{"get":{"operationId":"v1RateConfigGet","responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1RateConfig"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Get all rate config for public and private cloud","tags":["v1"]},"parameters":[{"in":"path","name":"tenantUid","required":true,"type":"string"}],"put":{"operationId":"v1RateConfigUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1RateConfig"}}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"updates the rate config for public and private cloud","tags":["v1"]}},"/v1/tenants/{tenantUid}/resourceLimits":{"get":{"operationId":"v1TenantResourceLimitsGet","responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1TenantResourceLimits"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Get tenant level resource limits configuration","tags":["v1"]},"parameters":[{"in":"path","name":"tenantUid","required":true,"type":"string"}],"patch":{"operationId":"v1TenantResourceLimitsUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1TenantResourceLimitsEntity"}}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Update tenant resource limits configuration","tags":["v1"]}},"/v1/tenants/{tenantUid}/saml/config":{"get":{"operationId":"V1TenantUidSamlConfigSpecGet","responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1TenantSamlSpec"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified service provider metadata and Saml Spec for tenant","tags":["v1"]},"parameters":[{"in":"path","name":"tenantUid","required":true,"type":"string"}],"post":{"operationId":"V1TenantUidSamlConfigUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1TenantSamlRequestSpec"}}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Associates the specified federation metadata for the tenant","tags":["v1"]}},"/v1/tenants/{tenantUid}/sso/auth/providers":{"get":{"operationId":"V1TenantUidSsoAuthProvidersGet","responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1TenantSsoAuthProvidersEntity"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"get sso logins for the tenants","tags":["v1"]},"parameters":[{"in":"path","name":"tenantUid","required":true,"type":"string"}],"post":{"operationId":"V1TenantUidSsoAuthProvidersUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1TenantSsoAuthProvidersEntity"}}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"enable sso logins for the tenants","tags":["v1"]}},"/v1/users":{"get":{"description":"Lists users the given user context","operationId":"v1UsersList","parameters":[{"description":"Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name","in":"query","name":"fields","type":"string"},{"description":"Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.","in":"query","name":"filters","type":"string"},{"description":"Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1","in":"query","name":"orderBy","type":"string"},{"default":50,"description":"limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.","format":"int64","in":"query","name":"limit","type":"integer"},{"description":"offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.","format":"int64","in":"query","name":"offset","type":"integer"},{"description":"continue token to paginate the subsequent data items","in":"query","name":"continue","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1Users"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Lists users","tags":["v1"]},"post":{"description":"A user is created for the given user context","operationId":"v1UsersCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1UserEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Create User","tags":["v1"]}},"/v1/users/assets/locations":{"get":{"operationId":"v1UsersAssetsLocationGet","parameters":[{"description":"Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.","in":"query","name":"filters","type":"string"},{"description":"Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1","in":"query","name":"orderBy","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1UserAssetsLocations"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified users location","tags":["v1"]}},"/v1/users/assets/locations/azure":{"post":{"operationId":"v1UsersAssetsLocationAzureCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1UserAssetsLocationAzure"}}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Create a Azure location","tags":["v1"]}},"/v1/users/assets/locations/azure/{uid}":{"get":{"operationId":"v1UsersAssetsLocationAzureGet","responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1UserAssetsLocationAzure"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified Azure location","tags":["v1"]},"parameters":[{"description":"Specify the Azure location uid","in":"path","name":"uid","required":true,"type":"string"}],"put":{"operationId":"v1UsersAssetsLocationAzureUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1UserAssetsLocationAzure"}}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified Azure location","tags":["v1"]}},"/v1/users/assets/locations/gcp":{"post":{"operationId":"v1UsersAssetsLocationGcpCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1UserAssetsLocationGcp"}}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Create a GCP location","tags":["v1"]}},"/v1/users/assets/locations/gcp/{uid}":{"get":{"operationId":"v1UsersAssetsLocationGcpGet","responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1UserAssetsLocationGcp"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified GCP location","tags":["v1"]},"parameters":[{"description":"Specify the GCP location uid","in":"path","name":"uid","required":true,"type":"string"}],"put":{"operationId":"v1UsersAssetsLocationGcpUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1UserAssetsLocationGcp"}}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified GCP location","tags":["v1"]}},"/v1/users/assets/locations/minio":{"post":{"operationId":"v1UsersAssetsLocationMinioCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1UserAssetsLocationS3"}}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Create a MinIO location","tags":["v1"]}},"/v1/users/assets/locations/minio/{uid}":{"get":{"operationId":"v1UsersAssetsLocationMinioGet","responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1UserAssetsLocationS3"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified MinIO location","tags":["v1"]},"parameters":[{"description":"Specify the MinIO location uid","in":"path","name":"uid","required":true,"type":"string"}],"put":{"operationId":"v1UsersAssetsLocationMinioUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1UserAssetsLocationS3"}}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified MinIO location","tags":["v1"]}},"/v1/users/assets/locations/s3":{"post":{"operationId":"v1UsersAssetsLocationS3Create","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1UserAssetsLocationS3"}}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Create a S3 location","tags":["v1"]}},"/v1/users/assets/locations/s3/{uid}":{"delete":{"operationId":"v1UsersAssetsLocationS3Delete","responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified S3 location","tags":["v1"]},"get":{"operationId":"v1UsersAssetsLocationS3Get","responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1UserAssetsLocationS3"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified S3 location","tags":["v1"]},"parameters":[{"description":"Specify the S3 location uid","in":"path","name":"uid","required":true,"type":"string"}],"put":{"operationId":"v1UsersAssetsLocationS3Update","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1UserAssetsLocationS3"}}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified S3 location","tags":["v1"]}},"/v1/users/assets/locations/{type}/{uid}/default":{"parameters":[{"description":"Specify the location uid","in":"path","name":"uid","required":true,"type":"string"},{"description":"Specify the location type [aws/azure/gcp/minio/s3]","in":"path","name":"type","required":true,"type":"string"}],"patch":{"operationId":"v1UsersAssetsLocationDefaultUpdate","responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Update the default backup location","tags":["v1"]}},"/v1/users/assets/locations/{uid}":{"delete":{"operationId":"v1UsersAssetsLocationDelete","responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified location","tags":["v1"]},"parameters":[{"description":"Specify the location uid","in":"path","name":"uid","required":true,"type":"string"}]},"/v1/users/assets/sshkeys":{"get":{"operationId":"v1UsersAssetsSshGet","parameters":[{"description":"Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.","in":"query","name":"filters","type":"string"},{"description":"Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1","in":"query","name":"orderBy","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1UserAssetsSsh"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the SSH keys","tags":["v1"]},"post":{"operationId":"v1UserAssetsSshCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1UserAssetSshEntity"}}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Creates a SSH key","tags":["v1"]}},"/v1/users/assets/sshkeys/{uid}":{"delete":{"operationId":"v1UsersAssetSshDelete","responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified user ssh key","tags":["v1"]},"get":{"operationId":"v1UsersAssetSshGetUid","responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1UserAssetSsh"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified user ssh key","tags":["v1"]},"parameters":[{"description":"Specify the SSH key uid","in":"path","name":"uid","required":true,"type":"string"}],"put":{"operationId":"v1UsersAssetSshUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1UserAssetSsh"}}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified user ssh key","tags":["v1"]}},"/v1/users/assets/vsphere/dnsMapping":{"get":{"operationId":"v1VsphereMappingGet","parameters":[{"description":"Specify the vSphere gateway uid","in":"query","name":"gatewayUid","required":true,"type":"string"},{"description":"Specify the vSphere datacenter name","in":"query","name":"datacenter","required":true,"type":"string"},{"description":"Specify the vSphere network name","in":"query","name":"network","required":true,"type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1VsphereDnsMapping"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified vSphere DNS mapping","tags":["v1"]}},"/v1/users/assets/vsphere/dnsMappings":{"get":{"operationId":"v1VsphereDnsMappingsGet","parameters":[{"description":"Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.","in":"query","name":"filters","type":"string"},{"description":"Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1","in":"query","name":"orderBy","type":"string"}],"responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1VsphereDnsMappings"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified vSphere DNS mappings","tags":["v1"]},"post":{"operationId":"v1VsphereDnsMappingCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1VsphereDnsMapping"}}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Create a vSphere DNS mapping","tags":["v1"]}},"/v1/users/assets/vsphere/dnsMappings/{uid}":{"delete":{"operationId":"v1VsphereDnsMappingDelete","responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified vSphere DNS mapping","tags":["v1"]},"get":{"operationId":"v1VsphereDnsMappingGet","responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1VsphereDnsMapping"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified vSphere DNS mapping","tags":["v1"]},"parameters":[{"description":"Specify the vSphere DNS mapping uid","in":"path","name":"uid","required":true,"type":"string"}],"put":{"operationId":"v1VsphereDnsMappingUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1VsphereDnsMapping"}}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified vSphere DNS mapping","tags":["v1"]}},"/v1/users/auth/tokens/revoke":{"post":{"operationId":"v1UsersAuthTokensRevoke","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1AuthTokenRevoke"}}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Revoke access of specific token(s)","tags":["v1"]}},"/v1/users/config/scar":{"get":{"operationId":"V1UsersConfigScarGet","responses":{"200":{"description":"(empty)","schema":{"$ref":"#/definitions/v1SystemScarSpec"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Get the system Spectro repository. Restricted to edge services","tags":["v1"]}},"/v1/users/kubectl/session/{sessionUid}":{"get":{"description":"gets users kubectl session","operationId":"V1UsersKubectlSessionUid","parameters":[{"in":"path","name":"sessionUid","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1UserKubectlSession"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"gets users kubectl session","tags":["v1"]}},"/v1/users/me":{"get":{"description":"Returns a User with permissions with scopes","operationId":"v1UsersMeGet","responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1UserMe"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified User ACL information","tags":["v1","docs-hide"]}},"/v1/users/meta":{"get":{"operationId":"v1UsersMetadata","responses":{"200":{"description":"An array of users metadata items","schema":{"$ref":"#/definitions/v1UsersMetadata"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of users metadata","tags":["v1"]}},"/v1/users/password/change":{"patch":{"description":"User password change request via current password and emailId","operationId":"V1UsersPasswordChange","parameters":[{"in":"body","name":"body","required":true,"schema":{"properties":{"currentPassword":{"type":"string"},"emailId":{"type":"string"},"newPassword":{"type":"string"}},"required":["newPassword","emailId","currentPassword"],"type":"object"}}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"User password change request using the user emailId","tags":["v1"]}},"/v1/users/password/reset":{"patch":{"description":"User password request will be sent to the supplied emailId","operationId":"v1UsersEmailPasswordReset","parameters":[{"in":"body","name":"body","required":true,"schema":{"properties":{"emailId":{"type":"string"}},"required":["emailId"],"type":"object"}}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"User password reset request using the email id","tags":["v1"]}},"/v1/users/summary":{"get":{"description":"Deprecated, Use Post api - Returns a list of user summaries","operationId":"v1UsersSummary","parameters":[{"default":50,"description":"limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.","format":"int64","in":"query","name":"limit","type":"integer"},{"description":"offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.","format":"int64","in":"query","name":"offset","type":"integer"},{"description":"continue token to paginate the subsequent data items","in":"query","name":"continue","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1UsersSummary"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified user summary list","tags":["v1"]},"post":{"operationId":"v1UsersSummaryGet","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1UsersSummarySpec"}}],"responses":{"200":{"description":"An array of users summary items","schema":{"$ref":"#/definitions/v1UsersSummaryList"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Retrieves a list of users summary with provided filter spec","tags":["v1"]}},"/v1/users/system/macros":{"delete":{"operationId":"v1UsersSystemMacrosDeleteByMacroName","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1Macros"}}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Delete the macros for the system user by macro name","tags":["v1"]},"get":{"operationId":"v1UsersSystemMacrosList","responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1Macros"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"List the macros of the system","tags":["v1"]},"patch":{"operationId":"v1UsersSystemMacrosUpdateByMacroName","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1Macros"}}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Update the macros for the system user by macro name","tags":["v1"]},"post":{"operationId":"v1UsersSystemMacrosCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1Macros"}}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Create or add new macros for the system user","tags":["v1"]},"put":{"operationId":"v1UsersSystemMacrosUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1Macros"}}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Update the macros of the system","tags":["v1"]}},"/v1/users/{uid}":{"delete":{"description":"Deletes the specified User for given uid","operationId":"v1UsersUidDelete","responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified User","tags":["v1"]},"get":{"description":"Returns a User for the specified uid.","operationId":"v1UsersUidGet","responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1User"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified User","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"patch":{"description":"User is patched for the specified information","operationId":"v1UsersUidPatch","parameters":[{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/v1UserPatch"}}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Patches the specified User","tags":["v1"]},"put":{"description":"A user is created for the given user context","operationId":"v1UsersUidUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1UserUpdateEntity"}}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Update User","tags":["v1"]}},"/v1/users/{uid}/password/change":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"patch":{"description":"User password change request via current password","operationId":"v1UsersUidPasswordChange","parameters":[{"in":"body","name":"body","required":true,"schema":{"properties":{"currentPassword":{"type":"string"},"newPassword":{"type":"string"}},"required":["newPassword"],"type":"object"}}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"User password change request using the user uid","tags":["v1"]}},"/v1/users/{uid}/password/reset":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"patch":{"description":"User password reset request, will send the password reset option through the emailId","operationId":"v1UsersUidPasswordReset","responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"User password reset request using the user uid","tags":["v1"]}},"/v1/users/{uid}/projects":{"get":{"description":"Returns a User with projects and roles","operationId":"v1UsersProjectRoles","responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1ProjectRolesEntity"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified User Projects and Roles information","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"put":{"description":"User is updated with projects and roles","operationId":"v1UsersProjectRolesPut","parameters":[{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/v1ProjectRolesPatch"}}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the projects and roles for user","tags":["v1"]}},"/v1/users/{uid}/resourceRoles":{"get":{"description":"Returns resource roles for user","operationId":"v1UsersUidResourceRoles","responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1ResourceRoles"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified individual and resource roles for a user","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"post":{"description":"Resource roles added to specific user","operationId":"v1UsersUidResourceRolesCreate","parameters":[{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/v1ResourceRolesUpdateEntity"}}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Add resource roles for user","tags":["v1"]}},"/v1/users/{uid}/resourceRoles/{resourceRoleUid}":{"delete":{"operationId":"v1UsersUidResourceRolesUidDelete","responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deleted the resource roles from user","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"},{"in":"path","name":"resourceRoleUid","required":true,"type":"string"}],"patch":{"description":"Specific resource roles fo user is updated","operationId":"v1UsersResourceRolesUidUpdate","parameters":[{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/v1ResourceRolesUpdateEntity"}}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the resource roles for user","tags":["v1"]}},"/v1/users/{uid}/roles":{"get":{"description":"Returns roles clubbed from team","operationId":"v1UsersUidRoles","responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1UserRolesEntity"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified individual and team roles for a user","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"put":{"description":"User is updated with roles","operationId":"v1UsersUidRolesUpdate","parameters":[{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/v1UserRoleUIDs"}}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the roles for user","tags":["v1"]}},"/v1/users/{uid}/status/loginMode":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"patch":{"operationId":"v1UsersStatusLoginMode","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1UserStatusLoginMode"}}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Users status login mode","tags":["v1"]}},"/v1/workspaces":{"post":{"operationId":"v1WorkspacesCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1WorkspaceEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Create workspace","tags":["v1"]}},"/v1/workspaces/teams/{teamUid}/roles":{"get":{"operationId":"v1TeamsWorkspaceGetRoles","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1WorkspaceScopeRoles"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified team's workspaces and roles data","tags":["v1"]},"parameters":[{"in":"path","name":"teamUid","required":true,"type":"string"}],"put":{"operationId":"v1TeamsWorkspaceRolesPut","parameters":[{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/v1WorkspacesRolesPatch"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the workspace roles for the specified team","tags":["v1"]}},"/v1/workspaces/users/{userUid}/roles":{"get":{"description":"Returns a User with workspaces and roles","operationId":"v1UsersWorkspaceGetRoles","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1WorkspaceScopeRoles"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified User workspaces and Roles information","tags":["v1"]},"parameters":[{"in":"path","name":"userUid","required":true,"type":"string"}],"put":{"description":"User is updated with workspace roles","operationId":"v1UsersWorkspaceRolesPut","parameters":[{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/v1WorkspacesRolesPatch"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the workspace roles for user","tags":["v1"]}},"/v1/workspaces/validate/name":{"get":{"operationId":"v1WorkspacesValidateName","parameters":[{"in":"query","name":"name","required":true,"type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"Ok response without content","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Validates the workspace name","tags":["v1"]}},"/v1/workspaces/{uid}":{"delete":{"operationId":"v1WorkspacesUidDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified workspace","tags":["v1"]},"get":{"operationId":"v1WorkspacesUidGet","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1Workspace"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the specified workspace","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}]},"/v1/workspaces/{uid}/backup":{"delete":{"operationId":"v1WorkspaceOpsBackupDelete","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1WorkspaceBackupDeleteEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Delete workspace backup","tags":["v1"]},"get":{"operationId":"v1WorkspaceOpsBackupGet","parameters":[{"in":"query","name":"backupRequestUid","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1WorkspaceBackup"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the workspace backup result","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"post":{"operationId":"v1WorkspaceOpsBackupCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1WorkspaceBackupConfigEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Create workspace backup settings","tags":["v1"]},"put":{"operationId":"v1WorkspaceOpsBackupUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1WorkspaceBackupConfigEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Update workspace backup settings","tags":["v1"]}},"/v1/workspaces/{uid}/backup/onDemand":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"post":{"operationId":"v1WorkspaceOpsBackupOnDemandCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1WorkspaceBackupConfigEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Create On demand Workspace Backup","tags":["v1"]}},"/v1/workspaces/{uid}/clusterNamespaces":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"put":{"operationId":"v1WorkspacesUidClusterNamespacesUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1WorkspaceClusterNamespacesEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified workspace namespaces","tags":["v1"]}},"/v1/workspaces/{uid}/clusterRbacs":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"post":{"operationId":"v1WorkspacesClusterRbacCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ClusterRbac"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Create cluster rbac in workspace","tags":["v1"]}},"/v1/workspaces/{uid}/clusterRbacs/{clusterRbacUid}":{"delete":{"operationId":"v1WorkspacesUidClusterRbacDelete","parameters":[{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was deleted successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Deletes the specified workspace cluster rbac","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"},{"in":"path","name":"clusterRbacUid","required":true,"type":"string"}],"put":{"operationId":"v1WorkspacesUidClusterRbacUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ClusterRbac"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified workspace cluster rbac","tags":["v1"]}},"/v1/workspaces/{uid}/meta":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"put":{"operationId":"v1WorkspacesUidMetaUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1ObjectMeta"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified workspace meta","tags":["v1"]}},"/v1/workspaces/{uid}/resourceAllocations":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"put":{"description":"Deprecated","operationId":"v1WorkspacesUidResourceAllocationsUpdate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1WorkspaceResourceAllocationsEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"204":{"description":"The resource was updated successfully"}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Updates the specified workspace resource allocations","tags":["v1"]}},"/v1/workspaces/{uid}/restore":{"get":{"operationId":"v1WorkspaceOpsRestoreGet","parameters":[{"in":"query","name":"restoreRequestUid","type":"string"},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/v1WorkspaceRestore"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Returns the workspace restore result","tags":["v1"]},"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}]},"/v1/workspaces/{uid}/restore/onDemand":{"parameters":[{"in":"path","name":"uid","required":true,"type":"string"}],"post":{"operationId":"v1WorkspaceOpsRestoreOnDemandCreate","parameters":[{"in":"body","name":"body","schema":{"$ref":"#/definitions/v1WorkspaceRestoreConfigEntity"}},{"description":"Scope the request to the specified project uid","in":"header","name":"ProjectUid","type":"string"}],"responses":{"201":{"description":"Created successfully","headers":{"AuditUid":{"description":"Audit uid for the request","type":"string"}},"schema":{"$ref":"#/definitions/v1Uid"}}},"security":[{"ApiKey":[]},{"Authorization":[]}],"summary":"Create On demand Workspace Restore","tags":["v1"]}}},"produces":["application/json"],"schemes":["http","https"],"securityDefinitions":{"ApiKey":{"description":"API key authorization where API key can be generated from Palette console under Profile \u003e My API Keys","in":"header","name":"ApiKey","type":"apiKey"},"Authorization":{"description":"JWT token authorization obtained using /v1/auth/authenticate api","in":"header","name":"Authorization","type":"apiKey"}},"swagger":"2.0"} \ No newline at end of file +{ + "consumes": [ + "application/json" + ], + "definitions": { + "URLEncodedBase64": { + "format": "url-encoded-base64", + "type": "string" + }, + "V1AwsAccountSts": { + "description": "AWS cloud account sts", + "properties": { + "accountId": { + "description": "A 12-digit number, such as 123456789012, that uniquely identifies an AWS account", + "type": "string" + }, + "externalId": { + "description": "It can be passed to the AssumeRole API of the STS. It can be used in the condition element in a role's trust policy, allowing the role to be assumed only when a certain value is present in the external ID", + "type": "string" + }, + "partition": { + "$ref": "#/definitions/v1AwsPartition" + } + }, + "type": "object" + }, + "V1AwsPropertiesValidateSpec": { + "description": "AWS properties validate spec", + "properties": { + "region": { + "type": "string" + }, + "sshKeyName": { + "type": "string" + } + }, + "type": "object" + }, + "V1EksPropertiesValidateSpec": { + "description": "Eks properties validate spec", + "properties": { + "cloudAccountUid": { + "type": "string" + }, + "name": { + "type": "string" + }, + "region": { + "type": "string" + }, + "sshKeyName": { + "type": "string" + }, + "subnets": { + "items": { + "type": "string" + }, + "type": "array" + }, + "vpcId": { + "type": "string" + } + }, + "type": "object" + }, + "V1GcpPropertiesValidateSpec": { + "description": "Gcp properties validate spec", + "properties": { + "azs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "cloudAccountUid": { + "type": "string" + }, + "projectId": { + "type": "string" + }, + "region": { + "type": "string" + } + }, + "type": "object" + }, + "V1PasswordsBlockList": { + "description": "List of blocklisted passwords", + "properties": { + "spec": { + "$ref": "#/definitions/v1PasswordsBlockListEntity" + } + }, + "type": "object" + }, + "urlEncodedBase64": { + "format": "url-encoded-base64", + "type": "string" + }, + "v1.AzureAccountEntitySpec": { + "properties": { + "clientCloud": { + "default": "public", + "description": "Contains configuration for Azure cloud", + "enum": [ + "azure-china", + "azure-government", + "public" + ], + "type": "string" + }, + "clientId": { + "type": "string" + }, + "clientSecret": { + "type": "string" + }, + "subscriptionId": { + "type": "string" + }, + "tenantId": { + "type": "string" + } + }, + "type": "object" + }, + "v1.CloudWatchConfig": { + "description": "Cloud watch config entity", + "properties": { + "credentials": { + "$ref": "#/definitions/v1AwsCloudAccount" + }, + "group": { + "description": "Name of the group", + "type": "string" + }, + "region": { + "description": "Name of the region", + "type": "string" + }, + "stream": { + "description": "Name of the stream", + "type": "string" + } + }, + "type": "object" + }, + "v1.DataSinkCloudWatchConfig": { + "description": "Data sink cloud watch config", + "properties": { + "payload": { + "$ref": "#/definitions/v1.DataSinkPayloads" + }, + "spec": { + "$ref": "#/definitions/v1.CloudWatchConfig" + } + }, + "type": "object" + }, + "v1.DataSinkPayload": { + "additionalProperties": { + "type": "object" + }, + "description": "Data sink payload entity", + "properties": { + "refUid": { + "description": "RefUid of the data sink payload", + "type": "string" + }, + "timestamp": { + "$ref": "#/definitions/v1Time" + } + }, + "type": "object" + }, + "v1.DataSinkPayloads": { + "description": "List of data sink payload entities", + "items": { + "$ref": "#/definitions/v1.DataSinkPayload" + }, + "type": "array", + "uniqueItems": true + }, + "v1.GcpAccountEntitySpec": { + "properties": { + "jsonCredentials": { + "type": "string" + }, + "jsonCredentialsFileUid": { + "type": "string" + } + }, + "type": "object" + }, + "v1AADProfile": { + "description": "AADProfile - AAD integration is managed by AKS.", + "properties": { + "adminGroupObjectIDs": { + "description": "AdminGroupObjectIDs - AAD group object IDs that will have admin role of the cluster.", + "items": { + "type": "string" + }, + "type": "array" + }, + "managed": { + "description": "Managed - Whether to enable managed AAD.", + "type": "boolean", + "x-omitempty": false + } + }, + "required": [ + "managed", + "adminGroupObjectIDs" + ], + "type": "object" + }, + "v1APIEndpoint": { + "description": "APIEndpoint represents a reachable Kubernetes API endpoint.", + "properties": { + "host": { + "description": "The hostname on which the API server is serving.", + "type": "string" + }, + "port": { + "description": "The port on which the API server is serving.", + "format": "int32", + "type": "integer" + } + }, + "required": [ + "host", + "port" + ], + "type": "object" + }, + "v1APIServerAccessProfile": { + "description": "APIServerAccessProfile - access profile for AKS API server.", + "properties": { + "authorizedIPRanges": { + "description": "AuthorizedIPRanges - Authorized IP Ranges to kubernetes API server.", + "items": { + "default": "", + "type": "string" + }, + "type": "array" + }, + "enablePrivateCluster": { + "description": "EnablePrivateCluster - Whether to create the cluster as a private cluster or not.", + "type": "boolean" + }, + "enablePrivateClusterPublicFQDN": { + "description": "EnablePrivateClusterPublicFQDN - Whether to create additional public FQDN for private cluster or not.", + "type": "boolean" + }, + "privateDNSZone": { + "description": "PrivateDNSZone - Private dns zone mode for private cluster.", + "type": "string" + } + }, + "type": "object" + }, + "v1AWSVolumeTypes": { + "description": "AWS Volume Types", + "properties": { + "volumeTypes": { + "items": { + "$ref": "#/definitions/v1AwsVolumeType" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1AclMeta": { + "description": "Resource access control information (Read-only response data)", + "properties": { + "ownerUid": { + "description": "User or service uid which created the resource", + "type": "string" + }, + "projectUid": { + "description": "Project's uid if the resource is under a project", + "type": "string" + }, + "tenantUid": { + "description": "Tenant's uid", + "type": "string" + } + }, + "type": "object" + }, + "v1ActiveTenantResources": { + "description": "Active resources of tenant", + "properties": { + "activeResources": { + "additionalProperties": { + "items": { + "type": "string" + }, + "type": "array" + }, + "type": "object" + } + }, + "type": "object" + }, + "v1Address": { + "description": "Tenant Address", + "properties": { + "addressLine1": { + "type": "string" + }, + "addressLine2": { + "type": "string" + }, + "city": { + "type": "string" + }, + "country": { + "type": "string" + }, + "pincode": { + "type": "string" + }, + "state": { + "type": "string" + } + }, + "type": "object" + }, + "v1Alert": { + "properties": { + "channels": { + "items": { + "$ref": "#/definitions/v1Channel" + }, + "type": "array" + }, + "component": { + "type": "string" + } + }, + "type": "object" + }, + "v1AlertEntity": { + "properties": { + "channels": { + "items": { + "$ref": "#/definitions/v1Channel" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1AlertNotificationStatus": { + "properties": { + "isSucceeded": { + "type": "boolean", + "x-omitempty": false + }, + "message": { + "type": "string" + }, + "time": { + "$ref": "#/definitions/v1Time" + } + }, + "type": "object" + }, + "v1Alerts": { + "items": { + "$ref": "#/definitions/v1Alert" + }, + "type": "array" + }, + "v1ApiEndpoint": { + "description": "APIEndpoint represents a reachable Kubernetes API endpoint.", + "properties": { + "host": { + "description": "The hostname on which the API server is serving.", + "type": "string" + }, + "port": { + "description": "The port on which the API server is serving.", + "format": "int32", + "type": "integer" + } + }, + "required": [ + "host", + "port" + ], + "type": "object" + }, + "v1ApiKey": { + "description": "API key information", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1ApiKeySpec" + }, + "status": { + "$ref": "#/definitions/v1ApiKeyStatus" + } + }, + "type": "object" + }, + "v1ApiKeyActiveState": { + "properties": { + "isActive": { + "description": "API key active state", + "type": "boolean" + } + } + }, + "v1ApiKeyCreateResponse": { + "description": "Response of create API key", + "properties": { + "apiKey": { + "description": "Api key is used for authentication", + "type": "string" + }, + "uid": { + "description": "User uid", + "type": "string" + } + }, + "type": "object" + }, + "v1ApiKeyEntity": { + "description": "API key request payload", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1ApiKeySpecEntity" + } + }, + "type": "object" + }, + "v1ApiKeySpec": { + "description": "API key specification", + "properties": { + "expiry": { + "$ref": "#/definitions/v1Time", + "description": "API key expiry date" + }, + "key": { + "description": "Deprecated: API key field will be no longer available", + "type": "string" + }, + "user": { + "$ref": "#/definitions/v1ApiKeyUser", + "description": "User to whom the API key is created" + } + }, + "type": "object" + }, + "v1ApiKeySpecEntity": { + "description": "API key specification", + "properties": { + "expiry": { + "$ref": "#/definitions/v1Time", + "description": "API key expiry date" + }, + "userUid": { + "description": "User to whom the API key has to be created", + "type": "string" + } + }, + "type": "object" + }, + "v1ApiKeySpecUpdate": { + "description": "API key update request specification", + "properties": { + "expiry": { + "$ref": "#/definitions/v1Time", + "description": "API key expiry date" + } + } + }, + "v1ApiKeyStatus": { + "description": "API key status", + "properties": { + "isActive": { + "description": "API key active state", + "type": "boolean" + } + }, + "type": "object" + }, + "v1ApiKeyUpdate": { + "description": "API key update request payload", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1ApiKeySpecUpdate" + } + }, + "type": "object" + }, + "v1ApiKeyUser": { + "description": "API key user information", + "properties": { + "firstName": { + "description": "First name of user", + "type": "string" + }, + "lastName": { + "description": "Last name of user", + "type": "string" + }, + "uid": { + "description": "User uid", + "type": "string" + } + }, + "type": "object" + }, + "v1ApiKeys": { + "properties": { + "items": { + "description": "List of API keys", + "items": { + "$ref": "#/definitions/v1ApiKey" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1ApiProfiler": { + "properties": { + "api": { + "type": "string" + }, + "endTime": { + "format": "date-time", + "type": "string" + }, + "ops": { + "items": { + "type": "string" + }, + "type": "array" + }, + "requestUid": { + "type": "string" + }, + "startTime": { + "format": "date-time", + "type": "string" + }, + "timeTaken": { + "format": "int64", + "type": "integer" + } + }, + "type": "object" + }, + "v1AppDeployment": { + "description": "Application deployment response", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1AppDeploymentSpec" + }, + "status": { + "$ref": "#/definitions/v1AppDeploymentStatus" + } + }, + "type": "object" + }, + "v1AppDeploymentClusterGroupConfigEntity": { + "description": "Application deployment cluster group config", + "properties": { + "targetSpec": { + "$ref": "#/definitions/v1AppDeploymentClusterGroupTargetSpec" + } + }, + "type": "object" + }, + "v1AppDeploymentClusterGroupEntity": { + "description": "Application deployment cluster group request payload", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMetaInputEntity" + }, + "spec": { + "$ref": "#/definitions/v1AppDeploymentClusterGroupSpec" + } + }, + "type": "object" + }, + "v1AppDeploymentClusterGroupSpec": { + "description": "Application deployment cluster group spec", + "properties": { + "config": { + "$ref": "#/definitions/v1AppDeploymentClusterGroupConfigEntity" + }, + "profile": { + "$ref": "#/definitions/v1AppDeploymentProfileEntity" + } + }, + "type": "object" + }, + "v1AppDeploymentClusterGroupTargetSpec": { + "description": "Application deployment cluster group target spec", + "properties": { + "clusterGroupUid": { + "description": "Application deployment cluster group uid", + "type": "string" + }, + "clusterLimits": { + "$ref": "#/definitions/v1AppDeploymentTargetClusterLimits" + }, + "clusterName": { + "description": "Application deployment virtual cluster name", + "type": "string" + } + }, + "required": [ + "clusterName", + "clusterGroupUid" + ], + "type": "object" + }, + "v1AppDeploymentClusterHealth": { + "description": "Application deployment cluster health status", + "properties": { + "state": { + "type": "string" + } + } + }, + "v1AppDeploymentClusterRef": { + "description": "Application deployment cluster reference", + "properties": { + "deploymentClusterType": { + "description": "Application deployment source cluster type[ \"virtualCluster\", \"hostCluster\" ]", + "enum": [ + "virtual", + "host" + ], + "type": "string" + }, + "name": { + "description": "Application deployment cluster name", + "type": "string" + }, + "uid": { + "description": "Application deployment cluster uid", + "type": "string" + } + }, + "type": "object" + }, + "v1AppDeploymentClusterRefSummary": { + "description": "Application deployment cluster reference", + "properties": { + "deploymentClusterType": { + "description": "Application deployment source cluster type[ \"virtualCluster\", \"hostCluster\" ]", + "enum": [ + "virtual", + "host" + ], + "type": "string" + }, + "name": { + "description": "Application deployment source cluster name", + "type": "string" + }, + "uid": { + "description": "Application deployment source cluster uid", + "type": "string" + } + } + }, + "v1AppDeploymentClusterStatus": { + "description": "Application deployment cluster status", + "properties": { + "health": { + "$ref": "#/definitions/v1AppDeploymentClusterHealth" + }, + "state": { + "type": "string" + } + } + }, + "v1AppDeploymentConfig": { + "description": "Application deployment config response", + "properties": { + "target": { + "$ref": "#/definitions/v1AppDeploymentTargetConfig" + } + }, + "type": "object" + }, + "v1AppDeploymentConfigSummary": { + "description": "Application deployment config summary", + "properties": { + "target": { + "$ref": "#/definitions/v1AppDeploymentTargetConfigSummary" + } + } + }, + "v1AppDeploymentFilterSpec": { + "description": "Application deployment filter spec", + "properties": { + "appDeploymentName": { + "$ref": "#/definitions/v1FilterString" + }, + "clusterUids": { + "$ref": "#/definitions/v1FilterArray" + }, + "tags": { + "$ref": "#/definitions/v1FilterArray" + } + } + }, + "v1AppDeploymentNotifications": { + "description": "Application deployment notifications", + "properties": { + "isAvailable": { + "type": "boolean", + "x-omitempty": false + } + } + }, + "v1AppDeploymentProfile": { + "description": "Application deployment profile", + "properties": { + "metadata": { + "$ref": "#/definitions/v1AppDeploymentProfileMeta" + }, + "template": { + "$ref": "#/definitions/v1AppProfileTemplate" + } + }, + "type": "object" + }, + "v1AppDeploymentProfileEntity": { + "description": "Application deployment profile request payload", + "properties": { + "appProfileUid": { + "description": "Application deployment profile uid", + "type": "string" + } + }, + "required": [ + "appProfileUid" + ], + "type": "object" + }, + "v1AppDeploymentProfileMeta": { + "description": "Application deployment profile metadata", + "properties": { + "name": { + "description": "Application deployment profile name", + "type": "string" + }, + "uid": { + "description": "Application deployment profile uid", + "type": "string" + }, + "version": { + "description": "Application deployment profile version", + "type": "string" + } + }, + "type": "object" + }, + "v1AppDeploymentProfileMetadataSummary": { + "description": "Application deployment profile metadata summary", + "properties": { + "name": { + "type": "string" + }, + "uid": { + "type": "string" + }, + "version": { + "type": "string" + } + } + }, + "v1AppDeploymentProfileSpec": { + "description": "Application deployment profile spec", + "properties": { + "metadata": { + "$ref": "#/definitions/v1AppDeploymentProfileMeta" + }, + "template": { + "$ref": "#/definitions/v1AppProfileTemplateSpec" + } + }, + "type": "object" + }, + "v1AppDeploymentProfileSummary": { + "description": "Application deployment profile summary", + "properties": { + "metadata": { + "$ref": "#/definitions/v1AppDeploymentProfileMetadataSummary" + }, + "template": { + "$ref": "#/definitions/v1AppProfileTemplateSummary" + } + } + }, + "v1AppDeploymentProfileVersion": { + "description": "Application deployment profile version", + "properties": { + "uid": { + "description": "Application deployment profile uid", + "type": "string" + }, + "version": { + "description": "Application deployment profile version", + "type": "string" + } + }, + "type": "object" + }, + "v1AppDeploymentProfileVersions": { + "description": "Application deployment profile versions", + "properties": { + "availableVersions": { + "description": "Application deployment profile available versions", + "items": { + "$ref": "#/definitions/v1AppDeploymentProfileVersion" + }, + "type": "array" + }, + "latestVersions": { + "description": "Application deployment profile latest versions", + "items": { + "$ref": "#/definitions/v1AppDeploymentProfileVersion" + }, + "type": "array" + }, + "metadata": { + "$ref": "#/definitions/v1AppDeploymentProfileMeta" + } + }, + "type": "object" + }, + "v1AppDeploymentSortFields": { + "enum": [ + "appDeploymentName", + "creationTimestamp", + "lastModifiedTimestamp" + ], + "type": "string", + "x-nullable": true + }, + "v1AppDeploymentSortSpec": { + "properties": { + "field": { + "$ref": "#/definitions/v1AppDeploymentSortFields" + }, + "order": { + "$ref": "#/definitions/v1SortOrder" + } + } + }, + "v1AppDeploymentSpec": { + "description": "Application deployment spec", + "properties": { + "config": { + "$ref": "#/definitions/v1AppDeploymentConfig" + }, + "profile": { + "$ref": "#/definitions/v1AppDeploymentProfile" + } + }, + "type": "object" + }, + "v1AppDeploymentStatus": { + "description": "Application deployment status", + "properties": { + "appTiers": { + "description": "Application deployment tiers", + "items": { + "$ref": "#/definitions/v1ClusterPackStatus" + }, + "type": "array" + }, + "lifecycleStatus": { + "$ref": "#/definitions/v1LifecycleStatus" + }, + "state": { + "description": "Application deployment state [ \"Pending\", \"Deploying\", \"Deployed\", \"Updating\" ]", + "type": "string" + } + }, + "type": "object" + }, + "v1AppDeploymentStatusSummary": { + "description": "Application deployment status summary", + "properties": { + "cluster": { + "$ref": "#/definitions/v1AppDeploymentClusterStatus" + }, + "notifications": { + "$ref": "#/definitions/v1AppDeploymentNotifications" + }, + "state": { + "type": "string" + } + }, + "type": "object" + }, + "v1AppDeploymentSummary": { + "description": "Application deployment summary", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "description": "Application deployment spec summary", + "properties": { + "config": { + "$ref": "#/definitions/v1AppDeploymentConfigSummary" + }, + "profile": { + "$ref": "#/definitions/v1AppDeploymentProfileSummary" + } + }, + "type": "object" + }, + "status": { + "$ref": "#/definitions/v1AppDeploymentStatusSummary" + } + }, + "type": "object" + }, + "v1AppDeploymentTargetClusterLimits": { + "description": "Application deployment target cluster limits", + "properties": { + "cpu": { + "description": "CPU cores", + "format": "int32", + "type": "integer" + }, + "memoryMiB": { + "description": "Memory in MiB", + "format": "int32", + "type": "integer" + }, + "storageGiB": { + "description": "Storage in GiB", + "format": "int32", + "type": "integer" + } + } + }, + "v1AppDeploymentTargetConfig": { + "description": "Application deployment target config response", + "properties": { + "clusterRef": { + "$ref": "#/definitions/v1AppDeploymentClusterRef" + }, + "envRef": { + "$ref": "#/definitions/v1AppDeploymentTargetEnvironmentRef" + } + }, + "type": "object" + }, + "v1AppDeploymentTargetConfigSummary": { + "description": "Application deployment target config summary", + "properties": { + "clusterRef": { + "$ref": "#/definitions/v1AppDeploymentClusterRefSummary" + } + } + }, + "v1AppDeploymentTargetEnvironmentRef": { + "description": "Application deployment target environment reference", + "properties": { + "name": { + "description": "Application deployment target resource name", + "type": "string" + }, + "type": { + "description": "Application deployment target resource type [ \"nestedCluster\", \"clusterGroup\" ]", + "type": "string" + }, + "uid": { + "description": "Application deployment target resource uid", + "type": "string" + } + }, + "type": "object" + }, + "v1AppDeploymentVirtualClusterConfigEntity": { + "description": "Application deployment virtual cluster config", + "properties": { + "targetSpec": { + "$ref": "#/definitions/v1AppDeploymentVirtualClusterTargetSpec" + } + }, + "type": "object" + }, + "v1AppDeploymentVirtualClusterEntity": { + "description": "Application deployment virtual cluster request payload", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMetaInputEntity" + }, + "spec": { + "$ref": "#/definitions/v1AppDeploymentVirtualClusterSpec" + } + }, + "type": "object" + }, + "v1AppDeploymentVirtualClusterSpec": { + "description": "Application deployment virtual cluster spec", + "properties": { + "config": { + "$ref": "#/definitions/v1AppDeploymentVirtualClusterConfigEntity" + }, + "profile": { + "$ref": "#/definitions/v1AppDeploymentProfileEntity" + } + }, + "type": "object" + }, + "v1AppDeploymentVirtualClusterTargetSpec": { + "description": "Application deployment virtual cluster target spec", + "properties": { + "clusterUid": { + "description": "Application deployment virtual cluster uid", + "type": "string" + } + }, + "required": [ + "clusterUid" + ], + "type": "object" + }, + "v1AppDeploymentsFilterSpec": { + "description": "Application deployment filter summary spec", + "properties": { + "filter": { + "$ref": "#/definitions/v1AppDeploymentFilterSpec" + }, + "sort": { + "items": { + "$ref": "#/definitions/v1AppDeploymentSortSpec" + }, + "type": "array", + "uniqueItems": true + } + } + }, + "v1AppDeploymentsSummary": { + "properties": { + "appDeployments": { + "items": { + "$ref": "#/definitions/v1AppDeploymentSummary" + }, + "type": "array", + "uniqueItems": true + }, + "listmeta": { + "$ref": "#/definitions/v1ListMetaData" + } + }, + "type": "object" + }, + "v1AppFeatureFreemium": { + "description": "Freemium information", + "properties": { + "activeClustersLimit": { + "type": "integer", + "x-omitempty": false + }, + "isFreemium": { + "type": "boolean", + "x-omitempty": false + }, + "overageUsageLimit": { + "format": "float64", + "type": "number", + "x-omitempty": false + }, + "totalUsageLimit": { + "format": "float64", + "type": "number", + "x-omitempty": false + } + } + }, + "v1AppFeatures": { + "description": "System app features", + "properties": { + "developerCredit": { + "$ref": "#/definitions/v1DeveloperCredit" + }, + "freeCloudCredit": { + "type": "boolean", + "x-omitempty": false + }, + "freemium": { + "$ref": "#/definitions/v1AppFeatureFreemium" + } + } + }, + "v1AppProfile": { + "description": "Application profile response", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "properties": { + "parentUid": { + "description": "Application profile parent profile uid", + "type": "string" + }, + "template": { + "$ref": "#/definitions/v1AppProfileTemplate" + }, + "version": { + "description": "Application profile version", + "type": "string" + }, + "versions": { + "description": "Application profile versions list", + "items": { + "$ref": "#/definitions/v1AppProfileVersion" + }, + "type": "array" + } + }, + "type": "object" + }, + "status": { + "description": "Application profile status", + "properties": { + "inUseApps": { + "description": "Application profile apps array", + "items": { + "$ref": "#/definitions/v1ObjectResReference" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "v1AppProfileCloneEntity": { + "description": "Application profile clone request payload", + "properties": { + "metadata": { + "$ref": "#/definitions/v1AppProfileCloneMetaInputEntity" + } + }, + "type": "object" + }, + "v1AppProfileCloneMetaInputEntity": { + "description": "Application profile clone metadata", + "properties": { + "name": { + "description": "Application profile name", + "type": "string" + }, + "target": { + "$ref": "#/definitions/v1AppProfileCloneTarget" + }, + "version": { + "description": "Application profile version", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + }, + "v1AppProfileCloneTarget": { + "description": "Application profile clone target", + "properties": { + "projectUid": { + "description": "Application profile clone target project uid", + "type": "string" + } + }, + "type": "object" + }, + "v1AppProfileEntity": { + "description": "Application profile request payload", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMetaInputEntity" + }, + "spec": { + "description": "Application profile spec", + "properties": { + "template": { + "$ref": "#/definitions/v1AppProfileTemplateEntity" + }, + "version": { + "description": "Application profile version", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "v1AppProfileFilterSpec": { + "description": "Application profile filter spec", + "properties": { + "profileName": { + "$ref": "#/definitions/v1FilterString" + }, + "tags": { + "$ref": "#/definitions/v1FilterArray" + }, + "version": { + "$ref": "#/definitions/v1FilterVersionString" + } + } + }, + "v1AppProfileMetaEntity": { + "description": "Application profile metadata request payload", + "properties": { + "metadata": { + "$ref": "#/definitions/v1AppProfileMetaUpdateEntity" + }, + "version": { + "description": "Application profile version", + "type": "string" + } + }, + "required": [ + "metadata" + ], + "type": "object" + }, + "v1AppProfileMetaUpdateEntity": { + "description": "Application profile metadata update request payload", + "properties": { + "annotations": { + "additionalProperties": { + "type": "string" + }, + "description": "Application profile annotations", + "type": "object" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Application profile labels", + "type": "object" + } + }, + "type": "object" + }, + "v1AppProfileMetadata": { + "description": "Application profile metadata summary", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectEntity" + }, + "spec": { + "properties": { + "version": { + "type": "string" + } + } + } + }, + "type": "object" + }, + "v1AppProfileSortFields": { + "enum": [ + "profileName", + "creationTimestamp", + "lastModifiedTimestamp" + ], + "type": "string", + "x-nullable": true + }, + "v1AppProfileSortSpec": { + "properties": { + "field": { + "$ref": "#/definitions/v1AppProfileSortFields" + }, + "order": { + "$ref": "#/definitions/v1SortOrder" + } + } + }, + "v1AppProfileSummary": { + "description": "Application profile summary", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "description": "Application profile spec summary", + "properties": { + "parentUid": { + "type": "string" + }, + "template": { + "$ref": "#/definitions/v1AppProfileTemplateSummary" + }, + "version": { + "type": "string" + }, + "versions": { + "description": "Application profile's list of all the versions", + "items": { + "$ref": "#/definitions/v1AppProfileVersion" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "v1AppProfileTemplate": { + "description": "Application profile template information", + "properties": { + "appTiers": { + "description": "Application profile tiers", + "items": { + "$ref": "#/definitions/v1AppTierRef" + }, + "type": "array", + "uniqueItems": true + }, + "registryRefs": { + "description": "Application profile registries reference", + "items": { + "$ref": "#/definitions/v1ObjectReference" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1AppProfileTemplateEntity": { + "description": "Application profile template spec", + "properties": { + "appTiers": { + "description": "Application profile tiers", + "items": { + "$ref": "#/definitions/v1AppTierEntity" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "v1AppProfileTemplateSpec": { + "description": "Application profile template specs", + "properties": { + "appTiers": { + "description": "Application profile tiers", + "items": { + "$ref": "#/definitions/v1AppTier" + }, + "type": "array", + "uniqueItems": true + }, + "registryRefs": { + "description": "Application profile registries reference", + "items": { + "$ref": "#/definitions/v1ObjectReference" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1AppProfileTemplateSummary": { + "description": "Application profile template summary", + "properties": { + "appTiers": { + "items": { + "$ref": "#/definitions/v1AppTierSummary" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1AppProfileTiers": { + "description": "Application profile tiers information", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1AppProfileTiersSpec" + } + }, + "type": "object" + }, + "v1AppProfileTiersSpec": { + "description": "Application profile tiers information", + "properties": { + "appTiers": { + "description": "Application profile tiers", + "items": { + "$ref": "#/definitions/v1AppTier" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "v1AppProfileVersion": { + "description": "Application profile version", + "properties": { + "uid": { + "type": "string" + }, + "version": { + "type": "string" + } + }, + "type": "object" + }, + "v1AppProfilesFilterSpec": { + "description": "Application profile filter summary spec", + "properties": { + "filter": { + "$ref": "#/definitions/v1AppProfileFilterSpec" + }, + "sort": { + "items": { + "$ref": "#/definitions/v1AppProfileSortSpec" + }, + "type": "array", + "uniqueItems": true + } + } + }, + "v1AppProfilesMetadata": { + "properties": { + "appProfiles": { + "items": { + "$ref": "#/definitions/v1AppProfileMetadata" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "v1AppProfilesSummary": { + "properties": { + "appProfiles": { + "items": { + "$ref": "#/definitions/v1AppProfileSummary" + }, + "type": "array", + "uniqueItems": true + }, + "listmeta": { + "$ref": "#/definitions/v1ListMetaData" + } + }, + "type": "object" + }, + "v1AppTier": { + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1AppTierSpec" + } + } + }, + "v1AppTierEntity": { + "description": "Application tier request payload", + "properties": { + "containerRegistryUid": { + "description": "Application tier container registry uid", + "type": "string" + }, + "installOrder": { + "description": "Application tier installation order", + "format": "int32", + "type": "integer" + }, + "manifests": { + "description": "Application tier manifests", + "items": { + "$ref": "#/definitions/v1ManifestInputEntity" + }, + "type": "array" + }, + "name": { + "description": "Application tier name", + "type": "string" + }, + "properties": { + "description": "Application tier properties", + "items": { + "$ref": "#/definitions/v1AppTierPropertyEntity" + }, + "type": "array" + }, + "registryUid": { + "description": "Application tier registry uid", + "type": "string" + }, + "sourceAppTierUid": { + "description": "Application tier source pack uid", + "type": "string" + }, + "type": { + "$ref": "#/definitions/v1AppTierType" + }, + "values": { + "description": "Application tier configuration values in yaml format", + "type": "string" + }, + "version": { + "description": "Application tier version", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + }, + "v1AppTierManifests": { + "description": "Application tier manifests data", + "properties": { + "manifests": { + "description": "Application tier manifests array", + "items": { + "$ref": "#/definitions/v1Manifest" + }, + "type": "array" + } + } + }, + "v1AppTierPatchEntity": { + "description": "Application tier patch request payload", + "properties": { + "appTier": { + "$ref": "#/definitions/v1AppTierEntity" + }, + "replaceWithAppTier": { + "description": "Application tier UID to be replaced with new tier", + "type": "string" + } + } + }, + "v1AppTierProperty": { + "description": "Application tier property object", + "properties": { + "format": { + "description": "Application tier property format", + "type": "string" + }, + "name": { + "description": "Application tier property name", + "type": "string" + }, + "type": { + "description": "Application tier property data type", + "type": "string" + }, + "value": { + "description": "Application tier property value", + "type": "string" + } + } + }, + "v1AppTierPropertyEntity": { + "description": "Application tier property object", + "properties": { + "name": { + "description": "Application tier property name", + "type": "string" + }, + "value": { + "description": "Application tier property value", + "type": "string" + } + } + }, + "v1AppTierRef": { + "description": "Application tier reference", + "properties": { + "name": { + "description": "Application tier name", + "type": "string" + }, + "type": { + "$ref": "#/definitions/v1AppTierType" + }, + "uid": { + "description": "Application tier uid to uniquely identify the tier", + "type": "string" + }, + "version": { + "description": "Application tier version", + "type": "string" + } + }, + "type": "object" + }, + "v1AppTierResolvedValues": { + "description": "Application tier resolved macro values", + "properties": { + "resolved": { + "additionalProperties": { + "type": "string" + }, + "description": "Application tier resolved macro values map", + "type": "object" + } + } + }, + "v1AppTierSourceSummary": { + "description": "Application profile's tier source information", + "properties": { + "addonSubType": { + "type": "string" + }, + "addonType": { + "type": "string" + }, + "logoUrl": { + "type": "string" + }, + "name": { + "type": "string" + }, + "type": { + "type": "string" + }, + "uid": { + "type": "string" + } + } + }, + "v1AppTierSpec": { + "description": "Application tier specs", + "properties": { + "containerRegistryUid": { + "description": "Application tier container registry uid", + "type": "string" + }, + "installOrder": { + "description": "Application tier installation order", + "format": "int32", + "type": "integer" + }, + "manifests": { + "description": "Application tier attached manifest content in yaml format", + "items": { + "$ref": "#/definitions/v1ObjectReference" + }, + "type": "array" + }, + "properties": { + "description": "Application tier properties", + "items": { + "$ref": "#/definitions/v1AppTierProperty" + }, + "type": "array" + }, + "registryUid": { + "description": "Registry uid", + "type": "string" + }, + "sourceAppTierUid": { + "description": "Application tier source pack uid", + "type": "string" + }, + "type": { + "$ref": "#/definitions/v1AppTierType", + "description": "Application tier type" + }, + "values": { + "description": "Application tier configuration values in yaml format", + "type": "string" + }, + "version": { + "description": "Application tier version", + "type": "string" + } + }, + "type": "object" + }, + "v1AppTierSummary": { + "description": "Application profile's tier summary", + "properties": { + "name": { + "type": "string" + }, + "source": { + "$ref": "#/definitions/v1AppTierSourceSummary" + }, + "type": { + "type": "string" + }, + "uid": { + "type": "string" + }, + "version": { + "type": "string" + } + } + }, + "v1AppTierType": { + "default": "manifest", + "enum": [ + "manifest", + "helm", + "operator-instance", + "container" + ], + "type": "string" + }, + "v1AppTierUpdateEntity": { + "description": "Application tier update request payload", + "properties": { + "containerRegistryUid": { + "description": "Application tier container registry uid", + "type": "string" + }, + "installOrder": { + "description": "Application tier installation order", + "format": "int32", + "type": "integer" + }, + "manifests": { + "description": "Application tier manifests", + "items": { + "$ref": "#/definitions/v1ManifestRefUpdateEntity" + }, + "type": "array" + }, + "name": { + "description": "Application tier name", + "type": "string" + }, + "properties": { + "description": "Application tier properties", + "items": { + "$ref": "#/definitions/v1AppTierPropertyEntity" + }, + "type": "array" + }, + "values": { + "description": "Application tier configuration values in yaml format", + "type": "string" + }, + "version": { + "description": "Application tier version", + "type": "string" + } + }, + "type": "object" + }, + "v1AppVersion": { + "description": "spectro application management app version information", + "properties": { + "intermediateVersions": { + "items": { + "$ref": "#/definitions/v1ReleaseVersion" + }, + "type": "array", + "uniqueItems": true + }, + "latestVerson": { + "$ref": "#/definitions/v1ReleaseVersion" + } + } + }, + "v1ArchType": { + "default": "amd64", + "enum": [ + "amd64", + "arm64" + ], + "type": "string" + }, + "v1AsyncOperationIdEntity": { + "description": "Async operation id", + "properties": { + "operationId": { + "description": "OperationId for a particular sync operation id", + "type": "string" + } + }, + "type": "object" + }, + "v1AsyncResult": { + "properties": { + "data": { + "type": "object" + }, + "error": { + "type": "string" + }, + "isSuccess": { + "type": "boolean" + } + }, + "type": "object" + }, + "v1AsyncStatus": { + "properties": { + "endTime": { + "$ref": "#/definitions/v1Time" + }, + "result": { + "$ref": "#/definitions/v1AsyncResult", + "type": "object" + }, + "stage": { + "type": "string" + }, + "startTime": { + "$ref": "#/definitions/v1Time" + } + }, + "type": "object" + }, + "v1Audit": { + "description": "Audit response payload", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1AuditSpec" + } + }, + "type": "object" + }, + "v1AuditActor": { + "description": "Audit actor object", + "properties": { + "actorType": { + "enum": [ + "user", + "system", + "service" + ], + "type": "string" + }, + "project": { + "$ref": "#/definitions/v1ProjectMeta" + }, + "serviceName": { + "type": "string" + }, + "user": { + "$ref": "#/definitions/v1UserMeta" + } + } + }, + "v1AuditMsgUpdate": { + "description": "Audit user message update request payload", + "properties": { + "userMsg": { + "description": "User message", + "maxLength": 255, + "minLength": 3, + "type": "string" + } + }, + "type": "object" + }, + "v1AuditResourceReference": { + "description": "Audit resource reference object", + "properties": { + "kind": { + "description": "Audit resource type", + "type": "string" + }, + "label": { + "description": "Audit resource label", + "type": "string" + }, + "name": { + "description": "Audit resource name", + "type": "string" + }, + "uid": { + "description": "Audit resource uid", + "type": "string" + } + }, + "required": [ + "uid" + ], + "type": "object" + }, + "v1AuditSpec": { + "description": "Audit specifications", + "properties": { + "actionMsg": { + "description": "Audit action message", + "type": "string" + }, + "actionType": { + "enum": [ + "create", + "update", + "delete", + "publish", + "deploy" + ], + "type": "string" + }, + "actor": { + "$ref": "#/definitions/v1AuditActor" + }, + "contentMsg": { + "description": "Audit content message", + "type": "string" + }, + "resource": { + "$ref": "#/definitions/v1AuditResourceReference" + }, + "userMsg": { + "description": "Audit user message", + "type": "string" + } + } + }, + "v1AuditSysMsg": { + "description": "Audit system message", + "properties": { + "actionMsg": { + "description": "Audit resource action message", + "type": "string" + }, + "contentMsg": { + "description": "Audit resource content message", + "type": "string" + } + }, + "type": "object" + }, + "v1Audits": { + "properties": { + "items": { + "description": "List of audit message", + "items": { + "$ref": "#/definitions/v1Audit" + }, + "type": "array", + "uniqueItems": true + }, + "listmeta": { + "$ref": "#/definitions/v1ListMetaData" + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1AuthAllyTokenRequest": { + "properties": { + "edgeAuthToken": { + "type": "string" + }, + "edgeHostUid": { + "type": "string" + }, + "spectroClusterUid": { + "type": "string" + } + }, + "type": "object" + }, + "v1AuthCertsGet": { + "description": "Auth certs get", + "properties": { + "caCert": { + "type": "string", + "x-omitempty": false + }, + "insecureSkipVerify": { + "type": "boolean", + "x-omitempty": false + } + } + }, + "v1AuthEdgeJetKeyRequest": { + "properties": { + "edgeAuthToken": { + "type": "string" + }, + "edgeHostUid": { + "type": "string" + }, + "spectroClusterUid": { + "type": "string" + } + }, + "required": [ + "edgeAuthToken", + "edgeHostUid" + ], + "type": "object" + }, + "v1AuthJetKeyRequest": { + "properties": { + "allyAuthToken": { + "type": "string" + }, + "hostClusterUid": { + "type": "string" + } + }, + "required": [ + "allyAuthToken", + "hostClusterUid" + ], + "type": "object" + }, + "v1AuthLogin": { + "description": "Describes the credential details required for authentication", + "properties": { + "emailId": { + "description": "Describes the email id required for the user to authenticate", + "type": "string" + }, + "org": { + "description": "Describes the user's organization name to login", + "type": "string" + }, + "password": { + "description": "Describes the password required for the user to authenticate", + "format": "password", + "type": "string" + } + }, + "type": "object" + }, + "v1AuthLoginEntity": { + "description": "Auth login entity", + "properties": { + "authType": { + "enum": [ + "password", + "sso" + ], + "type": "string" + }, + "orgName": { + "type": "string" + }, + "redirectUrl": { + "type": "string", + "x-omitempty": false + } + }, + "type": "object" + }, + "v1AuthLogins": { + "description": "Deprecated. Applicable auth logins with multiple orgs", + "properties": { + "appEnv": { + "type": "string" + }, + "authType": { + "description": "Deprecated.", + "enum": [ + "password", + "sso" + ], + "type": "string" + }, + "orgName": { + "description": "Deprecated.", + "type": "string" + }, + "orgs": { + "items": { + "$ref": "#/definitions/v1AuthLoginEntity" + }, + "type": "array" + }, + "redirectUrl": { + "description": "Deprecated.", + "type": "string", + "x-omitempty": false + } + }, + "type": "object" + }, + "v1AuthMfaLoginFinishRequest": { + "properties": { + "_type": { + "type": "string" + }, + "authenticatorAttachment": { + "type": "string" + }, + "clientExtensionResults": { + "additionalProperties": { + "type": "object" + }, + "type": "object" + }, + "deviceName": { + "type": "string" + }, + "id": { + "type": "string" + }, + "rawId": { + "$ref": "#/definitions/urlEncodedBase64" + }, + "response": { + "properties": { + "authenticatorData": { + "$ref": "#/definitions/urlEncodedBase64" + }, + "clientDataJSON": { + "$ref": "#/definitions/urlEncodedBase64" + }, + "signature": { + "$ref": "#/definitions/urlEncodedBase64" + }, + "userHandle": { + "$ref": "#/definitions/urlEncodedBase64" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "v1AuthServiceTokenRequest": { + "properties": { + "authKey": { + "type": "string" + }, + "edgeHostUid": { + "type": "string" + }, + "hostClusterUid": { + "type": "string" + }, + "isSystem": { + "type": "boolean" + }, + "jetUid": { + "type": "string" + }, + "overlordUid": { + "type": "string" + }, + "serviceVersion": { + "type": "string" + }, + "spectroClusterUid": { + "type": "string" + }, + "tenantUid": { + "type": "string" + } + }, + "type": "object" + }, + "v1AuthServiceTokenResponse": { + "properties": { + "token": { + "type": "string" + } + }, + "type": "object" + }, + "v1AuthShellyLoginRequest": { + "properties": { + "secret": { + "type": "string" + } + }, + "type": "object" + }, + "v1AuthToken": { + "properties": { + "token": { + "type": "string" + } + }, + "type": "object" + }, + "v1AuthTokenRevoke": { + "properties": { + "tokens": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + } + }, + "v1AuthTokenSettings": { + "description": "System auth token settings", + "properties": { + "expiryTimeMinutes": { + "description": "Auth token expiry time in minutes", + "format": "int32", + "maximum": 1440, + "minimum": 15, + "type": "integer", + "x-omitempty": false + } + } + }, + "v1AwsAMI": { + "properties": { + "id": { + "type": "string" + }, + "os": { + "type": "string" + }, + "region": { + "type": "string" + }, + "state": { + "type": "string" + } + }, + "type": "object" + }, + "v1AwsAccount": { + "description": "Aws cloud account information", + "properties": { + "apiVersion": { + "type": "string" + }, + "kind": { + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1AwsCloudAccount" + }, + "status": { + "$ref": "#/definitions/v1CloudAccountStatus" + } + }, + "type": "object" + }, + "v1AwsAccounts": { + "description": "List of AWS accounts", + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1AwsAccount" + }, + "type": "array", + "uniqueItems": true + }, + "listmeta": { + "$ref": "#/definitions/v1ListMetaData" + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1AwsAmiReference": { + "description": "AMI is the reference to the AMI from which to create the machine instance", + "properties": { + "eksOptimizedLookupType": { + "description": "EKSOptimizedLookupType If specified, will look up an EKS Optimized image in SSM Parameter store", + "enum": [ + "AmazonLinux", + "AmazonLinuxGPU" + ], + "type": "string" + }, + "id": { + "description": "ID of resource", + "type": "string" + } + }, + "type": "object" + }, + "v1AwsAvailabilityZone": { + "description": "Distinct locations within an AWS Region that are engineered to be isolated from failures in other Zones", + "properties": { + "name": { + "description": "AWS availability zone name", + "type": "string" + }, + "state": { + "description": "AWS availability zone state", + "type": "string" + }, + "zoneId": { + "description": "AWS availability zone id", + "type": "string" + } + }, + "type": "object" + }, + "v1AwsAvailabilityZones": { + "properties": { + "zones": { + "description": "List of AWS Zones", + "items": { + "$ref": "#/definitions/v1AwsAvailabilityZone" + }, + "type": "array" + } + }, + "required": [ + "zones" + ], + "type": "object" + }, + "v1AwsCloudAccount": { + "description": "AWS cloud account which includes access key and secret key in case of 'secret' credentials type. It includes policyARNS, ARN and externalId in case of sts. Partition is a group of AWS Region and Service objects", + "properties": { + "accessKey": { + "description": "AWS account access key", + "type": "string" + }, + "credentialType": { + "$ref": "#/definitions/v1AwsCloudAccountCredentialType" + }, + "partition": { + "default": "aws", + "description": "AWS accounts are scoped to a single partition. Allowed values [aws, aws-us-gov], Default values", + "enum": [ + "aws", + "aws-us-gov" + ], + "type": "string" + }, + "policyARNs": { + "description": "List of policy ARNs required in case of credentialType sts.", + "items": { + "type": "string" + }, + "type": "array" + }, + "secretKey": { + "description": "AWS account secret key", + "type": "string" + }, + "sts": { + "$ref": "#/definitions/v1AwsStsCredentials", + "description": "AWS STS credentials in case of credentialType sts, will be empty in case of credential type secret" + } + }, + "type": "object" + }, + "v1AwsCloudAccountCredentialType": { + "default": "secret", + "description": "Allowed Values [secret, sts]. STS type will be used for role assumption for sts type, accessKey/secretKey contains the source account, Arn is the target account.", + "enum": [ + "secret", + "sts" + ], + "type": "string" + }, + "v1AwsCloudClusterConfigEntity": { + "description": "AWS cloud cluster config entity", + "properties": { + "clusterConfig": { + "$ref": "#/definitions/v1AwsClusterConfig" + } + }, + "type": "object" + }, + "v1AwsCloudConfig": { + "description": "AwsCloudConfig is the Schema for the awscloudconfigs API", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1AwsCloudConfigSpec" + }, + "status": { + "$ref": "#/definitions/v1AwsCloudConfigStatus" + } + }, + "type": "object" + }, + "v1AwsCloudConfigSpec": { + "description": "AwsCloudConfigSpec defines the cloud configuration input by user This will translate to clusterspec/machinespec for cluster-api", + "properties": { + "cloudAccountRef": { + "$ref": "#/definitions/v1ObjectReference", + "description": "cloudAccountRef should point to the secret which contains AwsCloudAccount" + }, + "clusterConfig": { + "$ref": "#/definitions/v1AwsClusterConfig" + }, + "machinePoolConfig": { + "items": { + "$ref": "#/definitions/v1AwsMachinePoolConfig" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1AwsCloudConfigStatus": { + "description": "AwsCloudConfigStatus defines the observed state of AwsCloudConfig The cloudimage info built by Mold is stored here image should be mapped to a specific machinepool", + "properties": { + "ansibleRoleDigest": { + "description": "For mold controller to identify if is there any changes in Pack", + "type": "string" + }, + "conditions": { + "items": { + "$ref": "#/definitions/v1ClusterCondition" + }, + "type": "array" + }, + "images": { + "description": "Images array items should be 1-to-1 mapping to Spec.MachinePoolConfig", + "items": { + "$ref": "#/definitions/v1AwsAMI" + }, + "type": "array" + }, + "isAddonLayer": { + "description": "addon layers present in spc", + "type": "boolean" + }, + "roleDigest": { + "additionalProperties": { + "type": "string" + }, + "description": "this map will be for ansible roles present in eack pack", + "type": "object" + }, + "sourceImageId": { + "description": "sourceImageId, it can be from packref's annotations or from pack.json", + "type": "string" + }, + "useCapiImage": { + "description": "PackerVariableDigest string `json:\"packerDigest,omitempty\"` If no ansible roles found in Packs then Mold should tell Drive to use capi image and not create custom image, because there is nothing to add", + "type": "boolean" + } + }, + "type": "object" + }, + "v1AwsCloudCostSpec": { + "description": "Aws cloud account usage cost payload spec", + "properties": { + "accountId": { + "description": "AccountId of AWS cloud cost", + "type": "string" + }, + "credentials": { + "$ref": "#/definitions/v1AwsCloudAccount" + }, + "filter": { + "$ref": "#/definitions/v1AwsCloudCostSpecFilter" + } + }, + "required": [ + "credentials" + ], + "type": "object" + }, + "v1AwsCloudCostSpecFilter": { + "description": "Aws cloud account usage cost payload filter. startTime and endTime should be within 12 months range from now.", + "properties": { + "endTime": { + "$ref": "#/definitions/v1Time" + }, + "iamUserId": { + "description": "IAM UserId of AWS account", + "type": "string" + }, + "startTime": { + "$ref": "#/definitions/v1Time" + } + }, + "required": [ + "startTime" + ], + "type": "object" + }, + "v1AwsCloudCostSummary": { + "description": "AWS cloud account usage cost summary response data", + "properties": { + "cost": { + "$ref": "#/definitions/v1AwsCloudCostSummaryCloudCost" + } + }, + "type": "object" + }, + "v1AwsCloudCostSummaryCloudCost": { + "description": "AWS cloud account usage cost summary of monthlyCosts and totalCost", + "properties": { + "monthlyCosts": { + "description": "Monthly cost of AWS cost", + "items": { + "$ref": "#/definitions/v1AwsCloudCostSummaryMonthlyCost" + }, + "type": "array" + }, + "total": { + "description": "Total cost of AWS cost", + "format": "float64", + "type": "number", + "x-omitempty": false + } + }, + "type": "object" + }, + "v1AwsCloudCostSummaryMonthlyCost": { + "properties": { + "amount": { + "description": "Amount for aws cloud cost", + "format": "float64", + "type": "number", + "x-omitempty": false + }, + "timestamp": { + "description": "Time duration for aws cloud cost", + "type": "integer" + } + }, + "type": "object" + }, + "v1AwsClusterConfig": { + "description": "Cluster level configuration for aws cloud and applicable for all the machine pools", + "properties": { + "bastionDisabled": { + "description": "Create bastion node option we have earlier supported creation of bastion by default capa seems to favour session manager against bastion node https://github.com/kubernetes-sigs/cluster-api-provider-aws/issues/947", + "type": "boolean" + }, + "controlPlaneLoadBalancer": { + "description": "ControlPlaneLoadBalancer specifies how API server elb will be configured, this field is optional, not provided, \"\", default =\u003e \"Internet-facing\" \"Internet-facing\" =\u003e \"Internet-facing\" \"internal\" =\u003e \"internal\" For spectro saas setup we require to talk to the apiserver from our cluster so ControlPlaneLoadBalancer should be \"\", not provided or \"Internet-facing\"", + "type": "string" + }, + "region": { + "type": "string" + }, + "sshKeyName": { + "type": "string" + }, + "vpcId": { + "description": "VPC Id to deploy cluster into should have one public and one private subnet for the the cluster creation, this field is optional, If VPC Id is not provided a fully managed VPC will be created", + "type": "string" + } + }, + "required": [ + "region" + ], + "type": "object" + }, + "v1AwsCreditAccount": { + "properties": { + "creditLimitInDollars": { + "format": "float64", + "type": "number" + }, + "loginCredentials": { + "$ref": "#/definitions/v1AwsLoginCredentials" + }, + "userCloudAccount": { + "$ref": "#/definitions/v1AwsUserCloudAccount" + } + }, + "type": "object" + }, + "v1AwsCreditAccountEntity": { + "properties": { + "creditLimitInDollars": { + "format": "float64", + "type": "number", + "x-omitempty": false + }, + "creditUsedInDollars": { + "format": "float64", + "type": "number", + "x-omitempty": false + }, + "loginCredentials": { + "$ref": "#/definitions/v1AwsLoginCredentials" + }, + "userCloudAccount": { + "$ref": "#/definitions/v1AwsUserCloudAccount" + } + }, + "type": "object" + }, + "v1AwsFindImageRequest": { + "description": "AWS image name and credentials", + "properties": { + "amiName": { + "description": "AWS image ami name", + "type": "string" + }, + "awsAccount": { + "$ref": "#/definitions/v1AwsCloudAccount" + } + }, + "type": "object" + }, + "v1AwsIamPolicy": { + "description": "Aws policy", + "properties": { + "arn": { + "type": "string" + }, + "policyId": { + "type": "string" + }, + "policyName": { + "type": "string" + } + }, + "type": "object" + }, + "v1AwsImage": { + "description": "AWS image name and ami", + "properties": { + "id": { + "description": "AWS image id", + "type": "string" + }, + "name": { + "description": "AWS image name", + "type": "string" + }, + "owner": { + "description": "AWS image owner id", + "type": "string" + } + }, + "type": "object" + }, + "v1AwsInstanceTypes": { + "description": "List of AWS instance types", + "properties": { + "instanceTypes": { + "items": { + "$ref": "#/definitions/v1InstanceType" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1AwsKeyPairs": { + "description": "List of AWS keypairs", + "properties": { + "keyNames": { + "description": "Array of Aws Keypair names", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1AwsKmsKey": { + "description": "AWS KMS Key - gives you centralized control over the cryptographic keys used to protect your data.", + "properties": { + "keyAlias": { + "description": "AWS KMS alias", + "type": "string" + }, + "keyArn": { + "description": "AWS KMS arn", + "type": "string" + }, + "keyId": { + "description": "AWS KMS keyid", + "type": "string" + } + }, + "required": [ + "keyId", + "keyArn" + ], + "type": "object" + }, + "v1AwsKmsKeyEntity": { + "description": "List of AWS Keys", + "properties": { + "awsAccountId": { + "description": "The twelve-digit account ID of the Amazon Web Services account that owns the KMS key", + "type": "string" + }, + "enabled": { + "description": "Specifies whether the KMS key is enabled.", + "type": "boolean" + }, + "keyId": { + "description": "The globally unique identifier for the KMS key", + "type": "string" + } + }, + "type": "object" + }, + "v1AwsKmsKeys": { + "description": "List of AWS Keys", + "properties": { + "kmsKeys": { + "items": { + "$ref": "#/definitions/v1AwsKmsKey" + }, + "type": "array" + } + }, + "required": [ + "kmsKeys" + ], + "type": "object" + }, + "v1AwsLaunchTemplate": { + "description": "AWSLaunchTemplate specifies the launch template to use to create the managed node group", + "properties": { + "additionalSecurityGroups": { + "description": "AdditionalSecurityGroups is an array of references to security groups that should be applied to the instances", + "items": { + "$ref": "#/definitions/v1AwsResourceReference" + }, + "type": "array", + "uniqueItems": true + }, + "ami": { + "$ref": "#/definitions/v1AwsAmiReference" + }, + "imageLookupBaseOS": { + "description": "ImageLookupBaseOS is the name of the base operating system to use for image lookup the AMI is not set", + "type": "string" + }, + "imageLookupFormat": { + "description": "ImageLookupFormat is the AMI naming format to look up the image", + "type": "string" + }, + "imageLookupOrg": { + "description": "ImageLookupOrg is the AWS Organization ID to use for image lookup if AMI is not set", + "type": "string" + }, + "rootVolume": { + "$ref": "#/definitions/v1AwsRootVolume" + } + }, + "type": "object" + }, + "v1AwsLoginCredentials": { + "properties": { + "iamUser": { + "type": "string" + }, + "password": { + "format": "password", + "type": "string" + } + }, + "type": "object" + }, + "v1AwsMachine": { + "description": "AWS cloud VM definition", + "properties": { + "apiVersion": { + "type": "string" + }, + "kind": { + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1AwsMachineSpec" + }, + "status": { + "$ref": "#/definitions/v1CloudMachineStatus" + } + }, + "type": "object" + }, + "v1AwsMachinePoolCloudConfigEntity": { + "properties": { + "additionalSecurityGroups": { + "description": "Additional Security groups", + "items": { + "$ref": "#/definitions/v1AwsResourceReference" + }, + "type": "array" + }, + "azs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "capacityType": { + "default": "on-demand", + "description": "EC2 instance capacity type", + "enum": [ + "on-demand", + "spot" + ], + "type": "string" + }, + "instanceType": { + "description": "instance type", + "type": "string" + }, + "rootDeviceSize": { + "description": "rootDeviceSize in GBs", + "format": "int64", + "maximum": 2000, + "minimum": 1, + "type": "integer" + }, + "spotMarketOptions": { + "$ref": "#/definitions/v1SpotMarketOptions", + "description": "SpotMarketOptions allows users to configure instances to be run using AWS Spot instances." + }, + "subnets": { + "items": { + "$ref": "#/definitions/v1AwsSubnetEntity" + }, + "type": "array" + } + }, + "required": [ + "instanceType" + ], + "type": "object" + }, + "v1AwsMachinePoolConfig": { + "properties": { + "additionalLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "additionalLabels", + "type": "object" + }, + "additionalSecurityGroups": { + "description": "Additional Security groups", + "items": { + "$ref": "#/definitions/v1AwsResourceReference" + }, + "type": "array" + }, + "additionalTags": { + "additionalProperties": { + "type": "string" + }, + "description": "AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole", + "type": "object" + }, + "azs": { + "description": "AZs is only used for dynamic placement", + "items": { + "type": "string" + }, + "type": "array" + }, + "capacityType": { + "default": "on-demand", + "description": "EC2 instance capacity type", + "enum": [ + "on-demand", + "spot" + ], + "type": "string" + }, + "instanceConfig": { + "$ref": "#/definitions/v1InstanceConfig" + }, + "instanceType": { + "description": "instance type", + "type": "string" + }, + "isControlPlane": { + "description": "whether this pool is for control plane", + "type": "boolean", + "x-omitempty": false + }, + "labels": { + "description": "labels for this pool, example: control-plane/worker, gpu, windows", + "items": { + "type": "string" + }, + "type": "array" + }, + "machinePoolProperties": { + "$ref": "#/definitions/v1MachinePoolProperties" + }, + "maxSize": { + "description": "max size of the pool, for scaling", + "format": "int32", + "type": "integer" + }, + "minSize": { + "description": "min size of the pool, for scaling", + "format": "int32", + "type": "integer" + }, + "name": { + "type": "string" + }, + "nodeRepaveInterval": { + "description": "Minimum number of seconds a node should be Ready, before the next node is selected for repave. Applicable only for workerpools in infrastructure cluster", + "format": "int32", + "type": "integer" + }, + "rootDeviceSize": { + "description": "rootDeviceSize in GBs", + "format": "int64", + "type": "integer" + }, + "size": { + "description": "size of the pool, number of machines", + "format": "int32", + "type": "integer" + }, + "spotMarketOptions": { + "$ref": "#/definitions/v1SpotMarketOptions", + "description": "SpotMarketOptions allows users to configure instances to be run using AWS Spot instances." + }, + "subnetIds": { + "additionalProperties": { + "type": "string" + }, + "description": "AZ to subnet mapping filled by ally from hubble SubnetIDs [\"us-west-2d\"] = \"subnet-079b6061\" This field is optional If we don't provide a subnetId then by default the first private subnet from the AZ will be picked up for deployment", + "type": "object" + }, + "taints": { + "description": "control plane or worker taints", + "items": { + "$ref": "#/definitions/v1Taint" + }, + "type": "array", + "uniqueItems": true + }, + "updateStrategy": { + "$ref": "#/definitions/v1UpdateStrategy", + "description": "rolling update strategy for this machinepool if not specified, will use ScaleOut" + }, + "useControlPlaneAsWorker": { + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", + "type": "boolean", + "x-omitempty": false + } + }, + "required": [ + "isControlPlane" + ], + "type": "object" + }, + "v1AwsMachinePoolConfigEntity": { + "properties": { + "cloudConfig": { + "$ref": "#/definitions/v1AwsMachinePoolCloudConfigEntity" + }, + "poolConfig": { + "$ref": "#/definitions/v1MachinePoolConfigEntity" + } + }, + "required": [ + "cloudConfig" + ], + "type": "object" + }, + "v1AwsMachineSpec": { + "description": "AWS cloud VM definition spec", + "properties": { + "additionalSecurityGroups": { + "description": "Additional Security groups", + "items": { + "$ref": "#/definitions/v1AwsResourceReference" + }, + "type": "array" + }, + "ami": { + "type": "string" + }, + "az": { + "type": "string" + }, + "dnsName": { + "type": "string" + }, + "iamProfile": { + "type": "string" + }, + "instanceType": { + "type": "string" + }, + "nics": { + "items": { + "$ref": "#/definitions/v1AwsNic" + }, + "type": "array" + }, + "phase": { + "type": "string" + }, + "sshKeyName": { + "type": "string" + }, + "subnetId": { + "type": "string" + }, + "type": { + "type": "string" + }, + "vpcId": { + "type": "string" + } + }, + "required": [ + "instanceType", + "vpcId", + "ami" + ], + "type": "object" + }, + "v1AwsMachines": { + "description": "AWS machine list", + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1AwsMachine" + }, + "type": "array", + "uniqueItems": true + }, + "listmeta": { + "$ref": "#/definitions/v1ListMetaData" + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1AwsNic": { + "description": "AWS network interface", + "properties": { + "index": { + "format": "int8", + "type": "integer" + }, + "privateIPs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "publicIp": { + "type": "string" + } + }, + "type": "object" + }, + "v1AwsPartition": { + "default": "aws", + "description": "AWS accounts are scoped to a single partition. Allowed values [aws, aws-us-gov], Default values", + "enum": [ + "aws", + "aws-us-gov" + ], + "type": "string" + }, + "v1AwsPolicies": { + "properties": { + "policies": { + "items": { + "$ref": "#/definitions/v1AwsIamPolicy" + }, + "type": "array" + } + }, + "required": [ + "policies" + ], + "type": "object" + }, + "v1AwsPolicyArnsSpec": { + "description": "Aws policy ARNs spec", + "properties": { + "account": { + "$ref": "#/definitions/v1AwsCloudAccount" + }, + "policyArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "policyArns", + "account" + ], + "type": "object" + }, + "v1AwsRegion": { + "description": "AWS region which represents separate geographic area.", + "properties": { + "endpoint": { + "description": "AWS offer a regional endpoint that can used to make requests", + "type": "string" + }, + "name": { + "description": "Name of the AWS region", + "type": "string" + }, + "optInStatus": { + "description": "Enable your account to operate in the particular regions", + "type": "string" + } + }, + "type": "object" + }, + "v1AwsRegions": { + "properties": { + "regions": { + "description": "List of AWS regions", + "items": { + "$ref": "#/definitions/v1AwsRegion" + }, + "type": "array" + } + }, + "required": [ + "regions" + ], + "type": "object" + }, + "v1AwsResourceFilter": { + "description": "Filter is a filter used to identify an AWS resource", + "properties": { + "name": { + "description": "Name of the filter. Filter names are case-sensitive", + "type": "string" + }, + "values": { + "description": "Values includes one or more filter values. Filter values are case-sensitive", + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "v1AwsResourceReference": { + "description": "AWSResourceReference is a reference to a specific AWS resource by ID or filters", + "properties": { + "arn": { + "description": "ARN of resource", + "type": "string" + }, + "filters": { + "description": "Filters is a set of key/value pairs used to identify a resource", + "items": { + "$ref": "#/definitions/v1AwsResourceFilter" + }, + "type": "array", + "uniqueItems": true + }, + "id": { + "description": "ID of resource", + "type": "string" + } + }, + "type": "object" + }, + "v1AwsRootVolume": { + "description": "Volume encapsulates the configuration options for the storage device.", + "properties": { + "deviceName": { + "description": "Device name", + "type": "string" + }, + "encrypted": { + "description": "EncryptionKey is the KMS key to use to encrypt the volume. Can be either a KMS key ID or ARN", + "type": "boolean" + }, + "encryptionKey": { + "description": "EncryptionKey is the KMS key to use to encrypt the volume. Can be either a KMS key ID or ARN", + "type": "string" + }, + "iops": { + "description": "IOPS is the number of IOPS requested for the disk. Not applicable to all types", + "format": "int64", + "type": "integer" + }, + "throughput": { + "description": "Throughput to provision in MiB/s supported for the volume type. Not applicable to all types.", + "format": "int64", + "type": "integer" + }, + "type": { + "description": "Type is the type of the volume (e.g. gp2, io1, etc...)", + "type": "string" + } + }, + "type": "object" + }, + "v1AwsS3BucketCredentials": { + "description": "AWS S3 Bucket credentials", + "properties": { + "bucket": { + "description": "Name of AWS S3 bucket", + "type": "string" + }, + "credentials": { + "$ref": "#/definitions/v1AwsCloudAccount" + }, + "folder": { + "description": "Name of the folder in the specified AWS S3 bucket.", + "type": "string" + }, + "region": { + "description": "Name of the available AWS region.", + "type": "string" + } + }, + "required": [ + "credentials", + "bucket", + "region" + ], + "type": "object" + }, + "v1AwsSecurityGroups": { + "properties": { + "groups": { + "items": { + "$ref": "#/definitions/v1AwsSecuritygroup" + }, + "type": "array" + } + }, + "required": [ + "groups" + ], + "type": "object" + }, + "v1AwsSecuritygroup": { + "description": "Aws security group", + "properties": { + "groupId": { + "type": "string" + }, + "groupName": { + "type": "string" + }, + "ownerId": { + "type": "string" + } + }, + "type": "object" + }, + "v1AwsStorageTypes": { + "properties": { + "storageTypes": { + "description": "List of AWS storage types", + "items": { + "$ref": "#/definitions/v1StorageType" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1AwsStsCredentials": { + "description": "Aws sts credentials", + "properties": { + "arn": { + "description": "Arn for the aws sts credentials in cloud account", + "type": "string" + }, + "externalId": { + "description": "ExternalId for the aws sts credentials in cloud account", + "type": "string" + } + }, + "type": "object" + }, + "v1AwsSubnet": { + "description": "A subnet is a range of IP addresses in a AWS VPC", + "properties": { + "az": { + "description": "Every subnet can only be associated with only one Availability Zone", + "type": "string" + }, + "isPrivate": { + "description": "Is this subnet private", + "type": "boolean" + }, + "mapPublicIpOnLaunch": { + "description": "Indicates whether instances launched in this subnet receive a public IPv4 address.", + "type": "boolean", + "x-omitempty": false + }, + "name": { + "description": "Name of the subnet", + "type": "string" + }, + "subnetId": { + "description": "Id of the subnet", + "type": "string" + } + } + }, + "v1AwsSubnetEntity": { + "properties": { + "az": { + "type": "string" + }, + "id": { + "type": "string" + } + } + }, + "v1AwsUserCloudAccount": { + "properties": { + "accountId": { + "type": "string" + }, + "cloudAccount": { + "$ref": "#/definitions/v1AwsCloudAccount" + } + } + }, + "v1AwsVolumeSize": { + "description": "AWS Volume Size entity", + "properties": { + "sizeGB": { + "description": "AWS volume size", + "type": "integer" + } + }, + "type": "object" + }, + "v1AwsVolumeType": { + "description": "AWS Volume Type entity", + "properties": { + "id": { + "description": "AWS volume type id", + "type": "string" + }, + "maxIops": { + "description": "Iops through put of volume type", + "type": "string" + }, + "maxThroughPut": { + "description": "Max through put of volume type", + "type": "string" + }, + "name": { + "description": "AWS Volume Type Name", + "type": "string" + } + }, + "type": "object" + }, + "v1AwsVpc": { + "description": "A virtual network dedicated to a AWS account", + "properties": { + "cidrBlock": { + "type": "string" + }, + "name": { + "description": "Name of the virtual network", + "type": "string" + }, + "subnets": { + "description": "List of subnets associated to a AWS VPC", + "items": { + "$ref": "#/definitions/v1AwsSubnet" + }, + "type": "array" + }, + "vpcId": { + "description": "Id of the virtual network", + "type": "string" + } + }, + "required": [ + "vpcId" + ], + "type": "object" + }, + "v1AwsVpcs": { + "description": "List of AWS VPCs", + "properties": { + "vpcs": { + "items": { + "$ref": "#/definitions/v1AwsVpc" + }, + "type": "array" + } + }, + "required": [ + "vpcs" + ], + "type": "object" + }, + "v1AzValidateEntity": { + "description": "Az validate entity", + "properties": { + "azs": { + "description": "Gcp Azs", + "items": { + "type": "string" + }, + "type": "array" + }, + "project": { + "description": "Gcp project", + "type": "string" + }, + "region": { + "description": "Gcp region", + "type": "string" + }, + "uid": { + "description": "Cloud account uid", + "type": "string" + } + }, + "type": "object" + }, + "v1AzureAccount": { + "description": "Azure account information", + "properties": { + "apiVersion": { + "description": "Cloud account api version", + "type": "string" + }, + "kind": { + "description": "Cloud account kind", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1AzureCloudAccount" + }, + "status": { + "$ref": "#/definitions/v1CloudAccountStatus" + } + }, + "type": "object" + }, + "v1AzureAccounts": { + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1AzureAccount" + }, + "type": "array", + "uniqueItems": true + }, + "listmeta": { + "$ref": "#/definitions/v1ListMetaData" + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1AzureAvailabilityZone": { + "description": "Azure availability zone", + "properties": { + "name": { + "description": "Azure availability zone name", + "type": "string" + } + }, + "type": "object" + }, + "v1AzureCloudAccount": { + "properties": { + "azureEnvironment": { + "default": "AzurePublicCloud", + "description": "Contains configuration for Azure cloud", + "enum": [ + "AzureChinaCloud", + "AzurePublicCloud", + "AzureUSGovernment", + "AzureUSGovernmentCloud" + ], + "type": "string" + }, + "clientId": { + "description": "Client ID(Directory ID) is a unique identifier generated by Azure AD that is tied to an application", + "type": "string" + }, + "clientSecret": { + "description": "ClientSecret is the secret associated with Client", + "type": "string" + }, + "settings": { + "$ref": "#/definitions/v1CloudAccountSettings", + "description": "Palette internal cloud settings" + }, + "tenantId": { + "description": "Tenant ID is the ID for the Azure AD tenant that the user belongs to.", + "type": "string" + }, + "tenantName": { + "description": "Tenant ID is the ID for the Azure AD tenant that the user belongs to.", + "type": "string" + } + }, + "required": [ + "tenantId", + "clientId", + "clientSecret" + ], + "type": "object" + }, + "v1AzureCloudClusterConfigEntity": { + "description": "Azure cloud cluster config entity", + "properties": { + "clusterConfig": { + "$ref": "#/definitions/v1AzureClusterConfig" + } + }, + "type": "object" + }, + "v1AzureCloudConfig": { + "description": "AzureCloudConfig is the Schema for the azurecloudconfigs API", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1AzureCloudConfigSpec" + }, + "status": { + "$ref": "#/definitions/v1AzureCloudConfigStatus" + } + }, + "type": "object" + }, + "v1AzureCloudConfigSpec": { + "description": "AzureCloudConfigSpec defines the cloud configuration input by user This will translate to clusterspec/machinespec for cluster-api", + "properties": { + "cloudAccountRef": { + "$ref": "#/definitions/v1ObjectReference", + "description": "cloudAccountRef should point to the secret which contains AzureCloudAccount" + }, + "clusterConfig": { + "$ref": "#/definitions/v1AzureClusterConfig" + }, + "machinePoolConfig": { + "items": { + "$ref": "#/definitions/v1AzureMachinePoolConfig" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1AzureCloudConfigStatus": { + "description": "AzureCloudConfigStatus defines the observed state of AzureCloudConfig The cloudimage info built by Mold is stored here image should be mapped to a specific machinepool", + "properties": { + "ansibleRoleDigest": { + "description": "For mold controller to identify if is there any changes in Pack", + "type": "string" + }, + "conditions": { + "description": "spectroAnsibleProvisioner: should be added only once, subsequent recocile will use the same provisioner SpectroAnsiblePacker bool `json:\"spectroAnsiblePacker,omitempty\"`", + "items": { + "$ref": "#/definitions/v1ClusterCondition" + }, + "type": "array" + }, + "images": { + "$ref": "#/definitions/v1AzureImage", + "description": "Images array items should be 1-to-1 mapping to Spec.MachinePoolConfig" + }, + "isAddonLayer": { + "description": "addon layers present in spc", + "type": "boolean" + }, + "roleDigest": { + "additionalProperties": { + "type": "string" + }, + "description": "this map will be for ansible roles present in eack pack", + "type": "object" + }, + "sourceImageId": { + "description": "sourceImageId, it can be from packref's annotations or from pack.json", + "type": "string" + }, + "useCapiImage": { + "description": "PackerVariableDigest string `json:\"packerDigest,omitempty\"` If no ansible roles found in Packs then Mold should tell Drive to use capi image and not create custom image, because there is nothing to add", + "type": "boolean" + }, + "vhdImage": { + "$ref": "#/definitions/v1AzureVHDImage" + } + }, + "type": "object" + }, + "v1AzureClusterConfig": { + "description": "Cluster level configuration for Azure cloud and applicable for all the machine pools", + "properties": { + "aadProfile": { + "$ref": "#/definitions/v1AADProfile", + "description": "AadProfile is Azure Active Directory configuration to integrate with AKS for aad authentication." + }, + "apiServerAccessProfile": { + "$ref": "#/definitions/v1APIServerAccessProfile", + "description": "APIServerAccessProfile is the access profile for AKS API server." + }, + "containerName": { + "type": "string" + }, + "controlPlaneSubnet": { + "$ref": "#/definitions/v1Subnet", + "description": "Subnet for Kubernetes control-plane node" + }, + "enablePrivateCluster": { + "description": "Deprecated. use apiServerAccessProfile.enablePrivateCluster", + "type": "boolean" + }, + "infraLBConfig": { + "$ref": "#/definitions/v1InfraLBConfig", + "description": "APIServerLB is the configuration for the control-plane load balancer." + }, + "location": { + "description": "Location is the Azure datacenter location", + "type": "string" + }, + "resourceGroup": { + "type": "string" + }, + "sshKey": { + "type": "string" + }, + "storageAccountName": { + "type": "string" + }, + "subscriptionId": { + "description": "Subscription ID is unique identifier for the subscription used to access Azure services", + "type": "string" + }, + "vnetCidrBlock": { + "type": "string" + }, + "vnetName": { + "description": "VNETName is the virtual network in which the cluster is to be provisioned.", + "type": "string" + }, + "vnetResourceGroup": { + "type": "string" + }, + "workerSubnet": { + "$ref": "#/definitions/v1Subnet", + "description": "Subnet for Kubernetes worker node" + } + }, + "required": [ + "subscriptionId", + "location", + "sshKey" + ], + "type": "object" + }, + "v1AzureGroup": { + "description": "Azure group entity", + "properties": { + "id": { + "description": "Azure group id", + "type": "string" + }, + "name": { + "description": "Azure group name", + "type": "string" + } + }, + "type": "object" + }, + "v1AzureGroups": { + "description": "List of Azure groups", + "properties": { + "groups": { + "items": { + "$ref": "#/definitions/v1AzureGroup" + }, + "type": "array" + } + }, + "required": [ + "groups" + ], + "type": "object" + }, + "v1AzureImage": { + "description": "Refers to Azure Shared Gallery image", + "properties": { + "gallery": { + "type": "string" + }, + "name": { + "type": "string" + }, + "resourceGroup": { + "type": "string" + }, + "state": { + "type": "string" + }, + "subscriptionID": { + "type": "string" + }, + "version": { + "type": "string" + } + }, + "type": "object" + }, + "v1AzureInstanceTypes": { + "description": "List of Azure instance types", + "properties": { + "instanceTypes": { + "items": { + "$ref": "#/definitions/v1InstanceType" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1AzureMachine": { + "description": "Azure cloud VM definition", + "properties": { + "apiVersion": { + "type": "string" + }, + "kind": { + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1AzureMachineSpec" + }, + "status": { + "$ref": "#/definitions/v1CloudMachineStatus" + } + }, + "type": "object" + }, + "v1AzureMachinePoolCloudConfigEntity": { + "properties": { + "azs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "instanceType": { + "description": "Instance type stands for VMSize in Azure", + "type": "string" + }, + "isSystemNodePool": { + "description": "whether this pool is for system node Pool", + "type": "boolean" + }, + "osDisk": { + "$ref": "#/definitions/v1AzureOSDisk" + } + }, + "type": "object" + }, + "v1AzureMachinePoolConfig": { + "properties": { + "additionalLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "additionalLabels", + "type": "object" + }, + "additionalTags": { + "additionalProperties": { + "type": "string" + }, + "description": "AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole", + "type": "object" + }, + "azs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "instanceConfig": { + "$ref": "#/definitions/v1InstanceConfig" + }, + "instanceType": { + "description": "Instance type stands for VMSize in Azure", + "type": "string" + }, + "isControlPlane": { + "description": "whether this pool is for control plane", + "type": "boolean", + "x-omitempty": false + }, + "isSystemNodePool": { + "description": "whether this pool is for system node Pool", + "type": "boolean", + "x-omitempty": false + }, + "labels": { + "description": "labels for this pool, example: control-plane/worker, gpu, windows", + "items": { + "type": "string" + }, + "type": "array" + }, + "machinePoolProperties": { + "$ref": "#/definitions/v1MachinePoolProperties" + }, + "maxSize": { + "description": "max size of the pool, for scaling", + "format": "int32", + "type": "integer" + }, + "minSize": { + "description": "min size of the pool, for scaling", + "format": "int32", + "type": "integer" + }, + "name": { + "type": "string" + }, + "nodeRepaveInterval": { + "description": "Minimum number of seconds a node should be Ready, before the next node is selected for repave. Applicable only for workerpools in infrastructure cluster", + "format": "int32", + "type": "integer" + }, + "osDisk": { + "$ref": "#/definitions/v1AzureOSDisk" + }, + "osType": { + "$ref": "#/definitions/v1OsType", + "type": "string" + }, + "size": { + "description": "size of the pool, number of machines", + "format": "int32", + "type": "integer" + }, + "spotVMOptions": { + "$ref": "#/definitions/v1SpotVMOptions", + "description": "SpotVMOptions allows the ability to specify the Machine should use a Spot VM" + }, + "taints": { + "description": "control plane or worker taints", + "items": { + "$ref": "#/definitions/v1Taint" + }, + "type": "array", + "uniqueItems": true + }, + "updateStrategy": { + "$ref": "#/definitions/v1UpdateStrategy", + "description": "rolling update strategy for this machinepool if not specified, will use ScaleOut" + }, + "useControlPlaneAsWorker": { + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", + "type": "boolean", + "x-omitempty": false + } + }, + "required": [ + "isControlPlane" + ], + "type": "object" + }, + "v1AzureMachinePoolConfigEntity": { + "properties": { + "cloudConfig": { + "$ref": "#/definitions/v1AzureMachinePoolCloudConfigEntity" + }, + "managedPoolConfig": { + "$ref": "#/definitions/v1AzureManagedMachinePoolConfig" + }, + "poolConfig": { + "$ref": "#/definitions/v1MachinePoolConfigEntity" + } + }, + "required": [ + "cloudConfig" + ], + "type": "object" + }, + "v1AzureMachineSpec": { + "description": "Azure cloud VM definition spec", + "properties": { + "additionalTags": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "allocatePublicIP": { + "type": "boolean" + }, + "availabilityZone": { + "$ref": "#/definitions/v1AzureMachineSpecAvailabilityZone" + }, + "image": { + "$ref": "#/definitions/v1AzureMachineSpecImage" + }, + "instanceType": { + "type": "string" + }, + "location": { + "type": "string" + }, + "nics": { + "items": { + "$ref": "#/definitions/v1AzureNic" + }, + "type": "array" + }, + "osDisk": { + "$ref": "#/definitions/v1AzureOSDisk" + }, + "sshPublicKey": { + "type": "string" + } + }, + "required": [ + "instanceType", + "location", + "osDisk" + ], + "type": "object" + }, + "v1AzureMachineSpecAvailabilityZone": { + "description": "Azure Machine Spec Availability zone", + "properties": { + "enabled": { + "type": "boolean" + }, + "id": { + "type": "string" + } + }, + "type": "object" + }, + "v1AzureMachineSpecImage": { + "description": "Azure Machine Spec Image", + "properties": { + "gallery": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "offer": { + "type": "string" + }, + "publisher": { + "type": "string" + }, + "resourceGroup": { + "type": "string" + }, + "sku": { + "type": "string" + }, + "subscriptionId": { + "type": "string" + }, + "version": { + "type": "string" + } + }, + "type": "object" + }, + "v1AzureMachines": { + "description": "Azure machine list", + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1AzureMachine" + }, + "type": "array", + "uniqueItems": true + }, + "listmeta": { + "$ref": "#/definitions/v1ListMetaData" + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1AzureManagedMachinePoolConfig": { + "properties": { + "isSystemNodePool": { + "description": "whether this pool is for system node Pool", + "type": "boolean", + "x-omitempty": false + }, + "osType": { + "$ref": "#/definitions/v1OsType", + "type": "string" + } + }, + "type": "object" + }, + "v1AzureNic": { + "description": "AWS network interface", + "properties": { + "index": { + "format": "int8", + "type": "integer" + }, + "privateIPs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "publicIp": { + "type": "string" + } + }, + "type": "object" + }, + "v1AzureOSDisk": { + "properties": { + "diskSizeGB": { + "format": "int32", + "type": "integer" + }, + "managedDisk": { + "$ref": "#/definitions/v1ManagedDisk" + }, + "osType": { + "$ref": "#/definitions/v1OsType", + "type": "string" + } + }, + "type": "object" + }, + "v1AzurePrivateDnsZone": { + "description": "Azure Private DNS zone entity", + "properties": { + "id": { + "description": "Fully qualified resource Id for the resource", + "type": "string" + }, + "location": { + "description": "The Azure Region where the resource lives", + "type": "string" + }, + "name": { + "description": "The name of the resource", + "type": "string" + } + }, + "type": "object" + }, + "v1AzurePrivateDnsZones": { + "description": "List of Azure storage accounts", + "properties": { + "privateDnsZones": { + "items": { + "$ref": "#/definitions/v1AzurePrivateDnsZone" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1AzureRegion": { + "description": "Azure region entity", + "properties": { + "displayName": { + "description": "Azure region displayname", + "type": "string" + }, + "name": { + "description": "Azure region name", + "type": "string" + }, + "zones": { + "description": "List of zones associated to a particular Azure region", + "items": { + "$ref": "#/definitions/v1AzureAvailabilityZone" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1AzureRegions": { + "description": "List of Azure regions", + "properties": { + "regions": { + "items": { + "$ref": "#/definitions/v1AzureRegion" + }, + "type": "array" + } + }, + "required": [ + "regions" + ], + "type": "object" + }, + "v1AzureResourceGroupList": { + "description": "List of Azure resource group", + "properties": { + "resourceGroupList": { + "items": { + "$ref": "#/definitions/v1ResourceGroup" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1AzureStorageAccountEntity": { + "description": "Azure Storage Account Entity", + "properties": { + "storageAccountTypes": { + "items": { + "$ref": "#/definitions/v1StorageAccountEntity" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1AzureStorageAccounts": { + "description": "List of Azure storage accounts", + "properties": { + "accounts": { + "items": { + "$ref": "#/definitions/v1StorageAccount" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1AzureStorageConfig": { + "description": "Azure storage config object", + "properties": { + "containerName": { + "description": "Azure container name", + "type": "string" + }, + "credentials": { + "$ref": "#/definitions/v1.AzureAccountEntitySpec", + "description": "Azure cloud account credentials" + }, + "resourceGroup": { + "description": "Azure resource group name, to which the storage account is mapped", + "type": "string" + }, + "sku": { + "description": "Azure sku", + "type": "string" + }, + "storageName": { + "description": "Azure storage name", + "type": "string" + } + }, + "required": [ + "resourceGroup", + "containerName", + "storageName", + "credentials" + ], + "type": "object" + }, + "v1AzureStorageContainers": { + "description": "List of Azure storage containers", + "properties": { + "containers": { + "items": { + "$ref": "#/definitions/v1StorageContainer" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1AzureStorageTypes": { + "description": "List of Azure storage types", + "properties": { + "storageTypes": { + "items": { + "$ref": "#/definitions/v1StorageType" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1AzureSubscriptionList": { + "description": "List of Azure subscription", + "properties": { + "subscriptionList": { + "items": { + "$ref": "#/definitions/v1Subscription" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1AzureVHDImage": { + "description": "Mold always create VHD image for custom image, and this can be use as golden images", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "os": { + "type": "string" + }, + "region": { + "type": "string" + }, + "state": { + "type": "string" + } + }, + "type": "object" + }, + "v1AzureVhdUrlEntity": { + "description": "Azure vhd url entity", + "properties": { + "name": { + "description": "The name of the resource", + "type": "string" + }, + "url": { + "description": "The url of the Azure Vhd", + "type": "string" + } + }, + "type": "object" + }, + "v1AzureVirtualNetworkList": { + "description": "List of Azure virtual network", + "properties": { + "virtualNetworkList": { + "items": { + "$ref": "#/definitions/v1VirtualNetwork" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1AzureZoneEntity": { + "description": "List of Azure zone", + "properties": { + "zoneList": { + "items": { + "$ref": "#/definitions/v1ZoneEntity" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1BackupLocationConfig": { + "description": "Backup location configuration", + "properties": { + "name": { + "type": "string" + }, + "type": { + "type": "string" + }, + "uid": { + "type": "string" + } + } + }, + "v1BackupRestoreStatusMeta": { + "description": "Backup restored status", + "properties": { + "backupName": { + "type": "string" + }, + "destinationClusterRef": { + "$ref": "#/definitions/v1ResourceReference" + }, + "restoreState": { + "type": "string" + } + } + }, + "v1BackupState": { + "description": "Backup state", + "properties": { + "backupTime": { + "$ref": "#/definitions/v1Time" + }, + "deleteState": { + "type": "string" + }, + "msg": { + "type": "string" + }, + "state": { + "type": "string" + } + } + }, + "v1BackupStatusConfig": { + "description": "Backup config", + "properties": { + "includeAllDisks": { + "type": "boolean" + }, + "includeClusterResources": { + "type": "boolean" + }, + "namespaces": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + } + }, + "v1BackupStatusMeta": { + "description": "Backup status meta", + "properties": { + "backupName": { + "type": "string" + }, + "backupState": { + "$ref": "#/definitions/v1BackupState" + }, + "backupedNamespaces": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "expiryDate": { + "$ref": "#/definitions/v1Time" + } + } + }, + "v1BasicOciRegistry": { + "description": "Basic oci registry information", + "properties": { + "kind": { + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1BasicOciRegistrySpec" + } + }, + "type": "object" + }, + "v1BasicOciRegistrySpec": { + "description": "Basic oci registry spec", + "properties": { + "auth": { + "$ref": "#/definitions/v1RegistryAuth" + }, + "baseContentPath": { + "description": "OCI registry content base path", + "type": "string" + }, + "basePath": { + "description": "OCI registry api base path", + "type": "string" + }, + "endpoint": { + "description": "OCI registry endpoint", + "type": "string" + }, + "providerType": { + "default": "helm", + "enum": [ + "helm", + "zarf", + "pack" + ], + "type": "string" + }, + "registryUid": { + "description": "Basic oci registry uid", + "type": "string" + }, + "scope": { + "type": "string" + } + }, + "required": [ + "endpoint", + "auth" + ], + "type": "object" + }, + "v1Billing": { + "description": "billing preference", + "properties": { + "billingDay": { + "type": "integer" + }, + "tierPricing": { + "$ref": "#/definitions/v1TierPrice" + } + } + }, + "v1BrokerLogin": { + "description": "Request for broker login request", + "properties": { + "subscriberSubjects": { + "description": "subjects that client need to subscribe", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1BrokerToken": { + "description": "Response for broker login request", + "properties": { + "maxAllowedClients": { + "description": "maximum number of clients that can subscribe to the subject", + "type": "integer" + }, + "msgCtxData": { + "additionalProperties": { + "type": "string" + }, + "description": "message context data can be used as contextual information for the message exchange" + }, + "publisherSubjects": { + "description": "subjects that client can publish", + "items": { + "type": "string" + }, + "type": "array" + }, + "subscriberSubjects": { + "description": "subjects that client has subscribed", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1BulkDeleteFailure": { + "properties": { + "errMsg": { + "type": "string" + }, + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + } + }, + "v1BulkDeleteRequest": { + "properties": { + "uids": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "uids" + ] + }, + "v1BulkDeleteResponse": { + "properties": { + "deletedCount": { + "type": "integer", + "x-omitempty": false + }, + "failures": { + "items": { + "$ref": "#/definitions/v1BulkDeleteFailure" + }, + "type": "array", + "uniqueItems": true, + "x-omitempty": false + }, + "isSucceeded": { + "type": "boolean", + "x-omitempty": false + }, + "message": { + "type": "string", + "x-omitempty": false + } + } + }, + "v1BulkEvents": { + "description": "Describes a list component events' details", + "items": { + "$ref": "#/definitions/v1Event" + }, + "type": "array", + "uniqueItems": true + }, + "v1CPU": { + "properties": { + "cores": { + "description": "number of cpu cores", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "v1CPUPassthroughSpec": { + "properties": { + "cachePassthrough": { + "type": "boolean" + }, + "isEnabled": { + "description": "Enables the CPU Passthrough for the libvirt domain", + "type": "boolean" + } + }, + "type": "object" + }, + "v1Card": { + "description": "Card details object", + "properties": { + "brand": { + "description": "Card brand", + "type": "string" + }, + "country": { + "description": "Country name the card belongs", + "type": "string" + }, + "expYear": { + "description": "Expiry year of the card", + "format": "uint64", + "type": "number" + }, + "fingerPrint": { + "description": "Finger print", + "type": "string" + }, + "funding": { + "description": "Funding", + "type": "string" + }, + "last4": { + "description": "Last 4 digit of the card", + "type": "string" + } + } + }, + "v1Cert": { + "properties": { + "certificate": { + "type": "string", + "x-omitempty": false + }, + "isCA": { + "type": "boolean", + "x-omitempty": false + }, + "key": { + "type": "string", + "x-omitempty": false + } + }, + "type": "object" + }, + "v1Certificate": { + "description": "Certificate details", + "properties": { + "expiry": { + "$ref": "#/definitions/v1Time", + "description": "Certificate expiry time" + }, + "name": { + "type": "string" + } + }, + "type": "object" + }, + "v1CertificateAuthority": { + "description": "Certificate Authority", + "properties": { + "certificates": { + "items": { + "$ref": "#/definitions/v1Certificate" + }, + "type": "array" + }, + "expiry": { + "$ref": "#/definitions/v1Time", + "description": "Certificate expiry time" + }, + "name": { + "type": "string" + } + }, + "type": "object" + }, + "v1Channel": { + "properties": { + "alertAllUsers": { + "type": "boolean", + "x-omitempty": false + }, + "createdBy": { + "type": "string" + }, + "http": { + "properties": { + "body": { + "type": "string" + }, + "headers": { + "additionalProperties": { + "type": "string" + } + }, + "method": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "type": "object" + }, + "identifiers": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "isActive": { + "type": "boolean", + "x-omitempty": false + }, + "status": { + "$ref": "#/definitions/v1AlertNotificationStatus" + }, + "type": { + "enum": [ + "email", + "app", + "http" + ], + "type": "string" + }, + "uid": { + "type": "string" + } + }, + "type": "object" + }, + "v1CleanUpResource": { + "description": "Resources of tenant", + "properties": { + "activeResources": { + "$ref": "#/definitions/v1ActiveTenantResources" + }, + "tenantStatus": { + "$ref": "#/definitions/v1TenantCleanUpStatus" + } + }, + "type": "object" + }, + "v1CloudAccountMeta": { + "description": "Cloud account meta information", + "properties": { + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + }, + "type": "object" + }, + "v1CloudAccountMetadata": { + "description": "Cloud account metadata summary", + "properties": { + "kind": { + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + } + } + }, + "v1CloudAccountSettings": { + "description": "Cloud account settings", + "properties": { + "disablePropertiesRequest": { + "description": "Will disable certain properties request to cloud and the input is collected directly from the user", + "type": "boolean", + "x-omitempty": false + } + }, + "type": "object" + }, + "v1CloudAccountStatus": { + "description": "Status of the account", + "properties": { + "state": { + "description": "Cloud account status", + "type": "string" + } + }, + "type": "object" + }, + "v1CloudAccountSummary": { + "description": "Cloud account summary", + "properties": { + "kind": { + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "specSummary": { + "description": "Cloud account spec summary", + "properties": { + "accountId": { + "type": "string" + } + }, + "type": "object" + }, + "status": { + "$ref": "#/definitions/v1CloudAccountStatus" + } + }, + "type": "object" + }, + "v1CloudAccountUidEntity": { + "description": "Cloud account uid entity", + "properties": { + "uid": { + "description": "Cloud account uid", + "type": "string" + } + }, + "type": "object" + }, + "v1CloudAccountsMetadata": { + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1CloudAccountMetadata" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1CloudAccountsPatch": { + "items": { + "$ref": "#/definitions/v1HttpPatch" + }, + "type": "array" + }, + "v1CloudAccountsSummary": { + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1CloudAccountSummary" + }, + "type": "array", + "uniqueItems": true + }, + "listmeta": { + "$ref": "#/definitions/v1ListMetaData" + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1CloudCategory": { + "default": "cloud", + "description": "Cloud category description", + "enum": [ + "datacenter", + "cloud", + "edge" + ], + "type": "string" + }, + "v1CloudConfigMeta": { + "properties": { + "cloudType": { + "type": "string" + }, + "machinePools": { + "description": "Machine pool meta information", + "items": { + "$ref": "#/definitions/v1MachinePoolMeta" + }, + "type": "array" + }, + "uid": { + "description": "Cluster's cloud config uid", + "type": "string" + } + }, + "type": "object" + }, + "v1CloudCost": { + "description": "Cloud cost information", + "properties": { + "compute": { + "format": "float64", + "type": "number", + "x-omitempty": false + }, + "storage": { + "format": "float64", + "type": "number", + "x-omitempty": false + }, + "total": { + "format": "float64", + "type": "number", + "x-omitempty": false + } + }, + "type": "object" + }, + "v1CloudCostDataPoint": { + "description": "Cloud cost data point information", + "properties": { + "compute": { + "format": "float64", + "type": "number", + "x-omitempty": false + }, + "storage": { + "format": "float64", + "type": "number", + "x-omitempty": false + }, + "timestamp": { + "format": "int64", + "type": "number" + }, + "total": { + "format": "float64", + "type": "number", + "x-omitempty": false + } + }, + "type": "object" + }, + "v1CloudInstanceRateConfig": { + "description": "Cloud instance rate config", + "properties": { + "computeRateProportion": { + "format": "float", + "type": "number" + }, + "memoryRateProportion": { + "format": "float", + "type": "number" + } + } + }, + "v1CloudMachineStatus": { + "description": "cloud machine status", + "properties": { + "health": { + "$ref": "#/definitions/v1MachineHealth" + }, + "instanceState": { + "enum": [ + "Pending", + "Provisioning", + "Provisioned", + "Running", + "Deleting", + "Deleted", + "Failed", + "Unknown" + ], + "type": "string" + }, + "maintenanceStatus": { + "$ref": "#/definitions/v1MachineMaintenanceStatus" + } + }, + "type": "object" + }, + "v1CloudRate": { + "description": "Cloud estimated rate information", + "properties": { + "compute": { + "$ref": "#/definitions/v1ComputeRate" + }, + "storage": { + "items": { + "$ref": "#/definitions/v1StorageRate" + }, + "type": "array" + }, + "total": { + "format": "float64", + "type": "number", + "x-omitempty": false + } + }, + "type": "object" + }, + "v1CloudResourceMetadata": { + "description": "Cloud resource metadata", + "properties": { + "instanceTypes": { + "additionalProperties": { + "$ref": "#/definitions/v1InstanceType" + }, + "type": "object" + }, + "storageTypes": { + "additionalProperties": { + "$ref": "#/definitions/v1StorageType" + }, + "type": "object" + } + }, + "type": "object" + }, + "v1CloudSpotPrice": { + "description": "Spot price entity of a particular cloud type", + "properties": { + "spotPrice": { + "description": "Spot price of a resource for a particular cloud", + "format": "float64", + "type": "number", + "x-omitempty": false + } + }, + "type": "object" + }, + "v1CloudWatch": { + "properties": { + "credentials": { + "$ref": "#/definitions/v1AwsCloudAccount" + }, + "group": { + "type": "string" + }, + "region": { + "type": "string" + }, + "stream": { + "type": "string" + } + }, + "type": "object" + }, + "v1ClusterBackup": { + "description": "Cluster Backup", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1ClusterBackupSpec" + }, + "status": { + "$ref": "#/definitions/v1ClusterBackupStatus" + } + } + }, + "v1ClusterBackupConfig": { + "description": "Cluster backup config", + "properties": { + "backupLocationName": { + "type": "string" + }, + "backupLocationUid": { + "type": "string" + }, + "backupName": { + "type": "string" + }, + "backupPrefix": { + "type": "string" + }, + "durationInHours": { + "format": "int64", + "type": "number" + }, + "includeAllDisks": { + "type": "boolean" + }, + "includeClusterResources": { + "type": "boolean" + }, + "locationType": { + "type": "string" + }, + "namespaces": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "schedule": { + "$ref": "#/definitions/v1ClusterFeatureSchedule" + } + } + }, + "v1ClusterBackupLocationType": { + "description": "Cluster backup location type", + "properties": { + "locationType": { + "type": "string" + } + }, + "required": [ + "locationType" + ] + }, + "v1ClusterBackupSpec": { + "description": "Cluster Backup Spec", + "properties": { + "clusterUid": { + "type": "string" + }, + "config": { + "$ref": "#/definitions/v1ClusterBackupConfig" + } + } + }, + "v1ClusterBackupStatus": { + "description": "Cluster Backup Status", + "properties": { + "clusterBackupStatuses": { + "items": { + "$ref": "#/definitions/v1ClusterBackupStatusMeta" + }, + "type": "array" + } + } + }, + "v1ClusterBackupStatusMeta": { + "description": "Cluster Backup Status Meta", + "properties": { + "actor": { + "$ref": "#/definitions/v1ClusterFeatureActor" + }, + "backupConfig": { + "$ref": "#/definitions/v1BackupStatusConfig" + }, + "backupLocationConfig": { + "$ref": "#/definitions/v1BackupLocationConfig" + }, + "backupRequestUid": { + "type": "string" + }, + "backupStatusMeta": { + "items": { + "$ref": "#/definitions/v1BackupStatusMeta" + }, + "type": "array" + }, + "restoreStatusMeta": { + "items": { + "$ref": "#/definitions/v1BackupRestoreStatusMeta" + }, + "type": "array" + }, + "state": { + "type": "string" + } + } + }, + "v1ClusterComplianceOnDemandConfig": { + "description": "Cluster compliance scan on demand configuration", + "properties": { + "kubeBench": { + "$ref": "#/definitions/v1ClusterComplianceScanKubeBenchConfig" + }, + "kubeHunter": { + "$ref": "#/definitions/v1ClusterComplianceScanKubeHunterConfig" + }, + "sonobuoy": { + "$ref": "#/definitions/v1ClusterComplianceScanSonobuoyConfig" + }, + "syft": { + "$ref": "#/definitions/v1ClusterComplianceScanSyftConfig" + } + } + }, + "v1ClusterComplianceScan": { + "description": "Cluster Compliance Scan", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1ClusterComplianceScanSpec" + } + } + }, + "v1ClusterComplianceScanKubeBenchConfig": { + "description": "Cluster compliance scan config for kube bench driver", + "properties": { + "runScan": { + "type": "boolean" + } + } + }, + "v1ClusterComplianceScanKubeBenchScheduleConfig": { + "description": "Cluster compliance scan schedule config for kube bench driver", + "properties": { + "schedule": { + "$ref": "#/definitions/v1ClusterFeatureSchedule" + } + } + }, + "v1ClusterComplianceScanKubeHunterConfig": { + "description": "Cluster compliance scan config for kube hunter driver", + "properties": { + "runScan": { + "type": "boolean" + } + } + }, + "v1ClusterComplianceScanKubeHunterScheduleConfig": { + "description": "Cluster compliance scan schedule config for kube hunter driver", + "properties": { + "schedule": { + "$ref": "#/definitions/v1ClusterFeatureSchedule" + } + } + }, + "v1ClusterComplianceScanLogSpec": { + "description": "Cluster compliance scan logs spec", + "properties": { + "clusterUid": { + "type": "string" + }, + "driverType": { + "type": "string" + } + } + }, + "v1ClusterComplianceScanLogs": { + "description": "Cluster compliance scan Logs", + "properties": { + "kubeBenchLogs": { + "items": { + "$ref": "#/definitions/v1ClusterScanLogKubeBench" + }, + "type": "array" + }, + "kubeHunterLogs": { + "items": { + "$ref": "#/definitions/v1ClusterScanLogKubeHunter" + }, + "type": "array" + }, + "sonobuoyLogs": { + "items": { + "$ref": "#/definitions/v1ClusterScanLogSonobuoy" + }, + "type": "array" + }, + "syftLogs": { + "items": { + "$ref": "#/definitions/v1ClusterScanLogSyft" + }, + "type": "array" + } + } + }, + "v1ClusterComplianceScanSonobuoyConfig": { + "description": "Cluster compliance scan config for sonobuoy driver", + "properties": { + "runScan": { + "type": "boolean" + } + } + }, + "v1ClusterComplianceScanSonobuoyScheduleConfig": { + "description": "Cluster compliance scan schedule config for sonobuoy driver", + "properties": { + "schedule": { + "$ref": "#/definitions/v1ClusterFeatureSchedule" + } + } + }, + "v1ClusterComplianceScanSpec": { + "description": "Cluster compliance scan Spec", + "properties": { + "clusterUid": { + "type": "string" + }, + "driverSpec": { + "additionalProperties": { + "$ref": "#/definitions/v1ComplianceScanDriverSpec" + }, + "type": "object" + } + } + }, + "v1ClusterComplianceScanSyftConfig": { + "description": "Cluster compliance scan config for syft driver", + "properties": { + "config": { + "$ref": "#/definitions/v1ClusterComplianceScanSyftDriverConfig" + }, + "runScan": { + "type": "boolean" + } + } + }, + "v1ClusterComplianceScanSyftDriverConfig": { + "description": "Cluster compliance scan specification", + "properties": { + "format": { + "enum": [ + "cyclonedx-json", + "github-json", + "spdx-json", + "syft-json" + ], + "type": "string" + }, + "labelSelector": { + "type": "string" + }, + "location": { + "$ref": "#/definitions/v1ObjectEntity" + }, + "namespace": { + "type": "string" + }, + "podName": { + "type": "string" + }, + "scope": { + "enum": [ + "cluster", + "namespace", + "label-selector", + "pod" + ], + "type": "string" + } + } + }, + "v1ClusterComplianceScheduleConfig": { + "description": "Cluster compliance scan schedule configuration", + "properties": { + "kubeBench": { + "$ref": "#/definitions/v1ClusterComplianceScanKubeBenchScheduleConfig" + }, + "kubeHunter": { + "$ref": "#/definitions/v1ClusterComplianceScanKubeHunterScheduleConfig" + }, + "sonobuoy": { + "$ref": "#/definitions/v1ClusterComplianceScanSonobuoyScheduleConfig" + } + } + }, + "v1ClusterCondition": { + "properties": { + "lastProbeTime": { + "$ref": "#/definitions/v1Time" + }, + "lastTransitionTime": { + "$ref": "#/definitions/v1Time" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "type", + "status" + ], + "type": "object" + }, + "v1ClusterConfig": { + "properties": { + "clusterMetaAttribute": { + "description": "ClusterMetaAttribute contains additional cluster metadata information.", + "type": "string" + }, + "clusterRbac": { + "description": "Deprecated. Use clusterResources", + "items": { + "$ref": "#/definitions/v1ResourceReference" + }, + "type": "array" + }, + "clusterResources": { + "$ref": "#/definitions/v1ClusterResources", + "description": "ClusterResources defines the managment of namespace resource allocations, role bindings." + }, + "controlPlaneHealthCheckTimeout": { + "description": "ControlPlaneHealthCheckTimeout is the timeout to check for ready state of the control plane nodes. If the node is not ready within the time out set, the node will be deleted and a new node will be launched.", + "type": "string" + }, + "hostClusterConfig": { + "$ref": "#/definitions/v1HostClusterConfig", + "description": "HostClusterConfiguration defines the configuration of host clusters, where virtual clusters be deployed" + }, + "lifecycleConfig": { + "$ref": "#/definitions/v1LifecycleConfig" + }, + "machineHealthConfig": { + "$ref": "#/definitions/v1MachineHealthCheckConfig", + "description": "MachineHealthCheckConfig defines the healthcheck timeouts for the node. The timeouts are configured by the user to overide the default healthchecks." + }, + "machineManagementConfig": { + "$ref": "#/definitions/v1MachineManagementConfig", + "description": "MachineManagementConfig defines the management configurations for the node. Patching OS security updates etc can be configured by user." + }, + "updateWorkerPoolsInParallel": { + "description": "UpdateWorkerPoolsInParallel is used to decide if the update of workerpools happen in parallel. When this flag is false, the workerpools are updated sequentially.", + "type": "boolean" + } + }, + "type": "object" + }, + "v1ClusterConfigEntity": { + "properties": { + "clusterMetaAttribute": { + "description": "ClusterMetaAttribute can be used to set additional cluster metadata information.", + "type": "string" + }, + "controlPlaneHealthCheckTimeout": { + "type": "string" + }, + "hostClusterConfig": { + "$ref": "#/definitions/v1HostClusterConfig" + }, + "lifecycleConfig": { + "$ref": "#/definitions/v1LifecycleConfig" + }, + "location": { + "$ref": "#/definitions/v1ClusterLocation" + }, + "machineManagementConfig": { + "$ref": "#/definitions/v1MachineManagementConfig" + }, + "resources": { + "$ref": "#/definitions/v1ClusterResourcesEntity" + }, + "updateWorkerPoolsInParallel": { + "type": "boolean" + } + }, + "type": "object" + }, + "v1ClusterConfigResponse": { + "properties": { + "hostClusterConfig": { + "$ref": "#/definitions/v1HostClusterConfigResponse", + "description": "HostClusterConfig defines the configuration entity of host clusters config entity" + } + }, + "type": "object" + }, + "v1ClusterDefinitionEntity": { + "description": "Cluster definition entity", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMetaInputEntity" + }, + "spec": { + "$ref": "#/definitions/v1ClusterDefinitionSpecEntity" + } + }, + "type": "object" + }, + "v1ClusterDefinitionProfileEntity": { + "description": "Cluster definition profile entity", + "properties": { + "packs": { + "description": "Cluster profile packs array", + "items": { + "$ref": "#/definitions/v1PackValuesEntity" + }, + "type": "array", + "uniqueItems": true + }, + "uid": { + "description": "Cluster profile uid", + "type": "string" + } + }, + "required": [ + "uid" + ], + "type": "object" + }, + "v1ClusterDefinitionSpecEntity": { + "description": "Cluster definition spec entity", + "properties": { + "cloudType": { + "type": "string" + }, + "profiles": { + "description": "Cluster definition profiles", + "items": { + "$ref": "#/definitions/v1ClusterDefinitionProfileEntity" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "profiles", + "cloudType" + ], + "type": "object" + }, + "v1ClusterEdgeInstallerConfig": { + "properties": { + "installerDownloadLinks": { + "additionalProperties": { + "type": "string" + } + } + } + }, + "v1ClusterFeatureActor": { + "description": "Compliance Scan actor", + "properties": { + "actorType": { + "type": "string" + }, + "uid": { + "type": "string" + } + } + }, + "v1ClusterFeatureSchedule": { + "description": "Cluster feature schedule", + "properties": { + "scheduledRunTime": { + "type": "string" + } + } + }, + "v1ClusterFips": { + "properties": { + "mode": { + "$ref": "#/definitions/v1ClusterFipsMode" + } + } + }, + "v1ClusterFipsMode": { + "default": "none", + "enum": [ + "full", + "none", + "partial", + "unknown" + ], + "type": "string" + }, + "v1ClusterGroup": { + "description": "Cluster group information", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1ClusterGroupSpec" + }, + "status": { + "$ref": "#/definitions/v1ClusterGroupStatus" + } + } + }, + "v1ClusterGroupClusterRef": { + "description": "Cluster group cluster reference", + "properties": { + "clusterName": { + "type": "string" + }, + "clusterUid": { + "type": "string" + } + } + }, + "v1ClusterGroupClustersConfig": { + "description": "Clusters config of cluster group", + "properties": { + "endpointType": { + "description": "Host cluster endpoint type", + "enum": [ + "Ingress", + "LoadBalancer" + ], + "type": "string" + }, + "hostClustersConfig": { + "items": { + "$ref": "#/definitions/v1ClusterGroupHostClusterConfig" + }, + "type": "array", + "uniqueItems": true + }, + "kubernetesDistroType": { + "$ref": "#/definitions/v1ClusterKubernetesDistroType" + }, + "limitConfig": { + "$ref": "#/definitions/v1ClusterGroupLimitConfig" + }, + "values": { + "type": "string" + } + } + }, + "v1ClusterGroupEntity": { + "description": "Cluster group information", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1ClusterGroupSpecEntity" + } + } + }, + "v1ClusterGroupHostClusterConfig": { + "properties": { + "clusterUid": { + "type": "string" + }, + "endpointConfig": { + "$ref": "#/definitions/v1HostClusterEndpointConfig", + "description": "host cluster endpoint configuration" + } + } + }, + "v1ClusterGroupHostClusterEntity": { + "description": "Clusters and clusters config of cluster group", + "properties": { + "clusterRefs": { + "items": { + "$ref": "#/definitions/v1ClusterGroupClusterRef" + }, + "type": "array", + "uniqueItems": true + }, + "clustersConfig": { + "$ref": "#/definitions/v1ClusterGroupClustersConfig" + } + } + }, + "v1ClusterGroupLimitConfig": { + "description": "Cluster group limit config", + "properties": { + "cpu": { + "description": "Deprecated. Use field cpuMilliCore", + "format": "int32", + "type": "integer" + }, + "cpuMilliCore": { + "description": "CPU in milli cores", + "format": "int32", + "type": "integer" + }, + "memory": { + "description": "Deprecated. Use field memoryMiB", + "format": "int32", + "type": "integer" + }, + "memoryMiB": { + "description": "Memory in MiB", + "format": "int32", + "type": "integer" + }, + "overSubscription": { + "description": "Over subscription percentage", + "format": "int32", + "type": "integer" + }, + "storageGiB": { + "description": "Storage in GiB", + "format": "int32", + "type": "integer" + } + } + }, + "v1ClusterGroupResource": { + "description": "Cluster group resource allocated and usage information", + "properties": { + "allocated": { + "format": "float64", + "type": "number", + "x-omitempty": false + }, + "used": { + "format": "float64", + "type": "number", + "x-omitempty": false + } + } + }, + "v1ClusterGroupSpec": { + "description": "Cluster group specifications", + "properties": { + "clusterProfileTemplates": { + "description": "ClusterProfileTemplate is a copy of the draft version or latest published version of the clusterprofileSpec. It consists of list of add on profiles at a cluster group level which will be enforced on all virtual cluster. ClusterProfileTemplate will be updated from the clusterprofile pointed by ClusterProfileRef", + "items": { + "$ref": "#/definitions/v1ClusterProfileTemplate" + }, + "type": "array" + }, + "clusterRefs": { + "items": { + "$ref": "#/definitions/v1ClusterGroupClusterRef" + }, + "type": "array", + "uniqueItems": true + }, + "clustersConfig": { + "$ref": "#/definitions/v1ClusterGroupClustersConfig" + }, + "type": { + "enum": [ + "hostCluster" + ], + "type": "string" + } + } + }, + "v1ClusterGroupSpecEntity": { + "description": "Cluster group specifications request entity", + "properties": { + "clusterRefs": { + "items": { + "$ref": "#/definitions/v1ClusterGroupClusterRef" + }, + "type": "array", + "uniqueItems": true + }, + "clustersConfig": { + "$ref": "#/definitions/v1ClusterGroupClustersConfig" + }, + "profiles": { + "items": { + "$ref": "#/definitions/v1SpectroClusterProfileEntity" + }, + "type": "array" + }, + "type": { + "enum": [ + "hostCluster" + ], + "type": "string" + } + } + }, + "v1ClusterGroupStatus": { + "description": "Cluster group status", + "properties": { + "isActive": { + "type": "boolean", + "x-omitempty": false + } + } + }, + "v1ClusterGroupSummary": { + "description": "Cluster group summay", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1ClusterGroupSummarySpec" + } + } + }, + "v1ClusterGroupSummarySpec": { + "description": "Cluster group summay spec", + "properties": { + "clusterProfileTemplates": { + "items": { + "$ref": "#/definitions/v1ClusterProfileTemplateMeta" + }, + "type": "array" + }, + "cpu": { + "$ref": "#/definitions/v1ClusterGroupResource", + "description": "Deprecated" + }, + "endpointType": { + "enum": [ + "Ingress", + "LoadBalancer" + ], + "type": "string" + }, + "hostClusters": { + "items": { + "$ref": "#/definitions/v1ObjectResReference" + }, + "type": "array", + "uniqueItems": true + }, + "hostClustersCount": { + "type": "integer", + "x-omitempty": false + }, + "memory": { + "$ref": "#/definitions/v1ClusterGroupResource", + "description": "Deprecated" + }, + "scope": { + "type": "string" + }, + "virtualClustersCount": { + "type": "integer", + "x-omitempty": false + } + } + }, + "v1ClusterGroupsDeveloperCreditUsage": { + "description": "Cluster group resource allocated and usage information", + "properties": { + "allocatedCredit": { + "$ref": "#/definitions/v1DeveloperCredit" + }, + "usedCredit": { + "$ref": "#/definitions/v1DeveloperCredit" + } + } + }, + "v1ClusterGroupsHostClusterMetadata": { + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1ObjectScopeEntity" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1ClusterGroupsHostClusterSummary": { + "properties": { + "summaries": { + "items": { + "$ref": "#/definitions/v1ClusterGroupSummary" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "summaries" + ], + "type": "object" + }, + "v1ClusterHelmChart": { + "description": "Cluster helm chart metadata", + "properties": { + "localName": { + "type": "string" + }, + "matchedRegistries": { + "items": { + "$ref": "#/definitions/v1ClusterHelmRegistry" + }, + "type": "array", + "uniqueItems": true + }, + "name": { + "type": "string" + }, + "values": { + "type": "string" + }, + "version": { + "type": "string" + } + } + }, + "v1ClusterHelmCharts": { + "description": "Cluster helm charts metadata", + "properties": { + "charts": { + "items": { + "$ref": "#/definitions/v1ClusterHelmChart" + }, + "type": "array", + "uniqueItems": true + } + } + }, + "v1ClusterHelmRegistry": { + "description": "Cluster helm registry information", + "properties": { + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + } + }, + "v1ClusterImport": { + "properties": { + "importLink": { + "description": "import link to download and install ally-lite, palette-lite", + "type": "string" + }, + "isBrownfield": { + "description": "Deprecated. Use the 'spec.clusterType'", + "type": "boolean", + "x-omitempty": false + }, + "state": { + "description": "cluster import status", + "type": "string" + } + }, + "type": "object" + }, + "v1ClusterKubeBenchLogStatus": { + "description": "Cluster compliance scan KubeBench Log Status", + "properties": { + "actor": { + "$ref": "#/definitions/v1ClusterFeatureActor" + }, + "message": { + "type": "string" + }, + "reports": { + "additionalProperties": { + "$ref": "#/definitions/v1KubeBenchReport" + }, + "type": "object" + }, + "requestUid": { + "type": "string" + }, + "scanTime": { + "$ref": "#/definitions/v1ClusterScanTime" + }, + "state": { + "type": "string" + } + } + }, + "v1ClusterKubeHunterLogStatus": { + "description": "Cluster compliance scan KubeHunter Log Status", + "properties": { + "actor": { + "$ref": "#/definitions/v1ClusterFeatureActor" + }, + "message": { + "type": "string" + }, + "reports": { + "additionalProperties": { + "$ref": "#/definitions/v1KubeHunterReport" + }, + "type": "object" + }, + "requestUid": { + "type": "string" + }, + "scanTime": { + "$ref": "#/definitions/v1ClusterScanTime" + }, + "state": { + "type": "string" + } + } + }, + "v1ClusterKubernetesDistroType": { + "default": "k3s", + "enum": [ + "k3s", + "cncf_k8s" + ], + "type": "string" + }, + "v1ClusterLocation": { + "description": "Cluster location information", + "properties": { + "countryCode": { + "description": "country code for cluster location", + "type": "string" + }, + "countryName": { + "description": "country name for cluster location", + "type": "string" + }, + "geoLoc": { + "$ref": "#/definitions/v1GeolocationLatlong" + }, + "regionCode": { + "description": "region code for cluster location", + "type": "string" + }, + "regionName": { + "description": "region name for cluster location", + "type": "string" + } + }, + "type": "object" + }, + "v1ClusterLogFetcher": { + "description": "Cluster Log Fetcher", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1ClusterLogFetcherSpec" + }, + "status": { + "$ref": "#/definitions/v1ClusterLogFetcherStatus" + } + } + }, + "v1ClusterLogFetcherK8sRequest": { + "description": "Cluster Log Fetcher K8s", + "properties": { + "labelSelector": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "namespaces": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + } + }, + "v1ClusterLogFetcherNodeRequest": { + "description": "Cluster Log Fetcher Node Request", + "properties": { + "logs": { + "description": "Array of logs", + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + } + }, + "v1ClusterLogFetcherRequest": { + "description": "Cluster Log Fetcher Request", + "properties": { + "duration": { + "default": 10, + "description": "Duration for which log is requested", + "format": "int64", + "type": "integer" + }, + "k8s": { + "$ref": "#/definitions/v1ClusterLogFetcherK8sRequest" + }, + "mode": { + "default": "cluster", + "description": "Accepted Values - [\"cluster\", \"app\"]. if \"app\" then logs will be fetched from the virtual cluster", + "enum": [ + "cluster", + "app" + ], + "type": "string" + }, + "noOfLines": { + "default": 1000, + "description": "No of lines of logs requested", + "format": "int64", + "type": "integer" + }, + "node": { + "$ref": "#/definitions/v1ClusterLogFetcherNodeRequest" + } + } + }, + "v1ClusterLogFetcherSpec": { + "description": "Cluster Log Fetcher Spec", + "properties": { + "clusterUid": { + "type": "string" + }, + "log": { + "type": "string" + } + } + }, + "v1ClusterLogFetcherStatus": { + "description": "Cluster Log Fetcher Status", + "properties": { + "state": { + "type": "string" + } + } + }, + "v1ClusterManifest": { + "description": "Cluster manifest information", + "properties": { + "content": { + "type": "string" + }, + "name": { + "type": "string" + }, + "namespace": { + "type": "string" + }, + "type": { + "type": "string" + } + } + }, + "v1ClusterManifests": { + "description": "Cluster manifests information", + "properties": { + "manifests": { + "items": { + "$ref": "#/definitions/v1ClusterManifest" + }, + "type": "array", + "uniqueItems": true + } + } + }, + "v1ClusterMeta": { + "description": "Active cluster meta", + "properties": { + "cloudType": { + "type": "string" + }, + "clusterType": { + "type": "string" + }, + "creationTimestamp": { + "$ref": "#/definitions/v1Time" + }, + "duration": { + "type": "string" + }, + "name": { + "type": "string" + }, + "projectName": { + "type": "string" + }, + "state": { + "$ref": "#/definitions/v1ClusterState" + }, + "uid": { + "type": "string" + } + }, + "type": "object" + }, + "v1ClusterMetaAttributeEntity": { + "description": "Cluster additional metadata entity", + "properties": { + "clusterMetaAttribute": { + "type": "string" + } + }, + "type": "object" + }, + "v1ClusterMetaSpecLocation": { + "description": "Cluster location information", + "properties": { + "coordinates": { + "items": { + "format": "float64", + "type": "number" + }, + "type": "array" + }, + "countryCode": { + "type": "string" + }, + "countryName": { + "type": "string" + }, + "regionCode": { + "type": "string" + }, + "regionName": { + "type": "string" + } + }, + "type": "object" + }, + "v1ClusterMetaStatusCost": { + "description": "Cluster meta Cost information", + "properties": { + "total": { + "format": "float64", + "type": "number", + "x-omitempty": false + } + }, + "type": "object" + }, + "v1ClusterMetaStatusHealth": { + "description": "Cluster meta health information", + "properties": { + "isHeartBeatFailed": { + "type": "boolean", + "x-omitempty": false + }, + "state": { + "type": "string" + } + }, + "type": "object" + }, + "v1ClusterMetaStatusUpdates": { + "description": "Cluster meta updates information", + "properties": { + "isUpdatesPending": { + "type": "boolean", + "x-omitempty": false + } + }, + "type": "object" + }, + "v1ClusterNamespace": { + "description": "Cluster's namespace", + "properties": { + "namespace": { + "type": "string" + }, + "pvcCount": { + "format": "int32", + "type": "number" + } + } + }, + "v1ClusterNamespaceResource": { + "description": "Cluster Namespace resource defintion", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1ClusterNamespaceSpec" + }, + "status": { + "$ref": "#/definitions/v1ClusterNamespaceStatus" + } + }, + "type": "object" + }, + "v1ClusterNamespaceResourceAllocation": { + "description": "Cluster namespace resource allocation", + "properties": { + "cpuCores": { + "exclusiveMinimum": true, + "minimum": 0, + "type": "number" + }, + "memoryMiB": { + "exclusiveMinimum": true, + "minimum": 0, + "type": "number" + } + } + }, + "v1ClusterNamespaceResourceInputEntity": { + "description": "Cluster Namespace resource defintion", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMetaUpdateEntity" + }, + "spec": { + "$ref": "#/definitions/v1ClusterNamespaceSpec" + } + }, + "type": "object" + }, + "v1ClusterNamespaceResources": { + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1ClusterNamespaceResource" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1ClusterNamespaceResourcesUpdateEntity": { + "properties": { + "namespaces": { + "items": { + "$ref": "#/definitions/v1ClusterNamespaceResourceInputEntity" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "v1ClusterNamespaceSpec": { + "description": "Cluster namespace spec", + "properties": { + "isRegex": { + "type": "boolean", + "x-omitempty": false + }, + "relatedObject": { + "$ref": "#/definitions/v1RelatedObject" + }, + "resourceAllocation": { + "$ref": "#/definitions/v1ClusterNamespaceResourceAllocation" + } + } + }, + "v1ClusterNamespaceStatus": { + "description": "Cluster namespace status", + "properties": { + "errors": { + "items": { + "$ref": "#/definitions/v1ClusterResourceError" + }, + "type": "array", + "uniqueItems": true + } + } + }, + "v1ClusterNamespaces": { + "description": "Cluster's available namespaces", + "properties": { + "namespaces": { + "items": { + "$ref": "#/definitions/v1ClusterNamespace" + }, + "type": "array" + } + } + }, + "v1ClusterNotificationStatus": { + "description": "Cluster notifications status", + "properties": { + "isAvailable": { + "type": "boolean", + "x-omitempty": false + } + } + }, + "v1ClusterNotificationUpdateEntity": { + "description": "Cluster input for notification update", + "properties": { + "profiles": { + "items": { + "$ref": "#/definitions/v1ClusterProfileNotificationUpdateEntity" + }, + "type": "array", + "uniqueItems": true + }, + "spcApplySettings": { + "$ref": "#/definitions/v1SpcApplySettings" + } + }, + "type": "object" + }, + "v1ClusterPackManifestStatus": { + "properties": { + "condition": { + "$ref": "#/definitions/v1ClusterCondition" + }, + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + }, + "type": "object" + }, + "v1ClusterPackStatus": { + "properties": { + "condition": { + "$ref": "#/definitions/v1ClusterCondition" + }, + "endTime": { + "$ref": "#/definitions/v1Time" + }, + "manifests": { + "items": { + "$ref": "#/definitions/v1ClusterPackManifestStatus" + }, + "type": "array" + }, + "name": { + "type": "string" + }, + "profileUid": { + "type": "string" + }, + "services": { + "items": { + "$ref": "#/definitions/v1LoadBalancerService" + }, + "type": "array" + }, + "startTime": { + "$ref": "#/definitions/v1Time" + }, + "type": { + "type": "string" + }, + "version": { + "type": "string" + } + }, + "type": "object" + }, + "v1ClusterPreference": { + "description": "cluster preference", + "properties": { + "archivalIntervalInHour": { + "description": "clusters cleanup interval post deletion", + "type": "integer" + }, + "deletePeriodInHour": { + "description": "clusters deleted before delete period are eligible for cleanup", + "type": "integer" + }, + "healthPollIntervalInMinutes": { + "description": "clusters health poll interval", + "maximum": 60, + "minimum": 3, + "type": "integer" + }, + "monitorIntervalInMinutes": { + "description": "clusters state and consistency monitor", + "type": "integer" + } + } + }, + "v1ClusterProfile": { + "description": "ClusterProfile is the Schema for the clusterprofiles API", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1ClusterProfileSpec" + }, + "status": { + "$ref": "#/definitions/v1ClusterProfileStatus" + } + }, + "type": "object" + }, + "v1ClusterProfileCloneEntity": { + "description": "Cluster profile clone request payload", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ClusterProfileCloneMetaInputEntity" + } + }, + "type": "object" + }, + "v1ClusterProfileCloneMetaInputEntity": { + "description": "Cluster profile clone metadata", + "properties": { + "name": { + "description": "Cloned cluster profile name", + "type": "string" + }, + "target": { + "$ref": "#/definitions/v1ClusterProfileCloneTarget" + }, + "version": { + "description": "Cloned cluster profile version", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + }, + "v1ClusterProfileCloneTarget": { + "description": "Cluster profile clone meta input entity", + "properties": { + "projectUid": { + "description": "Cloned cluster profile project uid", + "type": "string" + }, + "scope": { + "$ref": "#/definitions/v1Scope" + } + }, + "required": [ + "scope" + ], + "type": "object" + }, + "v1ClusterProfileEntity": { + "description": "Cluster profile request payload", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "properties": { + "template": { + "$ref": "#/definitions/v1ClusterProfileTemplateDraft" + }, + "variables": { + "description": "List of unique variable fields defined for a cluster profile with schema constraints", + "items": { + "$ref": "#/definitions/v1Variable" + }, + "type": "array", + "uniqueItems": true + }, + "version": { + "description": "Cluster profile version", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "v1ClusterProfileFilterSpec": { + "description": "Cluster profile filter spec", + "properties": { + "environment": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "fips": { + "$ref": "#/definitions/v1ClusterFipsMode" + }, + "profileName": { + "$ref": "#/definitions/v1FilterString" + }, + "profileType": { + "items": { + "$ref": "#/definitions/v1ProfileType" + }, + "type": "array", + "uniqueItems": true + }, + "scope": { + "$ref": "#/definitions/v1ClusterProfileScope" + }, + "tags": { + "$ref": "#/definitions/v1FilterArray" + }, + "version": { + "$ref": "#/definitions/v1FilterVersionString" + } + } + }, + "v1ClusterProfileFips": { + "description": "Cluster profile fips compliance status", + "properties": { + "mode": { + "$ref": "#/definitions/v1ClusterFipsMode" + } + } + }, + "v1ClusterProfileImportEntity": { + "description": "Cluster profile import request payload", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ClusterProfileMetadataImportEntity" + }, + "spec": { + "$ref": "#/definitions/v1ClusterProfileSpecImportEntity" + } + }, + "type": "object" + }, + "v1ClusterProfileMetadata": { + "description": "Cluster profile filter spec", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectEntity" + }, + "spec": { + "properties": { + "cloudType": { + "type": "string" + }, + "version": { + "type": "string" + } + } + } + } + }, + "v1ClusterProfileMetadataImportEntity": { + "description": "Cluster profile import metadata", + "properties": { + "description": { + "description": "Cluster profile description", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Cluster profile labels", + "type": "object" + }, + "name": { + "description": "Cluster profile name", + "type": "string" + } + }, + "type": "object" + }, + "v1ClusterProfileNotificationUpdateEntity": { + "description": "Cluster profile notification update request payload", + "properties": { + "packs": { + "description": "Cluster profile packs array", + "items": { + "$ref": "#/definitions/v1PackManifestUpdateEntity" + }, + "type": "array", + "uniqueItems": true + }, + "uid": { + "description": "Cluster profile uid", + "type": "string" + } + }, + "type": "object" + }, + "v1ClusterProfilePackConfigList": { + "properties": { + "items": { + "description": "Cluster profile packs array", + "items": { + "$ref": "#/definitions/v1PackConfig" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1ClusterProfilePackManifests": { + "description": "Cluster profile pack manifests", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1PackManifestsSpec" + }, + "status": { + "$ref": "#/definitions/v1PackSummaryStatus" + } + }, + "type": "object" + }, + "v1ClusterProfilePackSummary": { + "description": "Cluster profile packs summary about the deprecated, disabled, deleted packs count", + "properties": { + "deleted": { + "description": "Total count of deleted packs in a cluster profile", + "type": "number", + "x-omitempty": false + }, + "deprecated": { + "description": "Total count of deprecated packs in a cluster profile", + "type": "number", + "x-omitempty": false + }, + "disabled": { + "description": "Total count of disabled packs in a cluster profile", + "type": "number", + "x-omitempty": false + } + }, + "type": "object" + }, + "v1ClusterProfilePacksEntities": { + "description": "List of cluster profile packs", + "properties": { + "items": { + "description": "Cluster profile packs array", + "items": { + "$ref": "#/definitions/v1ClusterProfilePacksEntity" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1ClusterProfilePacksEntity": { + "description": "Cluster profile packs object", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1PackSummarySpec" + }, + "status": { + "$ref": "#/definitions/v1PackSummaryStatus" + } + }, + "type": "object" + }, + "v1ClusterProfilePacksManifests": { + "description": "Cluster profile pack manifests", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "properties": { + "packs": { + "description": "Cluster profile packs array", + "items": { + "$ref": "#/definitions/v1ClusterProfilePackManifests" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + } + }, + "type": "object" + }, + "v1ClusterProfileScope": { + "enum": [ + "system", + "tenant", + "project" + ], + "type": "string" + }, + "v1ClusterProfileSortFields": { + "enum": [ + "profileName", + "environment", + "profileType", + "creationTimestamp", + "lastModifiedTimestamp" + ], + "type": "string", + "x-nullable": true + }, + "v1ClusterProfileSortSpec": { + "properties": { + "field": { + "$ref": "#/definitions/v1ClusterProfileSortFields" + }, + "order": { + "$ref": "#/definitions/v1SortOrder" + } + } + }, + "v1ClusterProfileSpec": { + "description": "ClusterProfileTemplate can be in draft mode, or published mode User only see the latest published template, and (or) the draft template User can apply either the draft version or the latest published version to a cluster when user create a draft version, just copy the Published template, increment the version, and keep changing the draft template without increment the draft version when user publish a draft, the version is fixed, and won't be able to make any modification on published template For each clusterprofile that has a published version, there will be a ClusterProfileArchive automatically created when user publish a draft, the published version will also be copied over to the corresponding ClusterProfileArchive it is just in case in the future for whatever reason we may want to expose earlier versions", + "properties": { + "draft": { + "$ref": "#/definitions/v1ClusterProfileTemplate" + }, + "published": { + "$ref": "#/definitions/v1ClusterProfileTemplate" + }, + "version": { + "type": "string" + }, + "versions": { + "description": "Cluster profile's list of all the versions", + "items": { + "$ref": "#/definitions/v1ClusterProfileVersion" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1ClusterProfileSpecEntity": { + "description": "Cluster profile update spec", + "properties": { + "version": { + "description": "Cluster profile version", + "type": "string" + } + }, + "type": "object" + }, + "v1ClusterProfileSpecImportEntity": { + "description": "Cluster profile import spec", + "properties": { + "template": { + "$ref": "#/definitions/v1ClusterProfileTemplateImportEntity" + }, + "variables": { + "description": "List of unique variable fields defined for a cluster profile with schema constraints", + "items": { + "$ref": "#/definitions/v1Variable" + }, + "type": "array", + "uniqueItems": true + }, + "version": { + "description": "Cluster profile version", + "type": "string" + } + }, + "type": "object" + }, + "v1ClusterProfileStatus": { + "description": "ClusterProfileStatus defines the observed state of ClusterProfile", + "properties": { + "hasUserMacros": { + "description": "If it is true then profile pack values has a reference to user defined macros", + "type": "boolean", + "x-omitempty": false + }, + "inUseClusterUids": { + "description": "Deprecated. Use inUseClusters", + "items": { + "type": "string" + }, + "type": "array" + }, + "inUseClusters": { + "items": { + "$ref": "#/definitions/v1ObjectResReference" + }, + "type": "array" + }, + "isPublished": { + "type": "boolean", + "x-omitempty": false + } + }, + "type": "object" + }, + "v1ClusterProfileStatusSummary": { + "description": "ClusterProfileStatusSummary defines the observed state of ClusterProfile", + "properties": { + "fips": { + "$ref": "#/definitions/v1ClusterProfileFips" + }, + "inUseClusterUids": { + "description": "Deprecated. Use inUseClusters", + "items": { + "type": "string" + }, + "type": "array" + }, + "inUseClusters": { + "items": { + "$ref": "#/definitions/v1ObjectEntity" + }, + "type": "array" + }, + "isPublished": { + "type": "boolean", + "x-omitempty": false + }, + "pack": { + "$ref": "#/definitions/v1ClusterProfilePackSummary" + } + }, + "type": "object" + }, + "v1ClusterProfileSummary": { + "description": "Cluster profile summary", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "specSummary": { + "description": "Cluster profile spec summary", + "properties": { + "draft": { + "$ref": "#/definitions/v1ClusterProfileTemplateSummary" + }, + "published": { + "$ref": "#/definitions/v1ClusterProfileTemplateSummary" + }, + "version": { + "description": "Cluster profile's latest version", + "type": "string" + }, + "versions": { + "description": "Cluster profile's list of all the versions", + "items": { + "$ref": "#/definitions/v1ClusterProfileVersion" + }, + "type": "array" + } + }, + "type": "object" + }, + "status": { + "$ref": "#/definitions/v1ClusterProfileStatusSummary" + } + }, + "type": "object" + }, + "v1ClusterProfileTemplate": { + "description": "ClusterProfileTemplate contains details of a clusterprofile definition", + "properties": { + "cloudType": { + "type": "string" + }, + "name": { + "type": "string" + }, + "packServerRefs": { + "description": "PackServerRefs is only used on Hubble side it is reference to pack registry servers which PackRef belongs to in hubble, pack server is a top level object, so use a reference to point to it packs within a clusterprofile can come from different pack servers, so this is an array", + "items": { + "$ref": "#/definitions/v1ObjectReference" + }, + "type": "array" + }, + "packServerSecret": { + "description": "This secret is used only on Palette side use case is similar to k8s image pull secret this single secret internally should contains all the pack servers in PackServerRefs if empty, means no credential is needed to access the pack server For spectro saas, Ally will set this field before pass to palette", + "type": "string" + }, + "packs": { + "description": "Packs definitions here are final definitions. If ClonedFrom and ParamsOverwrite is present, then Packs are the final merge result of ClonedFrom and ParamsOverwrite So orchestration engine will just take the Packs and do the work, no need to worry about parameters merge", + "items": { + "$ref": "#/definitions/v1PackRef" + }, + "type": "array" + }, + "profileVersion": { + "description": "version start from 1.0.0, matching the index of ClusterProfileSpec.Versions[] will be used by clusterSpec to identify which version is applied to the cluster", + "type": "string" + }, + "relatedObject": { + "$ref": "#/definitions/v1ObjectReference", + "description": "RelatedObject refers to the type of object(clustergroup, cluster or edgeHost) the cluster profile is associated with" + }, + "type": { + "type": "string" + }, + "uid": { + "type": "string" + }, + "version": { + "description": "Deprecated. Use profileVersion", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "v1ClusterProfileTemplateDraft": { + "description": "Cluster profile template spec", + "properties": { + "cloudType": { + "type": "string" + }, + "packs": { + "description": "Cluster profile packs array", + "items": { + "$ref": "#/definitions/v1PackManifestEntity" + }, + "type": "array", + "uniqueItems": true + }, + "type": { + "$ref": "#/definitions/v1ProfileType" + } + }, + "type": "object" + }, + "v1ClusterProfileTemplateImportEntity": { + "description": "Cluster profile import template", + "properties": { + "cloudType": { + "description": "Cluster profile cloud type", + "type": "string" + }, + "packs": { + "description": "Cluster profile packs array", + "items": { + "$ref": "#/definitions/v1PackImportEntity" + }, + "type": "array", + "uniqueItems": true + }, + "type": { + "description": "Cluster profile type [ \"cluster\", \"infra\", \"add-on\", \"system\" ]", + "type": "string" + } + }, + "type": "object" + }, + "v1ClusterProfileTemplateMeta": { + "description": "Cluster profile template meta information", + "properties": { + "cloudType": { + "type": "string" + }, + "name": { + "description": "Cluster profile name", + "type": "string" + }, + "packs": { + "description": "Cluster profile packs array", + "items": { + "$ref": "#/definitions/v1PackRef" + }, + "type": "array" + }, + "scope": { + "description": "scope or context(system, tenant or project)", + "type": "string" + }, + "type": { + "description": "Cluster profile type [ \"cluster\", \"infra\", \"add-on\", \"system\" ]", + "type": "string" + }, + "uid": { + "description": "Cluster profile uid", + "type": "string" + }, + "version": { + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "v1ClusterProfileTemplateSummary": { + "description": "Cluster profile template summary", + "properties": { + "cloudType": { + "type": "string" + }, + "packs": { + "items": { + "$ref": "#/definitions/v1PackRefSummary" + }, + "type": "array" + }, + "type": { + "type": "string" + } + }, + "type": "object" + }, + "v1ClusterProfileTemplateUpdate": { + "description": "Cluster profile template update spec", + "properties": { + "packs": { + "description": "Cluster profile packs array", + "items": { + "$ref": "#/definitions/v1PackManifestUpdateEntity" + }, + "type": "array", + "uniqueItems": true + }, + "type": { + "$ref": "#/definitions/v1ProfileType" + } + }, + "type": "object" + }, + "v1ClusterProfileUpdateEntity": { + "description": "Cluster profile update request payload", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "description": "Cluster profile update spec", + "properties": { + "template": { + "$ref": "#/definitions/v1ClusterProfileTemplateUpdate" + }, + "version": { + "description": "Cluster profile version", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "v1ClusterProfileValidatorResponse": { + "description": "Cluster profile validator response", + "properties": { + "packs": { + "$ref": "#/definitions/v1ConstraintValidatorResponse" + } + }, + "type": "object" + }, + "v1ClusterProfileVersion": { + "description": "Cluster profile with version", + "properties": { + "uid": { + "type": "string" + }, + "version": { + "type": "string" + } + } + }, + "v1ClusterProfiles": { + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1ClusterProfile" + }, + "type": "array", + "uniqueItems": true + }, + "listmeta": { + "$ref": "#/definitions/v1ListMetaData" + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1ClusterProfilesFilterSpec": { + "description": "Spectro cluster filter summary spec", + "properties": { + "filter": { + "$ref": "#/definitions/v1ClusterProfileFilterSpec" + }, + "sort": { + "items": { + "$ref": "#/definitions/v1ClusterProfileSortSpec" + }, + "type": "array", + "uniqueItems": true + } + } + }, + "v1ClusterProfilesMetadata": { + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1ClusterProfileMetadata" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1ClusterProfilesSummary": { + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1ClusterProfileSummary" + }, + "type": "array", + "uniqueItems": true + }, + "listmeta": { + "$ref": "#/definitions/v1ListMetaData" + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1ClusterProxySpec": { + "description": "cluster proxy config spec", + "properties": { + "caContainerMountPath": { + "description": "Location to mount Proxy CA cert inside container", + "type": "string" + }, + "caHostPath": { + "description": "Location for Proxy CA cert on host nodes", + "type": "string" + }, + "httpProxy": { + "description": "URL for HTTP requests unless overridden by NoProxy", + "type": "string" + }, + "httpsProxy": { + "description": "HTTPS requests unless overridden by NoProxy", + "type": "string" + }, + "noProxy": { + "description": "NoProxy represents the NO_PROXY or no_proxy environment", + "type": "string" + } + }, + "type": "object" + }, + "v1ClusterRbac": { + "description": "Cluster RBAC role binding defintion", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1ClusterRbacSpec" + }, + "status": { + "$ref": "#/definitions/v1ClusterRbacStatus" + } + }, + "type": "object" + }, + "v1ClusterRbacBinding": { + "description": "Cluster RBAC binding", + "properties": { + "namespace": { + "type": "string" + }, + "role": { + "$ref": "#/definitions/v1ClusterRoleRef" + }, + "subjects": { + "items": { + "$ref": "#/definitions/v1ClusterRbacSubjects" + }, + "type": "array", + "uniqueItems": true + }, + "type": { + "enum": [ + "RoleBinding", + "ClusterRoleBinding" + ], + "type": "string" + } + }, + "type": "object" + }, + "v1ClusterRbacEntity": { + "properties": { + "clusterRbac": { + "description": "Cluster RBAC role bindings", + "items": { + "$ref": "#/definitions/v1ResourceReference" + }, + "type": "array" + } + } + }, + "v1ClusterRbacInputEntity": { + "description": "Cluster RBAC role binding defintion", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMetaUpdateEntity" + }, + "spec": { + "$ref": "#/definitions/v1ClusterRbacSpec" + } + }, + "type": "object" + }, + "v1ClusterRbacResourcesUpdateEntity": { + "properties": { + "rbacs": { + "items": { + "$ref": "#/definitions/v1ClusterRbacInputEntity" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "v1ClusterRbacSpec": { + "description": "Cluster RBAC spec", + "properties": { + "bindings": { + "items": { + "$ref": "#/definitions/v1ClusterRbacBinding" + }, + "type": "array", + "uniqueItems": true + }, + "relatedObject": { + "$ref": "#/definitions/v1RelatedObject" + } + }, + "type": "object" + }, + "v1ClusterRbacStatus": { + "description": "Cluster rbac status", + "properties": { + "errors": { + "items": { + "$ref": "#/definitions/v1ClusterResourceError" + }, + "type": "array", + "uniqueItems": true + } + } + }, + "v1ClusterRbacSubjects": { + "description": "Cluster role ref", + "properties": { + "name": { + "type": "string" + }, + "namespace": { + "type": "string" + }, + "type": { + "enum": [ + "User", + "Group", + "ServiceAccount" + ], + "type": "string" + } + }, + "type": "object" + }, + "v1ClusterRbacs": { + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1ClusterRbac" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1ClusterRefs": { + "description": "Cluster Object References", + "properties": { + "clusters": { + "items": { + "$ref": "#/definitions/v1ObjectReference" + }, + "type": "array" + } + } + }, + "v1ClusterRepaveSource": { + "enum": [ + "user", + "hubble", + "palette", + "stylus" + ], + "type": "string" + }, + "v1ClusterRepaveState": { + "default": "Pending", + "enum": [ + "Pending", + "Approved", + "Reverted" + ], + "type": "string" + }, + "v1ClusterRepaveStatus": { + "description": "Cluster repave status", + "properties": { + "state": { + "$ref": "#/definitions/v1ClusterRepaveState" + } + } + }, + "v1ClusterResourceAllocation": { + "description": "Workspace resource allocation", + "properties": { + "clusterUid": { + "type": "string" + }, + "resourceAllocation": { + "$ref": "#/definitions/v1WorkspaceResourceAllocation" + } + } + }, + "v1ClusterResourceError": { + "description": "Cluster resource error", + "properties": { + "msg": { + "type": "string" + }, + "name": { + "type": "string" + }, + "resourceType": { + "type": "string" + } + } + }, + "v1ClusterResources": { + "properties": { + "namespaces": { + "description": "Cluster namespaces", + "items": { + "$ref": "#/definitions/v1ResourceReference" + }, + "type": "array" + }, + "rbacs": { + "description": "Cluster RBAC role bindings", + "items": { + "$ref": "#/definitions/v1ResourceReference" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1ClusterResourcesEntity": { + "properties": { + "namespaces": { + "items": { + "$ref": "#/definitions/v1ClusterNamespaceResourceInputEntity" + }, + "type": "array", + "uniqueItems": true + }, + "rbacs": { + "items": { + "$ref": "#/definitions/v1ClusterRbacInputEntity" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "v1ClusterRestore": { + "description": "Cluster Restore", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1ClusterRestoreSpec" + }, + "status": { + "$ref": "#/definitions/v1ClusterRestoreStatus" + } + } + }, + "v1ClusterRestoreConfig": { + "description": "Cluster restore config", + "properties": { + "backupName": { + "type": "string" + }, + "backupRequestUid": { + "type": "string" + }, + "destinationClusterUid": { + "type": "string" + }, + "includeClusterResources": { + "type": "boolean" + }, + "includeNamespaces": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "preserveNodePorts": { + "type": "boolean" + }, + "restorePVs": { + "type": "boolean" + } + }, + "required": [ + "backupRequestUid", + "backupName", + "destinationClusterUid" + ] + }, + "v1ClusterRestoreSpec": { + "description": "Cluster Restore Spec", + "properties": { + "clusterUid": { + "type": "string" + } + } + }, + "v1ClusterRestoreStatus": { + "description": "Cluster Restore Status", + "properties": { + "clusterRestoreStatuses": { + "items": { + "$ref": "#/definitions/v1ClusterRestoreStatusMeta" + }, + "type": "array" + } + } + }, + "v1ClusterRestoreStatusMeta": { + "description": "Cluster Restore Status Meta", + "properties": { + "actor": { + "$ref": "#/definitions/v1ClusterFeatureActor" + }, + "backupName": { + "type": "string" + }, + "backupRequestUid": { + "type": "string" + }, + "restoreRequestUid": { + "type": "string" + }, + "restoreStatusMeta": { + "$ref": "#/definitions/v1RestoreStatusMeta" + }, + "sourceClusterRef": { + "$ref": "#/definitions/v1ResourceReference" + }, + "state": { + "type": "string" + } + } + }, + "v1ClusterRoleRef": { + "description": "Cluster role ref", + "properties": { + "kind": { + "enum": [ + "Role", + "ClusterRole" + ], + "type": "string" + }, + "name": { + "type": "string" + } + }, + "type": "object" + }, + "v1ClusterScanLogKubeBench": { + "description": "Cluster compliance scan KubeBench Log", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1ClusterComplianceScanLogSpec" + }, + "status": { + "$ref": "#/definitions/v1ClusterKubeBenchLogStatus" + } + } + }, + "v1ClusterScanLogKubeHunter": { + "description": "Cluster compliance scan KubeHunter Log", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1ClusterComplianceScanLogSpec" + }, + "status": { + "$ref": "#/definitions/v1ClusterKubeHunterLogStatus" + } + } + }, + "v1ClusterScanLogSonobuoy": { + "description": "Cluster compliance scan Sonobuoy Log", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1ClusterComplianceScanLogSpec" + }, + "status": { + "$ref": "#/definitions/v1ClusterSonobuoyLogStatus" + } + } + }, + "v1ClusterScanLogSyft": { + "description": "Cluster Compliance Scan Syft Log", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1ClusterComplianceScanLogSpec" + }, + "status": { + "$ref": "#/definitions/v1ClusterSyftLogStatus" + } + } + }, + "v1ClusterScanTime": { + "description": "Cluster compliance scan Time", + "properties": { + "endTime": { + "$ref": "#/definitions/v1Time" + }, + "startTime": { + "$ref": "#/definitions/v1Time" + } + } + }, + "v1ClusterSearchInputSpec": { + "properties": { + "inputs": { + "additionalProperties": { + "$ref": "#/definitions/v1ClusterSearchInputSpecProperty" + }, + "type": "object" + } + } + }, + "v1ClusterSearchInputSpecProperty": { + "properties": { + "values": { + "items": { + "$ref": "#/definitions/v1ObjectEntity" + }, + "type": "array", + "x-omitempty": true + } + } + }, + "v1ClusterSonobuoyLogStatus": { + "description": "Cluster compliance scan Sonobuoy Log Status", + "properties": { + "actor": { + "$ref": "#/definitions/v1ClusterFeatureActor" + }, + "message": { + "type": "string" + }, + "reports": { + "additionalProperties": { + "$ref": "#/definitions/v1SonobuoyReport" + }, + "type": "object" + }, + "requestUid": { + "type": "string" + }, + "scanTime": { + "$ref": "#/definitions/v1ClusterScanTime" + }, + "state": { + "type": "string" + } + } + }, + "v1ClusterState": { + "enum": [ + "Pending", + "Provisioning", + "Running", + "Deleting", + "Deleted", + "Error", + "Importing" + ], + "type": "string" + }, + "v1ClusterSyftLogStatus": { + "description": "Cluster compliance scan Syft Log Status", + "properties": { + "actor": { + "$ref": "#/definitions/v1ClusterFeatureActor" + }, + "location": { + "$ref": "#/definitions/v1ObjectEntity" + }, + "message": { + "type": "string" + }, + "reports": { + "items": { + "$ref": "#/definitions/v1SyftReport" + }, + "type": "array" + }, + "requestUid": { + "type": "string" + }, + "scanContext": { + "$ref": "#/definitions/v1SyftScanContext" + }, + "scanTime": { + "$ref": "#/definitions/v1ClusterScanTime" + }, + "state": { + "type": "string" + } + } + }, + "v1ClusterUpgradeSettingsEntity": { + "properties": { + "spectroComponents": { + "enum": [ + "lock", + "unlock" + ], + "type": "string" + } + } + }, + "v1ClusterUsageSummary": { + "description": "Cluster usage summary", + "properties": { + "cpuCores": { + "type": "number", + "x-omitempty": false + }, + "isAlloy": { + "type": "boolean", + "x-omitempty": false + }, + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + }, + "type": "object" + }, + "v1ClusterVirtualMachine": { + "description": "VirtualMachine handles the VirtualMachines that are not running\nor are in a stopped state\nThe VirtualMachine contains the template to create the\nVirtualMachineInstance. It also mirrors the running state of the created\nVirtualMachineInstance in its status.", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values.", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase.", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/v1VmObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1ClusterVirtualMachineSpec" + }, + "status": { + "$ref": "#/definitions/v1ClusterVirtualMachineStatus" + } + }, + "required": [ + "spec" + ] + }, + "v1ClusterVirtualMachineList": { + "description": "VirtualMachineList is a list of virtual machines", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values.", + "type": "string" + }, + "items": { + "items": { + "$ref": "#/definitions/v1ClusterVirtualMachine" + }, + "type": "array" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/v1VmListMeta" + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1ClusterVirtualMachineSpec": { + "description": "VirtualMachineSpec describes how the proper VirtualMachine should look like", + "properties": { + "dataVolumeTemplates": { + "description": "dataVolumeTemplates is a list of dataVolumes that the VirtualMachineInstance template can reference. DataVolumes in this list are dynamically created for the VirtualMachine and are tied to the VirtualMachine's life-cycle.", + "items": { + "$ref": "#/definitions/v1VmDataVolumeTemplateSpec" + }, + "type": "array" + }, + "instancetype": { + "$ref": "#/definitions/v1VmInstancetypeMatcher" + }, + "preference": { + "$ref": "#/definitions/v1VmPreferenceMatcher" + }, + "runStrategy": { + "description": "Running state indicates the requested running state of the VirtualMachineInstance mutually exclusive with Running", + "type": "string" + }, + "running": { + "description": "Running controls whether the associatied VirtualMachineInstance is created or not Mutually exclusive with RunStrategy", + "type": "boolean" + }, + "template": { + "$ref": "#/definitions/v1VmVirtualMachineInstanceTemplateSpec" + } + }, + "required": [ + "template" + ], + "type": "object" + }, + "v1ClusterVirtualMachineStatus": { + "description": "VirtualMachineStatus represents the status returned by the controller to describe how the VirtualMachine is doing", + "properties": { + "conditions": { + "description": "Hold the state information of the VirtualMachine and its VirtualMachineInstance", + "items": { + "$ref": "#/definitions/v1VmVirtualMachineCondition" + }, + "type": "array" + }, + "created": { + "description": "Created indicates if the virtual machine is created in the cluster", + "type": "boolean" + }, + "memoryDumpRequest": { + "$ref": "#/definitions/v1VmVirtualMachineMemoryDumpRequest" + }, + "printableStatus": { + "description": "PrintableStatus is a human readable, high-level representation of the status of the virtual machine", + "type": "string" + }, + "ready": { + "description": "Ready indicates if the virtual machine is running and ready", + "type": "boolean" + }, + "restoreInProgress": { + "description": "RestoreInProgress is the name of the VirtualMachineRestore currently executing", + "type": "string" + }, + "snapshotInProgress": { + "description": "SnapshotInProgress is the name of the VirtualMachineSnapshot currently executing", + "type": "string" + }, + "startFailure": { + "$ref": "#/definitions/v1VmVirtualMachineStartFailure" + }, + "stateChangeRequests": { + "description": "StateChangeRequests indicates a list of actions that should be taken on a VMI e.g. stop a specific VMI then start a new one.", + "items": { + "$ref": "#/definitions/v1VmVirtualMachineStateChangeRequest" + }, + "type": "array" + }, + "volumeRequests": { + "description": "VolumeRequests indicates a list of volumes add or remove from the VMI template and hotplug on an active running VMI.", + "items": { + "$ref": "#/definitions/v1VmVirtualMachineVolumeRequest" + }, + "type": "array", + "x-kubernetes-list-type": "atomic" + }, + "volumeSnapshotStatuses": { + "description": "VolumeSnapshotStatuses indicates a list of statuses whether snapshotting is supported by each volume.", + "items": { + "$ref": "#/definitions/v1VmVolumeSnapshotStatus" + }, + "type": "array" + } + }, + "type": "object", + "x-nullable": true + }, + "v1ClusterVirtualPacksValue": { + "description": "Virtual cluster packs value", + "properties": { + "distroType": { + "type": "string" + }, + "layer": { + "type": "string" + }, + "values": { + "type": "string" + } + }, + "type": "object" + }, + "v1ClusterVirtualPacksValues": { + "description": "Virtual cluster packs values", + "properties": { + "packs": { + "items": { + "$ref": "#/definitions/v1ClusterVirtualPacksValue" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1ClusterWorkload": { + "description": "Cluster workload summary", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMetaInputEntity" + }, + "spec": { + "$ref": "#/definitions/v1ClusterWorkloadSpec" + } + }, + "type": "object" + }, + "v1ClusterWorkloadCondition": { + "description": "Cluster workload condition", + "properties": { + "lastTransitionTime": { + "$ref": "#/definitions/v1Time" + }, + "lastUpdateTime": { + "$ref": "#/definitions/v1Time" + }, + "message": { + "type": "string" + }, + "reason": { + "type": "string" + }, + "status": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "type": "object" + }, + "v1ClusterWorkloadCronJob": { + "description": "Cluster workload cronjob summary", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ClusterWorkloadMetadata" + }, + "spec": { + "$ref": "#/definitions/v1ClusterWorkloadCronJobSpec" + }, + "status": { + "$ref": "#/definitions/v1ClusterWorkloadCronJobStatus" + } + }, + "type": "object" + }, + "v1ClusterWorkloadCronJobSpec": { + "description": "Cluster workload cronjob spec", + "properties": { + "schedule": { + "type": "string" + } + }, + "type": "object" + }, + "v1ClusterWorkloadCronJobStatus": { + "description": "Cluster workload cronjob status", + "properties": { + "lastScheduleTime": { + "$ref": "#/definitions/v1Time" + } + }, + "type": "object" + }, + "v1ClusterWorkloadCronJobs": { + "description": "Cluster workload cronjobs summary", + "properties": { + "cronJobs": { + "items": { + "$ref": "#/definitions/v1ClusterWorkloadCronJob" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1ClusterWorkloadDaemonSet": { + "description": "Cluster workload daemonset summary", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ClusterWorkloadMetadata" + }, + "status": { + "$ref": "#/definitions/v1ClusterWorkloadDaemonSetStatus" + } + }, + "type": "object" + }, + "v1ClusterWorkloadDaemonSetStatus": { + "description": "Cluster workload daemonset status", + "properties": { + "available": { + "format": "int32", + "type": "integer" + }, + "currentScheduled": { + "format": "int32", + "type": "integer" + }, + "desiredScheduled": { + "format": "int32", + "type": "integer" + }, + "misScheduled": { + "format": "int32", + "type": "integer" + }, + "ready": { + "format": "int32", + "type": "integer" + }, + "updatedScheduled": { + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "v1ClusterWorkloadDaemonSets": { + "description": "Cluster workload daemonset summary", + "properties": { + "daemonSets": { + "items": { + "$ref": "#/definitions/v1ClusterWorkloadDaemonSet" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1ClusterWorkloadDeployment": { + "description": "Cluster workload deployment summary", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ClusterWorkloadMetadata" + }, + "status": { + "$ref": "#/definitions/v1ClusterWorkloadDeploymentStatus" + } + }, + "type": "object" + }, + "v1ClusterWorkloadDeploymentStatus": { + "description": "Cluster workload deployment status", + "properties": { + "replicas": { + "$ref": "#/definitions/v1ClusterWorkloadReplicaStatus" + } + }, + "type": "object" + }, + "v1ClusterWorkloadDeployments": { + "description": "Cluster workload deployments summary", + "properties": { + "deployments": { + "items": { + "$ref": "#/definitions/v1ClusterWorkloadDeployment" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1ClusterWorkloadJob": { + "description": "Cluster workload job summary", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ClusterWorkloadMetadata" + }, + "status": { + "$ref": "#/definitions/v1ClusterWorkloadJobStatus" + } + }, + "type": "object" + }, + "v1ClusterWorkloadJobStatus": { + "description": "Cluster workload job status", + "properties": { + "completionTime": { + "$ref": "#/definitions/v1Time" + }, + "conditions": { + "items": { + "$ref": "#/definitions/v1ClusterWorkloadCondition" + }, + "type": "array" + }, + "startTime": { + "$ref": "#/definitions/v1Time" + }, + "succeeded": { + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "v1ClusterWorkloadJobs": { + "description": "Cluster workload jobs summary", + "properties": { + "jobs": { + "items": { + "$ref": "#/definitions/v1ClusterWorkloadJob" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1ClusterWorkloadMetadata": { + "description": "Cluster workload metadata", + "properties": { + "creationTimestamp": { + "$ref": "#/definitions/v1Time" + }, + "entity": { + "$ref": "#/definitions/v1ClusterWorkloadRef" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "namespace": { + "type": "string" + } + }, + "type": "object" + }, + "v1ClusterWorkloadNamespace": { + "description": "Cluster workload namespace summary", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ClusterWorkloadMetadata" + }, + "status": { + "$ref": "#/definitions/v1ClusterWorkloadNamespaceStatus" + } + }, + "type": "object" + }, + "v1ClusterWorkloadNamespaceStatus": { + "description": "Cluster workload namespace status", + "properties": { + "phase": { + "type": "string" + } + }, + "type": "object" + }, + "v1ClusterWorkloadNamespaces": { + "description": "Cluster workload namespaces summary", + "properties": { + "namespaces": { + "items": { + "$ref": "#/definitions/v1ClusterWorkloadNamespace" + }, + "type": "array" + } + } + }, + "v1ClusterWorkloadPod": { + "description": "Cluster workload pod summary", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ClusterWorkloadPodMetadata" + }, + "spec": { + "$ref": "#/definitions/v1ClusterWorkloadPodSpec" + }, + "status": { + "$ref": "#/definitions/v1ClusterWorkloadPodStatus" + } + }, + "type": "object" + }, + "v1ClusterWorkloadPodContainer": { + "description": "Cluster workload pod container", + "properties": { + "image": { + "type": "string" + }, + "name": { + "type": "string" + }, + "resources": { + "$ref": "#/definitions/v1ClusterWorkloadPodContainerResources" + } + }, + "type": "object" + }, + "v1ClusterWorkloadPodContainerResource": { + "description": "Cluster workload pod container resource", + "properties": { + "cpu": { + "format": "int32", + "type": "integer", + "x-omitempty": false + }, + "cpuUnit": { + "type": "string" + }, + "memory": { + "format": "int64", + "type": "integer", + "x-omitempty": false + }, + "memoryUnit": { + "type": "string" + } + }, + "type": "object" + }, + "v1ClusterWorkloadPodContainerResources": { + "description": "Cluster workload pod container resources", + "properties": { + "limits": { + "$ref": "#/definitions/v1ClusterWorkloadPodContainerResource" + }, + "requests": { + "$ref": "#/definitions/v1ClusterWorkloadPodContainerResource" + } + }, + "type": "object" + }, + "v1ClusterWorkloadPodContainerState": { + "description": "Cluster workload pod container state", + "properties": { + "exitCode": { + "format": "int32", + "type": "integer", + "x-omitempty": false + }, + "finishedAt": { + "$ref": "#/definitions/v1Time" + }, + "reason": { + "type": "string" + }, + "startedAt": { + "$ref": "#/definitions/v1Time" + }, + "state": { + "type": "string" + } + }, + "type": "object" + }, + "v1ClusterWorkloadPodContainerStatus": { + "description": "Cluster workload pod container status", + "properties": { + "image": { + "type": "string" + }, + "name": { + "type": "string" + }, + "ready": { + "type": "boolean", + "x-omitempty": false + }, + "restartCount": { + "format": "int32", + "type": "integer", + "x-omitempty": false + }, + "started": { + "type": "boolean", + "x-omitempty": false + }, + "state": { + "$ref": "#/definitions/v1ClusterWorkloadPodContainerState" + } + }, + "type": "object" + }, + "v1ClusterWorkloadPodMetadata": { + "description": "Cluster workload pod metadata", + "properties": { + "associatedRefs": { + "items": { + "$ref": "#/definitions/v1ClusterWorkloadRef" + }, + "type": "array" + }, + "creationTimestamp": { + "$ref": "#/definitions/v1Time" + }, + "entity": { + "$ref": "#/definitions/v1ClusterWorkloadRef" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "machineUid": { + "type": "string" + }, + "namespace": { + "type": "string" + }, + "nodename": { + "type": "string" + } + }, + "type": "object" + }, + "v1ClusterWorkloadPodSpec": { + "description": "Cluster workload pod spec", + "properties": { + "containers": { + "items": { + "$ref": "#/definitions/v1ClusterWorkloadPodContainer" + }, + "type": "array" + }, + "volumes": { + "items": { + "$ref": "#/definitions/v1ClusterWorkloadPodVolume" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1ClusterWorkloadPodStatus": { + "description": "Cluster workload pod status", + "properties": { + "containers": { + "items": { + "$ref": "#/definitions/v1ClusterWorkloadPodContainerStatus" + }, + "type": "array" + }, + "phase": { + "type": "string" + }, + "podIp": { + "type": "string" + }, + "qosClass": { + "type": "string" + } + }, + "type": "object" + }, + "v1ClusterWorkloadPodVolume": { + "description": "Cluster workload pod volume", + "properties": { + "name": { + "type": "string" + } + }, + "type": "object" + }, + "v1ClusterWorkloadPods": { + "description": "Cluster workload pods summary", + "properties": { + "pods": { + "items": { + "$ref": "#/definitions/v1ClusterWorkloadPod" + }, + "type": "array" + } + } + }, + "v1ClusterWorkloadRef": { + "description": "Cluster workload ref", + "properties": { + "kind": { + "type": "string" + }, + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + }, + "type": "object" + }, + "v1ClusterWorkloadReplicaStatus": { + "description": "Cluster workload replica status", + "properties": { + "available": { + "format": "int32", + "type": "integer", + "x-omitempty": false + }, + "ready": { + "format": "int32", + "type": "integer", + "x-omitempty": false + }, + "total": { + "format": "int32", + "type": "integer", + "x-omitempty": false + }, + "updated": { + "format": "int32", + "type": "integer", + "x-omitempty": false + } + }, + "type": "object" + }, + "v1ClusterWorkloadRoleBinding": { + "description": "Cluster workload rbac binding summary", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ClusterWorkloadMetadata" + }, + "spec": { + "$ref": "#/definitions/v1ClusterRbacBinding" + } + }, + "type": "object" + }, + "v1ClusterWorkloadRoleBindings": { + "description": "Cluster workload rbac bindings summary", + "properties": { + "bindings": { + "items": { + "$ref": "#/definitions/v1ClusterWorkloadRoleBinding" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1ClusterWorkloadSpec": { + "description": "Cluster workload spec", + "properties": { + "clusterroleBindings": { + "items": { + "$ref": "#/definitions/v1ClusterWorkloadRoleBinding" + }, + "type": "array" + }, + "cronJobs": { + "items": { + "$ref": "#/definitions/v1ClusterWorkloadCronJob" + }, + "type": "array" + }, + "daemonSets": { + "items": { + "$ref": "#/definitions/v1ClusterWorkloadDaemonSet" + }, + "type": "array" + }, + "deployments": { + "items": { + "$ref": "#/definitions/v1ClusterWorkloadDeployment" + }, + "type": "array" + }, + "jobs": { + "items": { + "$ref": "#/definitions/v1ClusterWorkloadJob" + }, + "type": "array" + }, + "pods": { + "items": { + "$ref": "#/definitions/v1ClusterWorkloadPod" + }, + "type": "array" + }, + "roleBindings": { + "items": { + "$ref": "#/definitions/v1ClusterWorkloadRoleBinding" + }, + "type": "array" + }, + "statefulSets": { + "items": { + "$ref": "#/definitions/v1ClusterWorkloadStatefulSet" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1ClusterWorkloadStatefulSet": { + "description": "Cluster workload statefulset summary", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ClusterWorkloadMetadata" + }, + "status": { + "$ref": "#/definitions/v1ClusterWorkloadStatefulSetStatus" + } + }, + "type": "object" + }, + "v1ClusterWorkloadStatefulSetStatus": { + "description": "Cluster workload statefulset status", + "properties": { + "replicas": { + "$ref": "#/definitions/v1ClusterWorkloadReplicaStatus" + } + }, + "type": "object" + }, + "v1ClusterWorkloadStatefulSets": { + "description": "Cluster workload statefulsets summary", + "properties": { + "statefulSets": { + "items": { + "$ref": "#/definitions/v1ClusterWorkloadStatefulSet" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1ClusterWorkloadsFilter": { + "description": "Cluster workloads filter", + "properties": { + "namespaces": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "v1ClusterWorkloadsSpec": { + "description": "Cluster workloads spec", + "properties": { + "filter": { + "$ref": "#/definitions/v1ClusterWorkloadsFilter" + } + }, + "type": "object" + }, + "v1ClustersInfo": { + "description": "Active clusters information", + "properties": { + "clustersMeta": { + "items": { + "$ref": "#/definitions/v1ClusterMeta" + }, + "type": "array", + "uniqueItems": true + }, + "totalActiveClusters": { + "format": "int64", + "type": "number" + }, + "totalActiveGreenFieldClusters": { + "format": "int64", + "type": "number" + }, + "totalActiveImportedClusters": { + "format": "int64", + "type": "number" + }, + "totalClustersDeleted": { + "format": "int64", + "type": "number" + }, + "totalClustersDeployed": { + "format": "int64", + "type": "number" + } + }, + "type": "object" + }, + "v1ComplianceScanConfig": { + "description": "Compliance Scan config", + "properties": { + "schedule": { + "$ref": "#/definitions/v1ClusterFeatureSchedule" + } + } + }, + "v1ComplianceScanDriverSpec": { + "description": "Compliance Scan driver spec", + "properties": { + "config": { + "$ref": "#/definitions/v1ComplianceScanConfig" + }, + "isClusterConfig": { + "type": "boolean" + } + } + }, + "v1ComputeMetrics": { + "description": "Compute metrics", + "properties": { + "lastUpdatedTime": { + "$ref": "#/definitions/v1Time" + }, + "limit": { + "type": "number", + "x-omitempty": false + }, + "request": { + "type": "number", + "x-omitempty": false + }, + "total": { + "type": "number", + "x-omitempty": false + }, + "unit": { + "type": "string" + }, + "usage": { + "type": "number", + "x-omitempty": false + } + }, + "type": "object" + }, + "v1ComputeRate": { + "description": "Compute estimated rate information", + "properties": { + "rate": { + "format": "float64", + "type": "number", + "x-omitempty": false + }, + "type": { + "type": "string" + } + }, + "type": "object" + }, + "v1ConfigReverseProxy": { + "description": "Describes the reverse proxy configuration", + "properties": { + "caCert": { + "description": "Describes the ca certificate for system's reverse proxy", + "type": "string" + }, + "clientCert": { + "description": "Describes the client certificate for system's reverse proxy", + "type": "string" + }, + "clientKey": { + "description": "Describes the client certificate key for system's reverse proxy", + "type": "string" + }, + "port": { + "description": "Describes the system's reverse proxy server port", + "type": "integer" + }, + "protocol": { + "description": "Describes the system's reverse proxy server protocol. Possible values [https, http]", + "enum": [ + "http", + "https" + ], + "type": "string" + }, + "server": { + "description": "Describes the system's reverse proxy server", + "type": "string" + } + } + }, + "v1ConstraintError": { + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "type": "object" + }, + "v1ConstraintValidatorResponse": { + "description": "Constraint validator response", + "properties": { + "results": { + "items": { + "$ref": "#/definitions/v1ConstraintValidatorResult" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "v1ConstraintValidatorResult": { + "description": "Constraint validator result", + "properties": { + "displayName": { + "type": "string" + }, + "errors": { + "items": { + "$ref": "#/definitions/v1ConstraintError" + }, + "type": "array", + "uniqueItems": true + }, + "name": { + "type": "string" + } + }, + "type": "object" + }, + "v1ControlPlaneEndPoint": { + "properties": { + "ddnsSearchDomain": { + "description": "DDNSSearchDomain is the search domain used for resolving IP addresses when the EndpointType is DDNS. This search domain is appended to the generated Hostname to obtain the complete DNS name for the endpoint. If Host is already a DDNS FQDN, DDNSSearchDomain is not required", + "type": "string" + }, + "host": { + "description": "IP or FQDN(External/DDNS)", + "type": "string" + }, + "type": { + "description": "VIP or External", + "enum": [ + "VIP", + "External", + "DDNS" + ], + "type": "string" + } + }, + "type": "object" + }, + "v1ControlPlaneHealthCheckTimeoutEntity": { + "properties": { + "controlPlaneHealthCheckTimeout": { + "description": "ControlPlaneHealthCheckTimeout is the timeout to check for ready state of the control plane nodes", + "type": "string" + } + }, + "type": "object" + }, + "v1CoxEdgeAccount": { + "description": "CoxEdge cloud account information", + "properties": { + "apiVersion": { + "description": "Cloud account api version", + "type": "string" + }, + "kind": { + "description": "Cloud account kind", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1CoxEdgeCloudAccount" + }, + "status": { + "$ref": "#/definitions/v1CloudAccountStatus" + } + }, + "type": "object" + }, + "v1CoxEdgeAccounts": { + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1CoxEdgeAccount" + }, + "type": "array", + "uniqueItems": true + }, + "listmeta": { + "$ref": "#/definitions/v1ListMetaData" + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1CoxEdgeBaseUrls": { + "description": "List of CoxEdge base urls", + "properties": { + "baseUrls": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "baseUrls" + ], + "type": "object" + }, + "v1CoxEdgeCloudAccount": { + "description": "CoxEdge cloud account", + "properties": { + "apiBaseUrl": { + "description": "The base url - used to make api calls", + "type": "string" + }, + "apiKey": { + "description": "CoxEdge cloud account ApiKey", + "type": "string" + }, + "environment": { + "description": "The environment belonging to the organization", + "type": "string" + }, + "organizationId": { + "description": "The Id of organization", + "type": "string" + }, + "service": { + "description": "The service for which the organization is allowed to provision resources", + "type": "string" + } + }, + "required": [ + "apiBaseUrl", + "apiKey" + ], + "type": "object" + }, + "v1CoxEdgeCloudClusterConfigEntity": { + "description": "CoxEdge cloud cluster config entity", + "properties": { + "clusterConfig": { + "$ref": "#/definitions/v1CoxEdgeClusterConfig" + } + }, + "type": "object" + }, + "v1CoxEdgeCloudConfig": { + "description": "CoxEdgeCloudConfig is the Schema for the coxedgecloudconfigs API", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1CoxEdgeCloudConfigSpec" + }, + "status": { + "$ref": "#/definitions/v1CoxEdgeCloudConfigStatus" + } + }, + "type": "object" + }, + "v1CoxEdgeCloudConfigSpec": { + "description": "CoxEdgeCloudConfigSpec defines the cloud configuration input by user This will translate to clusterspec/machinespec for cluster-api", + "properties": { + "cloudAccountRef": { + "$ref": "#/definitions/v1ObjectReference", + "description": "cloudAccountRef should point to the secret which contains GcpCloudAccount" + }, + "clusterConfig": { + "$ref": "#/definitions/v1CoxEdgeClusterConfig" + }, + "machinePoolConfig": { + "items": { + "$ref": "#/definitions/v1CoxEdgeMachinePoolConfig" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1CoxEdgeCloudConfigStatus": { + "description": "CoxEdgeCloudConfigStatus defines the observed state of CoxEdgeCloudConfig The cloudimage info built by Mold is stored here image should be mapped to a specific machinepool", + "properties": { + "conditions": { + "description": "spectroAnsibleProvisioner: should be added only once, subsequent recocile will use the same provisioner SpectroAnsiblePacker bool `json:\"spectroAnsiblePacker,omitempty\"`", + "items": { + "$ref": "#/definitions/v1ClusterCondition" + }, + "type": "array" + }, + "imageID": { + "description": "For mold controller to identify if is there any changes in Pack", + "type": "string" + } + }, + "type": "object" + }, + "v1CoxEdgeClusterConfig": { + "description": "Cluster level configuration for coxedge cloud and applicable for all the machine pools", + "properties": { + "coxEdgeLoadBalancerConfig": { + "$ref": "#/definitions/v1CoxEdgeLoadBalancerConfig" + }, + "coxEdgeWorkerLoadBalancerConfig": { + "$ref": "#/definitions/v1CoxEdgeLoadBalancerConfig" + }, + "environment": { + "type": "string" + }, + "organizationId": { + "type": "string" + }, + "sshAuthorizedKeys": { + "description": "CoxEdge ssh authorized keys", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "sshAuthorizedKeys", + "coxEdgeLoadBalancerConfig" + ], + "type": "object" + }, + "v1CoxEdgeCredentials": { + "description": "CoxEdge credentials to get organizations", + "properties": { + "apiBaseUrl": { + "description": "CoxEdge baseUrl - for api calls", + "type": "string" + }, + "apiKey": { + "description": "CoxEdge ApiKey - secret for api calls", + "type": "string" + } + }, + "type": "object" + }, + "v1CoxEdgeDeployment": { + "properties": { + "cpuUtilization": { + "format": "int32", + "type": "integer" + }, + "enableAutoScaling": { + "type": "boolean" + }, + "instancesPerPop": { + "format": "int32", + "type": "integer" + }, + "maxInstancesPerPop": { + "format": "int32", + "type": "integer" + }, + "minInstancesPerPop": { + "format": "int32", + "type": "integer" + }, + "name": { + "type": "string" + }, + "pops": { + "items": { + "type": "string" + }, + "type": "array" + } + } + }, + "v1CoxEdgeEnvironment": { + "description": "CoxEdge environment entity", + "properties": { + "id": { + "description": "CoxEdge environment id", + "type": "string" + }, + "isDeleted": { + "description": "CoxEdge environment state", + "type": "boolean" + }, + "name": { + "description": "CoxEdge environment name", + "type": "string" + } + }, + "type": "object" + }, + "v1CoxEdgeEnvironments": { + "description": "List of CoxEdge environments", + "properties": { + "environments": { + "items": { + "$ref": "#/definitions/v1CoxEdgeEnvironment" + }, + "type": "array" + } + }, + "required": [ + "environments" + ], + "type": "object" + }, + "v1CoxEdgeEnvironmentsRequest": { + "description": "Request payload to get CoxEdge environments", + "properties": { + "credentials": { + "$ref": "#/definitions/v1CoxEdgeCredentials" + }, + "organizationId": { + "description": "CoxEdge organizationId", + "type": "string" + } + }, + "type": "object" + }, + "v1CoxEdgeInstanceTypes": { + "description": "List of CoxEdge instance types", + "properties": { + "instanceTypes": { + "items": { + "$ref": "#/definitions/v1InstanceType" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1CoxEdgeLoadBalancerConfig": { + "description": "CoxEdge loadbalancer config", + "properties": { + "pops": { + "description": "CoxEdge PoPs - geographical location for the loadbalancer", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1CoxEdgeLoadPersistentStorage": { + "description": "CoxEdge load persistent storage", + "properties": { + "path": { + "description": "Coxedge load persistent storage path", + "type": "string" + }, + "size": { + "description": "Coxedge load persistent storage size", + "format": "int64", + "type": "integer" + } + }, + "type": "object" + }, + "v1CoxEdgeMachine": { + "description": "CoxEdge cloud VM definition", + "properties": { + "apiVersion": { + "type": "string" + }, + "kind": { + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1CoxEdgeMachineSpec" + }, + "status": { + "$ref": "#/definitions/v1CloudMachineStatus" + } + }, + "type": "object" + }, + "v1CoxEdgeMachinePoolCloudConfigEntity": { + "properties": { + "deployments": { + "items": { + "$ref": "#/definitions/v1CoxEdgeDeployment" + }, + "type": "array" + }, + "persistentStorages": { + "description": "Array of coxedge load persistent storages", + "items": { + "$ref": "#/definitions/v1CoxEdgeLoadPersistentStorage" + }, + "type": "array", + "uniqueItems": true + }, + "securityGroupRules": { + "items": { + "$ref": "#/definitions/v1CoxEdgeSecurityGroupRule" + }, + "type": "array" + }, + "spec": { + "type": "string" + } + }, + "type": "object" + }, + "v1CoxEdgeMachinePoolConfig": { + "properties": { + "additionalLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "additionalLabels", + "type": "object" + }, + "additionalTags": { + "additionalProperties": { + "type": "string" + }, + "description": "AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole", + "type": "object" + }, + "deployments": { + "items": { + "$ref": "#/definitions/v1CoxEdgeDeployment" + }, + "type": "array" + }, + "instanceConfig": { + "$ref": "#/definitions/v1InstanceConfig" + }, + "isControlPlane": { + "description": "whether this pool is for control plane", + "type": "boolean" + }, + "labels": { + "description": "labels for this pool, example: control-plane/worker, gpu, windows", + "items": { + "type": "string" + }, + "type": "array" + }, + "machinePoolProperties": { + "$ref": "#/definitions/v1MachinePoolProperties" + }, + "maxSize": { + "description": "max size of the pool, for scaling", + "format": "int32", + "type": "integer" + }, + "minSize": { + "description": "min size of the pool, for scaling", + "format": "int32", + "type": "integer" + }, + "name": { + "type": "string" + }, + "nodeRepaveInterval": { + "description": "Minimum number of seconds a node should be Ready, before the next node is selected for repave. Applicable only for workerpools in infrastructure cluster", + "format": "int32", + "type": "integer" + }, + "persistentStorages": { + "description": "Array of coxedge load persistent storages", + "items": { + "$ref": "#/definitions/v1CoxEdgeLoadPersistentStorage" + }, + "type": "array", + "uniqueItems": true + }, + "securityGroupRules": { + "items": { + "$ref": "#/definitions/v1CoxEdgeSecurityGroupRule" + }, + "type": "array" + }, + "size": { + "description": "size of the pool, number of machines", + "format": "int32", + "type": "integer" + }, + "spec": { + "type": "string" + }, + "taints": { + "description": "control plane or worker taints", + "items": { + "$ref": "#/definitions/v1Taint" + }, + "type": "array", + "uniqueItems": true + }, + "updateStrategy": { + "$ref": "#/definitions/v1UpdateStrategy", + "description": "rolling update strategy for this machinepool if not specified, will use ScaleOut" + }, + "useControlPlaneAsWorker": { + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", + "type": "boolean" + } + }, + "required": [ + "isControlPlane" + ], + "type": "object" + }, + "v1CoxEdgeMachinePoolConfigEntity": { + "properties": { + "cloudConfig": { + "$ref": "#/definitions/v1CoxEdgeMachinePoolCloudConfigEntity" + }, + "poolConfig": { + "$ref": "#/definitions/v1MachinePoolConfigEntity" + } + }, + "required": [ + "cloudConfig" + ], + "type": "object" + }, + "v1CoxEdgeMachineSpec": { + "description": "CoxEdge cloud VM definition spec", + "properties": { + "addAnycastIpAddress": { + "type": "boolean" + }, + "deployments": { + "items": { + "$ref": "#/definitions/v1CoxEdgeDeployment" + }, + "type": "array" + }, + "image": { + "type": "string" + }, + "persistentStorages": { + "items": { + "$ref": "#/definitions/v1CoxEdgeLoadPersistentStorage" + }, + "type": "array" + }, + "ports": { + "items": { + "$ref": "#/definitions/v1CoxEdgePort" + }, + "type": "array" + }, + "providerId": { + "type": "string" + }, + "specs": { + "type": "string" + }, + "sshAuthorizedKeys": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1CoxEdgeMachines": { + "description": "CoxEdge machine list", + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1CoxEdgeMachine" + }, + "type": "array", + "uniqueItems": true + }, + "listmeta": { + "$ref": "#/definitions/v1ListMetaData" + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1CoxEdgeOrganization": { + "description": "CoxEdge Organization entity", + "properties": { + "id": { + "description": "CoxEdge organization id", + "type": "string" + }, + "isDeleted": { + "description": "CoxEdge organization state", + "type": "boolean" + }, + "name": { + "description": "CoxEdge organization name", + "type": "string" + } + }, + "type": "object" + }, + "v1CoxEdgeOrganizations": { + "description": "List of CoxEdge organizations", + "properties": { + "organizations": { + "items": { + "$ref": "#/definitions/v1CoxEdgeOrganization" + }, + "type": "array" + } + }, + "required": [ + "organizations" + ], + "type": "object" + }, + "v1CoxEdgePort": { + "description": "CoxEdge network port", + "properties": { + "protocol": { + "type": "string" + }, + "publicPort": { + "type": "string" + }, + "publicPortDesc": { + "type": "string" + } + }, + "type": "object" + }, + "v1CoxEdgeRegion": { + "description": "CoxEdge region entity", + "properties": { + "code": { + "description": "Code of the CoxEdge region", + "type": "string" + }, + "location": { + "$ref": "#/definitions/v1ClusterLocation" + }, + "name": { + "description": "Name of the CoxEdge region", + "type": "string" + } + }, + "type": "object" + }, + "v1CoxEdgeRegions": { + "description": "List of CoxEdge regions", + "properties": { + "regions": { + "items": { + "$ref": "#/definitions/v1CoxEdgeRegion" + }, + "type": "array" + } + }, + "required": [ + "regions" + ], + "type": "object" + }, + "v1CoxEdgeSecurityGroupRule": { + "properties": { + "action": { + "enum": [ + "block", + "allow" + ], + "type": "string" + }, + "description": { + "type": "string" + }, + "portRange": { + "type": "string" + }, + "protocol": { + "enum": [ + "TCP", + "UDP", + "TCP_UDP", + "ESP", + "AH", + "ICMP", + "GRE" + ], + "type": "string" + }, + "source": { + "type": "string" + }, + "type": { + "type": "string" + } + } + }, + "v1CoxEdgeService": { + "description": "CoxEdge service entity", + "properties": { + "code": { + "description": "CoxEdge service code", + "type": "string" + }, + "id": { + "description": "CoxEdge service id", + "type": "string" + }, + "name": { + "description": "CoxEdge service name", + "type": "string" + } + }, + "type": "object" + }, + "v1CoxEdgeServices": { + "description": "List of CoxEdge services", + "properties": { + "services": { + "items": { + "$ref": "#/definitions/v1CoxEdgeService" + }, + "type": "array" + } + }, + "required": [ + "services" + ], + "type": "object" + }, + "v1CustomAccount": { + "description": "Custom account information", + "properties": { + "apiVersion": { + "description": "Cloud account api version", + "type": "string" + }, + "kind": { + "description": "Cloud account kind", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1CustomCloudAccount" + }, + "status": { + "$ref": "#/definitions/v1CloudAccountStatus" + } + }, + "type": "object" + }, + "v1CustomAccountEntity": { + "description": "Custom account information", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMetaInputEntity" + }, + "spec": { + "$ref": "#/definitions/v1CustomCloudAccount" + } + }, + "type": "object" + }, + "v1CustomAccounts": { + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1CustomAccount" + }, + "type": "array", + "uniqueItems": true + }, + "listmeta": { + "$ref": "#/definitions/v1ListMetaData" + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1CustomCloudAccount": { + "properties": { + "credentials": { + "additionalProperties": { + "type": "string" + }, + "description": "Cloud account credentials", + "type": "object" + } + }, + "required": [ + "credentials" + ], + "type": "object" + }, + "v1CustomCloudClusterConfigEntity": { + "description": "Custom cloud cluster config entity", + "properties": { + "clusterConfig": { + "$ref": "#/definitions/v1CustomClusterConfig" + } + }, + "type": "object" + }, + "v1CustomCloudConfig": { + "description": "CustomCloudConfig is the Schema for the custom cloudconfigs API", + "properties": { + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1CustomCloudConfigSpec" + } + }, + "type": "object" + }, + "v1CustomCloudConfigSpec": { + "description": "CustomCloudConfigSpec defines the cloud configuration input by user This will translate to clusterspec/machinespec for cluster-api", + "properties": { + "cloudAccountRef": { + "$ref": "#/definitions/v1ObjectReference", + "description": "cloudAccountRef should point to the secret which contains CustomCloudAccount" + }, + "clusterConfig": { + "$ref": "#/definitions/v1CustomClusterConfig" + }, + "machinePoolConfig": { + "items": { + "$ref": "#/definitions/v1CustomMachinePoolConfig" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1CustomCloudMetaEntity": { + "description": "Custom cloud meta entity", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta", + "description": "Custom cloud metadata" + }, + "spec": { + "$ref": "#/definitions/v1CustomCloudMetaSpecEntity" + } + }, + "type": "object" + }, + "v1CustomCloudMetaSpecEntity": { + "description": "Custom cloud spec response entity", + "properties": { + "cloudCategory": { + "$ref": "#/definitions/v1CloudCategory" + }, + "displayName": { + "description": "Custom cloud displayName", + "type": "string" + }, + "isManaged": { + "description": "If the custom cloud is a managed cluster", + "type": "boolean" + }, + "logo": { + "description": "Custom cloud logo", + "type": "string" + } + }, + "type": "object" + }, + "v1CustomCloudRateConfig": { + "description": "Private cloud rate config", + "properties": { + "cloudType": { + "type": "string" + }, + "rateConfig": { + "$ref": "#/definitions/v1PrivateCloudRateConfig" + } + } + }, + "v1CustomCloudRequestEntity": { + "description": "Custom cloud request entity", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMetaInputEntity", + "description": "Custom cloud metadata" + }, + "spec": { + "$ref": "#/definitions/v1CustomCloudSpecEntity" + } + }, + "type": "object" + }, + "v1CustomCloudSpecEntity": { + "description": "Custom cloud request entity spec", + "properties": { + "cloudCategory": { + "$ref": "#/definitions/v1CloudCategory" + }, + "displayName": { + "description": "Custom cloud displayName", + "type": "string" + }, + "isControlPlaneManaged": { + "description": "If the custom cloud is a managed cluster", + "type": "boolean" + }, + "logo": { + "description": "Custom cloud logo", + "type": "string" + } + }, + "type": "object" + }, + "v1CustomCloudType": { + "properties": { + "cloudCategory": { + "$ref": "#/definitions/v1CloudCategory" + }, + "cloudFamily": { + "description": "Cloud grouping as family", + "type": "string" + }, + "displayName": { + "description": "Custom cloudtype displayName", + "type": "string" + }, + "isCustom": { + "description": "If it is a custom cloudtype", + "type": "boolean", + "x-omitempty": false + }, + "isManaged": { + "description": "If custom cloudtype is managed", + "type": "boolean", + "x-omitempty": false + }, + "isVertex": { + "description": "If cloud is support for Vertex env", + "type": "boolean", + "x-omitempty": false + }, + "logo": { + "description": "Custom cloudtype logo", + "type": "string" + }, + "name": { + "description": "Custom cloudtype name", + "type": "string" + } + }, + "type": "object" + }, + "v1CustomCloudTypeCloudAccountKeys": { + "description": "Custom cloudType custom cloud account keys", + "properties": { + "keys": { + "description": "Array of custom cloud type cloud account keys", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1CustomCloudTypeContentResponse": { + "description": "Custom cloudType content response", + "properties": { + "yaml": { + "description": "custom cloud type content", + "type": "string" + } + }, + "type": "object" + }, + "v1CustomCloudTypes": { + "description": "Custom cloudType content response", + "properties": { + "cloudTypes": { + "description": "Array of custom cloud types", + "items": { + "$ref": "#/definitions/v1CustomCloudType" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1CustomClusterConfig": { + "description": "Cluster level configuration for Custom cloud and applicable for all the machine pools", + "properties": { + "values": { + "description": "YAML string for Cluster and CloudCluster", + "type": "string" + } + }, + "required": [ + "values" + ], + "type": "object" + }, + "v1CustomClusterConfigEntity": { + "properties": { + "location": { + "$ref": "#/definitions/v1ClusterLocation" + }, + "machineManagementConfig": { + "$ref": "#/definitions/v1MachineManagementConfig" + }, + "resources": { + "$ref": "#/definitions/v1ClusterResourcesEntity" + } + }, + "type": "object" + }, + "v1CustomInstanceType": { + "properties": { + "diskGiB": { + "description": "DiskGiB is the size of a custom machine's disk, in GiB", + "format": "int32", + "type": "integer" + }, + "memoryMiB": { + "description": "MemoryMiB is the size of a custom machine's memory, in MiB", + "format": "int64", + "type": "integer" + }, + "name": { + "type": "string" + }, + "numCPUs": { + "description": "NumCPUs is the number in a custom machine", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "v1CustomMachine": { + "description": "Custom cloud VM definition", + "properties": { + "apiVersion": { + "type": "string" + }, + "kind": { + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1CustomMachineSpec" + }, + "status": { + "$ref": "#/definitions/v1CloudMachineStatus" + } + }, + "type": "object" + }, + "v1CustomMachinePoolBaseConfigEntity": { + "description": "Machine pool configuration for the custom cluster", + "properties": { + "additionalLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "Additional labels to be part of the machine pool", + "type": "object" + }, + "isControlPlane": { + "description": "Whether this pool is for control plane", + "type": "boolean", + "x-omitempty": false + }, + "taints": { + "description": "control plane or worker taints", + "items": { + "$ref": "#/definitions/v1Taint" + }, + "type": "array", + "uniqueItems": true + }, + "useControlPlaneAsWorker": { + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", + "type": "boolean", + "x-omitempty": false + } + }, + "type": "object" + }, + "v1CustomMachinePoolCloudConfigEntity": { + "properties": { + "values": { + "description": "Machine pool configuration as yaml content", + "type": "string" + } + }, + "type": "object" + }, + "v1CustomMachinePoolConfig": { + "properties": { + "additionalLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "additionalLabels", + "type": "object" + }, + "isControlPlane": { + "description": "whether this pool is for control plane", + "type": "boolean", + "x-omitempty": false + }, + "name": { + "type": "string" + }, + "size": { + "description": "size of the pool, number of machines", + "format": "int32", + "type": "integer" + }, + "taints": { + "description": "control plane or worker taints", + "items": { + "$ref": "#/definitions/v1Taint" + }, + "type": "array", + "uniqueItems": true + }, + "useControlPlaneAsWorker": { + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", + "type": "boolean", + "x-omitempty": false + }, + "values": { + "description": "YAML string for machine", + "type": "string" + } + }, + "required": [ + "isControlPlane" + ], + "type": "object" + }, + "v1CustomMachinePoolConfigEntity": { + "properties": { + "cloudConfig": { + "$ref": "#/definitions/v1CustomMachinePoolCloudConfigEntity" + }, + "poolConfig": { + "$ref": "#/definitions/v1CustomMachinePoolBaseConfigEntity" + } + }, + "required": [ + "cloudConfig" + ], + "type": "object" + }, + "v1CustomMachineSpec": { + "description": "Custom cloud VM definition spec", + "properties": { + "cloudType": { + "type": "string" + }, + "hostName": { + "type": "string" + }, + "imageId": { + "type": "string" + }, + "instanceType": { + "$ref": "#/definitions/v1CustomInstanceType" + }, + "nics": { + "items": { + "$ref": "#/definitions/v1CustomNic" + }, + "type": "array" + }, + "sshKeyName": { + "type": "string" + } + } + }, + "v1CustomMachines": { + "description": "List of Custom machines", + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1CustomMachine" + }, + "type": "array", + "uniqueItems": true + }, + "listmeta": { + "$ref": "#/definitions/v1ListMetaData" + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1CustomNic": { + "description": "Custom network interface", + "properties": { + "index": { + "format": "int8", + "type": "integer" + }, + "networkName": { + "type": "string" + }, + "privateIPs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "publicIp": { + "type": "string" + } + }, + "type": "object" + }, + "v1DashboardWorkspace": { + "description": "Workspace information", + "properties": { + "meta": { + "$ref": "#/definitions/v1DashboardWorkspaceMeta" + }, + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1DashboardWorkspaceSpec" + }, + "status": { + "$ref": "#/definitions/v1DashboardWorkspaceStatus" + } + } + }, + "v1DashboardWorkspaceAllocation": { + "description": "Workspace allocation", + "properties": { + "cpu": { + "$ref": "#/definitions/v1DashboardWorkspaceResourceAllocation" + }, + "memory": { + "$ref": "#/definitions/v1DashboardWorkspaceResourceAllocation" + } + } + }, + "v1DashboardWorkspaceClusterRef": { + "description": "Workspace cluster reference", + "properties": { + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + } + }, + "v1DashboardWorkspaceMeta": { + "description": "Deprecated. Workspace meta data", + "properties": { + "clusterNames": { + "description": "Deprecated. Use clusterRefs", + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "clusterRefs": { + "items": { + "$ref": "#/definitions/v1DashboardWorkspaceClusterRef" + }, + "type": "array", + "uniqueItems": true + }, + "creationTime": { + "$ref": "#/definitions/v1Time" + }, + "name": { + "type": "string" + }, + "namespaces": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "uid": { + "type": "string" + } + } + }, + "v1DashboardWorkspaceNamespaceAllocation": { + "description": "Workspace namespace allocation", + "properties": { + "name": { + "type": "string" + }, + "total": { + "$ref": "#/definitions/v1DashboardWorkspaceAllocation" + } + } + }, + "v1DashboardWorkspaceQuota": { + "description": "Workspace resource quota", + "properties": { + "resourceAllocation": { + "$ref": "#/definitions/v1DashboardWorkspaceQuotaResourceAllocation" + } + } + }, + "v1DashboardWorkspaceQuotaResourceAllocation": { + "description": "Workspace quota resource allocation", + "properties": { + "cpu": { + "exclusiveMinimum": true, + "minimum": 0, + "type": "number" + }, + "memory": { + "exclusiveMinimum": true, + "minimum": 0, + "type": "number" + } + } + }, + "v1DashboardWorkspaceResourceAllocation": { + "description": "Workspace resource allocation", + "properties": { + "allocated": { + "format": "float64", + "type": "number", + "x-omitempty": false + }, + "usage": { + "format": "float64", + "type": "number", + "x-omitempty": false + } + } + }, + "v1DashboardWorkspaceSpec": { + "description": "Workspace spec summary", + "properties": { + "clusterRefs": { + "items": { + "$ref": "#/definitions/v1DashboardWorkspaceClusterRef" + }, + "type": "array", + "uniqueItems": true + }, + "namespaces": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "quota": { + "$ref": "#/definitions/v1DashboardWorkspaceQuota" + } + } + }, + "v1DashboardWorkspaceStatus": { + "description": "Workspace status", + "properties": { + "namespaces": { + "items": { + "$ref": "#/definitions/v1DashboardWorkspaceNamespaceAllocation" + }, + "type": "array", + "uniqueItems": true + }, + "total": { + "$ref": "#/definitions/v1DashboardWorkspaceAllocation" + } + } + }, + "v1DashboardWorkspaces": { + "properties": { + "cpuUnit": { + "type": "string" + }, + "items": { + "items": { + "$ref": "#/definitions/v1DashboardWorkspace" + }, + "type": "array", + "uniqueItems": true + }, + "memoryUnit": { + "type": "string" + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1DataSinkConfig": { + "description": "Data sink", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1DataSinkSpec" + } + }, + "type": "object" + }, + "v1DataSinkSpec": { + "properties": { + "auditDataSinks": { + "items": { + "$ref": "#/definitions/v1DataSinkableSpec" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "v1DataSinkableSpec": { + "properties": { + "cloudWatch": { + "$ref": "#/definitions/v1CloudWatch" + }, + "type": { + "enum": [ + "cloudwatch" + ], + "type": "string" + } + }, + "type": "object" + }, + "v1DatabaseTransferJob": { + "description": "database transfer job details", + "properties": { + "backupStatus": { + "$ref": "#/definitions/v1TransferJob" + }, + "backupUid": { + "type": "string" + }, + "mode": { + "enum": [ + "FileSystem", + "Ftp" + ], + "type": "string" + } + }, + "type": "object" + }, + "v1DatabaseTransferStatus": { + "description": "database transfer status", + "properties": { + "backups": { + "items": { + "$ref": "#/definitions/v1DatabaseTransferJob" + }, + "type": "array" + }, + "isActive": { + "type": "boolean" + } + }, + "type": "object" + }, + "v1DeleteMeta": { + "description": "Properties to send back after deletion operation", + "properties": { + "count": { + "format": "int64", + "type": "integer" + }, + "items": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + } + } + }, + "v1DeletedMsg": { + "description": "Deleted response with message", + "properties": { + "msg": { + "type": "string" + } + } + }, + "v1DeveloperCredit": { + "description": "Credits allocated for each tenant/user", + "properties": { + "cpu": { + "description": "cpu in cores", + "format": "int32", + "type": "number", + "x-omitempty": false + }, + "memoryGiB": { + "description": "memory in GiB", + "format": "int32", + "type": "number", + "x-omitempty": false + }, + "storageGiB": { + "description": "storage in GiB", + "format": "int32", + "type": "integer", + "x-omitempty": false + }, + "virtualClustersLimit": { + "description": "number of active virtual clusters", + "format": "int32", + "type": "number", + "x-omitempty": false + } + } + }, + "v1DeviceSpec": { + "description": "DeviceSpec defines the desired state of Device", + "properties": { + "archType": { + "default": "amd64", + "description": "Architecture type of the edge host", + "enum": [ + "arm64", + "amd64" + ], + "type": "string" + }, + "cpu": { + "$ref": "#/definitions/v1CPU" + }, + "disks": { + "items": { + "$ref": "#/definitions/v1Disk" + }, + "type": "array" + }, + "gpus": { + "items": { + "$ref": "#/definitions/v1GPUDeviceSpec" + }, + "type": "array" + }, + "memory": { + "$ref": "#/definitions/v1Memory" + }, + "nics": { + "items": { + "$ref": "#/definitions/v1Nic" + }, + "type": "array" + }, + "os": { + "$ref": "#/definitions/v1OS" + } + }, + "type": "object" + }, + "v1Disk": { + "properties": { + "controller": { + "type": "string" + }, + "partitions": { + "items": { + "$ref": "#/definitions/v1Partition" + }, + "type": "array" + }, + "size": { + "description": "Size in GB", + "format": "int32", + "type": "integer" + }, + "vendor": { + "type": "string" + } + }, + "type": "object" + }, + "v1DomainHost": { + "description": "update domain host for application. RootDomain gets dervied from domain host url", + "properties": { + "host": { + "type": "string" + } + }, + "type": "object" + }, + "v1EcrAuthorizationRequestEntity": { + "description": "Ecr registry credentials entity", + "properties": { + "awsCloudAccount": { + "$ref": "#/definitions/v1AwsCloudAccount" + }, + "endpoint": { + "description": "Endpoint url to make the request", + "type": "string" + }, + "isPrivate": { + "description": "If it is public or private", + "type": "boolean" + }, + "region": { + "description": "Name of the region", + "type": "string" + } + }, + "type": "object" + }, + "v1EcrImageEntity": { + "properties": { + "name": { + "description": "Image name", + "type": "string" + }, + "tag": { + "description": "Image tag", + "type": "string" + } + }, + "type": "object" + }, + "v1EcrImageValidateEntity": { + "description": "Ecr registry image meta", + "properties": { + "authEntity": { + "$ref": "#/definitions/v1EcrAuthorizationRequestEntity" + }, + "imageTag": { + "description": "Name of the image tag", + "type": "string" + }, + "images": { + "description": "Ecr Image Entity", + "items": { + "$ref": "#/definitions/v1EcrImageEntity" + }, + "type": "array" + }, + "repoName": { + "description": "Name of the repo", + "type": "string" + } + }, + "type": "object" + }, + "v1EcrRegistry": { + "description": "Ecr registry information", + "properties": { + "kind": { + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1EcrRegistrySpec" + } + }, + "type": "object" + }, + "v1EcrRegistrySpec": { + "description": "Ecr registry spec", + "properties": { + "baseContentPath": { + "description": "OCI ecr registry content base path", + "type": "string" + }, + "credentials": { + "$ref": "#/definitions/v1AwsCloudAccount" + }, + "defaultRegion": { + "type": "string" + }, + "endpoint": { + "type": "string" + }, + "isPrivate": { + "type": "boolean" + }, + "providerType": { + "default": "helm", + "enum": [ + "helm", + "pack" + ], + "type": "string" + }, + "registryUid": { + "description": "Ecr registry uid", + "type": "string" + }, + "scope": { + "type": "string" + }, + "tls": { + "$ref": "#/definitions/v1TlsConfiguration" + } + }, + "required": [ + "endpoint", + "isPrivate" + ], + "type": "object" + }, + "v1EdgeHost": { + "description": "EdgeHost is the underlying appliance", + "properties": { + "disableAutoRegister": { + "description": "Set to true if auto register is disabled for the device", + "type": "boolean", + "x-omitempty": false + }, + "hostAddress": { + "description": "HostAddress is a FQDN or IP address of the Host", + "type": "string" + }, + "hostAuthToken": { + "description": "HostAuthToken to authorize auto registration", + "type": "string", + "x-omitempty": false + }, + "hostChecksum": { + "description": "HostChecksum is the checksum provided by the edge host, to be persisted in SaaS", + "type": "string", + "x-omitempty": false + }, + "hostIdentity": { + "$ref": "#/definitions/v1EdgeHostIdentity", + "description": "HostIdentity is the identity to access the edge host" + }, + "hostPairingKey": { + "description": "HostPairingKey is the one-time pairing key to pair the edge host with the device registered in SaaS", + "format": "password", + "type": "string", + "x-omitempty": false + }, + "hostUid": { + "description": "HostUid is the ID of the EdgeHost", + "type": "string" + }, + "macAddress": { + "description": "Mac address of edgehost", + "type": "string", + "x-omitempty": false + }, + "project": { + "$ref": "#/definitions/v1ObjectEntity", + "description": "ProjectUid where the edgehost will be placed during auto registration", + "x-omitempty": false + } + }, + "required": [ + "hostUid", + "hostAddress" + ], + "type": "object" + }, + "v1EdgeHostCloudProperties": { + "description": "Additional cloud properties of the edge host (applicable based on the cloud type)", + "properties": { + "vsphere": { + "$ref": "#/definitions/v1EdgeHostVsphereCloudProperties" + } + }, + "type": "object" + }, + "v1EdgeHostClusterEntity": { + "properties": { + "clusterUid": { + "type": "string" + } + }, + "type": "object" + }, + "v1EdgeHostDevice": { + "properties": { + "aclmeta": { + "$ref": "#/definitions/v1AclMeta" + }, + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1EdgeHostDeviceSpec" + }, + "status": { + "$ref": "#/definitions/v1EdgeHostDeviceStatus" + } + } + }, + "v1EdgeHostDeviceEntity": { + "description": "Edge host device information", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectTagsEntity" + }, + "spec": { + "$ref": "#/definitions/v1EdgeHostDeviceSpecEntity" + } + }, + "type": "object" + }, + "v1EdgeHostDeviceHostCheckSum": { + "properties": { + "hostCheckSum": { + "type": "string" + } + }, + "type": "object" + }, + "v1EdgeHostDeviceHostPairingKey": { + "properties": { + "hostPairingKey": { + "format": "password", + "type": "string" + } + }, + "type": "object" + }, + "v1EdgeHostDeviceMetaUpdateEntity": { + "description": "Edge host device uid and name", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectTagsEntity" + } + }, + "type": "object" + }, + "v1EdgeHostDeviceSpec": { + "description": "EdgeHostDeviceSpec defines the desired state of EdgeHostDevice", + "properties": { + "cloudProperties": { + "$ref": "#/definitions/v1EdgeHostCloudProperties" + }, + "clusterProfileTemplates": { + "items": { + "$ref": "#/definitions/v1ClusterProfileTemplate" + }, + "type": "array" + }, + "device": { + "$ref": "#/definitions/v1DeviceSpec" + }, + "host": { + "$ref": "#/definitions/v1EdgeHost" + }, + "properties": { + "$ref": "#/definitions/v1EdgeHostProperties" + }, + "service": { + "$ref": "#/definitions/v1ServiceSpec" + }, + "type": { + "description": "Deprecated. Cloudtype of the provisioned edge host", + "enum": [ + "libvirt", + "vsphere", + "edge-native" + ], + "type": "string" + }, + "version": { + "type": "string" + } + }, + "type": "object" + }, + "v1EdgeHostDeviceSpecEntity": { + "description": "Edge host device spec", + "properties": { + "archType": { + "$ref": "#/definitions/v1ArchType" + }, + "hostPairingKey": { + "format": "password", + "type": "string" + } + }, + "type": "object" + }, + "v1EdgeHostDeviceStatus": { + "description": "EdgeHostDeviceStatus defines the observed state of EdgeHostDevice", + "properties": { + "health": { + "$ref": "#/definitions/v1EdgeHostHealth" + }, + "inUseClusters": { + "items": { + "$ref": "#/definitions/v1ObjectEntity" + }, + "type": "array" + }, + "packs": { + "items": { + "$ref": "#/definitions/v1ClusterPackStatus" + }, + "type": "array" + }, + "profileStatus": { + "$ref": "#/definitions/v1ProfileStatus" + }, + "serviceAuthToken": { + "type": "string" + }, + "state": { + "enum": [ + "ready", + "unpaired", + "in-use" + ], + "type": "string" + } + }, + "type": "object" + }, + "v1EdgeHostDevices": { + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1EdgeHostDevice" + }, + "type": "array", + "uniqueItems": true + }, + "listmeta": { + "$ref": "#/definitions/v1ListMetaData" + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1EdgeHostHealth": { + "description": "EdgeHostHealth defines the desired health state of EdgeHostDevice", + "properties": { + "agentVersion": { + "type": "string" + }, + "message": { + "type": "string" + }, + "state": { + "enum": [ + "healthy", + "unhealthy" + ], + "type": "string" + } + } + }, + "v1EdgeHostIdentity": { + "properties": { + "caCert": { + "description": "CACert is the client CA certificate", + "type": "string" + }, + "mode": { + "description": "Mode indicates a system or session connection to the host", + "type": "string" + }, + "socketPath": { + "description": "SocketPath is an optional path to the socket on the host, if not using defaults", + "type": "string" + }, + "sshSecret": { + "$ref": "#/definitions/v1EdgeHostSSHSecret", + "description": "SSHSecret to the secret containing ssh-username" + } + } + }, + "v1EdgeHostMeta": { + "properties": { + "archType": { + "$ref": "#/definitions/v1ArchType" + }, + "edgeHostType": { + "enum": [ + "libvirt", + "edge-native", + "vsphere" + ], + "type": "string" + }, + "healthState": { + "type": "string" + }, + "name": { + "type": "string" + }, + "state": { + "type": "string" + }, + "uid": { + "type": "string" + } + }, + "type": "object" + }, + "v1EdgeHostNetwork": { + "description": "Network defines the network configuration for a virtual machine", + "properties": { + "networkName": { + "description": "NetworkName of the network where this machine will be connected", + "type": "string" + }, + "networkType": { + "description": "NetworkType specifies the type of network", + "enum": [ + "default", + "bridge" + ], + "type": "string" + } + }, + "required": [ + "networkName", + "networkType" + ], + "type": "object" + }, + "v1EdgeHostProperties": { + "description": "Additional properties of edge host", + "properties": { + "networks": { + "items": { + "$ref": "#/definitions/v1EdgeHostNetwork" + }, + "type": "array" + }, + "storagePools": { + "items": { + "$ref": "#/definitions/v1EdgeHostStoragePool" + }, + "type": "array" + } + } + }, + "v1EdgeHostSSHSecret": { + "properties": { + "name": { + "description": "SSH secret name", + "type": "string" + }, + "privateKey": { + "description": "Private Key to access the host", + "type": "string" + } + }, + "type": "object" + }, + "v1EdgeHostSpecHost": { + "description": "Host specifications", + "properties": { + "hostAddress": { + "description": "HostAddress is a FQDN or IP address of the Host", + "type": "string" + }, + "macAddress": { + "type": "string" + } + } + }, + "v1EdgeHostState": { + "enum": [ + "ready", + "unpaired", + "in-use" + ], + "type": "string" + }, + "v1EdgeHostStoragePool": { + "description": "StoragePool is the storage pool for the vm image", + "properties": { + "name": { + "type": "string" + } + } + }, + "v1EdgeHostVsphereCloudProperties": { + "description": "Vsphere cloud properties of edge host", + "properties": { + "datacenters": { + "items": { + "$ref": "#/definitions/v1VsphereCloudDatacenter" + }, + "type": "array" + } + } + }, + "v1EdgeHostsMeta": { + "properties": { + "edgeHosts": { + "items": { + "$ref": "#/definitions/v1EdgeHostMeta" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1EdgeHostsMetadata": { + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1EdgeHostsMetadataSpec" + }, + "status": { + "$ref": "#/definitions/v1EdgeHostsMetadataStatus" + } + }, + "type": "object" + }, + "v1EdgeHostsMetadataFilter": { + "description": "Edge host metadata spec", + "properties": { + "filter": { + "$ref": "#/definitions/v1EdgeHostsMetadataFilterSpec" + }, + "sort": { + "items": { + "$ref": "#/definitions/v1EdgeHostsMetadataSortSpec" + }, + "type": "array", + "uniqueItems": true + } + } + }, + "v1EdgeHostsMetadataFilterSpec": { + "description": "Edge hosts metadata filter spec", + "properties": { + "name": { + "$ref": "#/definitions/v1FilterString" + }, + "states": { + "items": { + "$ref": "#/definitions/v1EdgeHostState" + }, + "type": "array", + "uniqueItems": true + } + } + }, + "v1EdgeHostsMetadataSortFields": { + "enum": [ + "name", + "state", + "creationTimestamp", + "lastModifiedTimestamp" + ], + "type": "string", + "x-nullable": true + }, + "v1EdgeHostsMetadataSortSpec": { + "properties": { + "field": { + "$ref": "#/definitions/v1EdgeHostsMetadataSortFields" + }, + "order": { + "$ref": "#/definitions/v1SortOrder" + } + } + }, + "v1EdgeHostsMetadataSpec": { + "properties": { + "clusterProfileTemplates": { + "items": { + "$ref": "#/definitions/v1ProfileTemplateSummary" + }, + "type": "array" + }, + "device": { + "$ref": "#/definitions/v1DeviceSpec" + }, + "host": { + "$ref": "#/definitions/v1EdgeHostSpecHost" + }, + "projectMeta": { + "$ref": "#/definitions/v1ProjectMeta" + }, + "type": { + "type": "string" + } + }, + "type": "object" + }, + "v1EdgeHostsMetadataStatus": { + "properties": { + "health": { + "$ref": "#/definitions/v1EdgeHostHealth" + }, + "inUseClusters": { + "items": { + "$ref": "#/definitions/v1ObjectEntity" + }, + "type": "array" + }, + "state": { + "$ref": "#/definitions/v1EdgeHostState" + } + }, + "type": "object" + }, + "v1EdgeHostsMetadataSummary": { + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1EdgeHostsMetadata" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1EdgeHostsSearchSummary": { + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1EdgeHostsMetadata" + }, + "type": "array", + "uniqueItems": true + }, + "listmeta": { + "$ref": "#/definitions/v1ListMetaData" + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1EdgeHostsTags": { + "properties": { + "tags": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1EdgeNativeCloudClusterConfigEntity": { + "description": "EdgeNative cloud cluster config entity", + "properties": { + "clusterConfig": { + "$ref": "#/definitions/v1EdgeNativeClusterConfig" + } + }, + "type": "object" + }, + "v1EdgeNativeCloudConfig": { + "description": "EdgeNativeCloudConfig is the Schema for the edgenativecloudconfigs API", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1EdgeNativeCloudConfigSpec" + }, + "status": { + "$ref": "#/definitions/v1EdgeNativeCloudConfigStatus" + } + }, + "type": "object" + }, + "v1EdgeNativeCloudConfigSpec": { + "description": "EdgeNativeCloudConfigSpec defines the desired state of EdgeNativeCloudConfig", + "properties": { + "clusterConfig": { + "$ref": "#/definitions/v1EdgeNativeClusterConfig" + }, + "machinePoolConfig": { + "items": { + "$ref": "#/definitions/v1EdgeNativeMachinePoolConfig" + }, + "type": "array" + } + }, + "required": [ + "clusterConfig", + "machinePoolConfig" + ], + "type": "object" + }, + "v1EdgeNativeCloudConfigStatus": { + "description": "EdgeNativeCloudConfigStatus defines the observed state of EdgeNativeCloudConfig", + "properties": { + "conditions": { + "items": { + "$ref": "#/definitions/v1ClusterCondition" + }, + "type": "array" + }, + "nodeImage": { + "type": "string" + }, + "sourceImageId": { + "description": "SourceImageId can be from packref's annotations or from pack.json", + "type": "string" + } + }, + "type": "object" + }, + "v1EdgeNativeClusterConfig": { + "description": "EdgeNativeClusterConfig definnes Edge Native Cluster specific Spec", + "properties": { + "controlPlaneEndpoint": { + "$ref": "#/definitions/v1EdgeNativeControlPlaneEndPoint", + "description": "ControlPlaneEndpoint is the control plane endpoint, which can be an IP or FQDN" + }, + "ntpServers": { + "description": "NTPServers is a list of NTP servers to use instead of the machine image's default NTP server list", + "items": { + "default": "", + "type": "string" + }, + "type": "array" + }, + "overlayNetworkConfiguration": { + "$ref": "#/definitions/v1EdgeNativeOverlayNetworkConfiguration", + "description": "OverlayNetworkConfiguration is the configuration for the overlay network" + }, + "sshKeys": { + "description": "SSHKeys specifies a list of ssh authorized keys to access the vms as a 'spectro' user", + "items": { + "default": "", + "type": "string" + }, + "type": "array" + }, + "staticIp": { + "description": "StaticIP indicates if IP allocation type is static IP. DHCP is the default allocation type", + "type": "boolean" + } + }, + "type": "object" + }, + "v1EdgeNativeControlPlaneEndPoint": { + "properties": { + "ddnsSearchDomain": { + "description": "DDNSSearchDomain is the search domain used for resolving IP addresses when the EndpointType is DDNS. This search domain is appended to the generated Hostname to obtain the complete DNS name for the endpoint. If Host is already a DDNS FQDN, DDNSSearchDomain is not required", + "type": "string" + }, + "host": { + "description": "Host is FQDN(DDNS) or IP", + "type": "string" + }, + "type": { + "description": "Type indicates DDNS or VIP", + "type": "string" + } + }, + "type": "object" + }, + "v1EdgeNativeHost": { + "description": "EdgeNativeHost is the underlying appliance", + "properties": { + "IsCandidateCaption": { + "default": false, + "description": "Is Edge host nominated as candidate", + "type": "boolean", + "x-omitempty": false + }, + "caCert": { + "description": "CACert for TLS connections", + "type": "string" + }, + "hostAddress": { + "default": "", + "description": "HostAddress is a FQDN or IP address of the Host", + "type": "string" + }, + "hostName": { + "default": "", + "description": "Qualified name of host", + "type": "string" + }, + "hostUid": { + "default": "", + "description": "HostUid is the ID of the EdgeHost", + "type": "string" + }, + "nic": { + "$ref": "#/definitions/v1Nic", + "description": "Edge native nic" + }, + "nicName": { + "description": "Deprecated. Edge host nic name", + "type": "string" + }, + "staticIP": { + "description": "Deprecated. Edge host static IP", + "type": "string" + }, + "twoNodeCandidatePriority": { + "description": "Set the edgehost candidate priority as primary or secondary, if the edgehost is nominated as two node candidate", + "enum": [ + "primary", + "secondary" + ], + "type": "string" + } + }, + "required": [ + "hostUid", + "hostAddress" + ], + "type": "object" + }, + "v1EdgeNativeInstanceType": { + "description": "EdgeNativeInstanceType defines the instance configuration for a docker container node", + "properties": { + "diskGiB": { + "description": "DiskGiB is the size of a virtual machine's disk", + "format": "int32", + "type": "integer" + }, + "memoryMiB": { + "description": "MemoryMiB is the size of a virtual machine's memory, in MiB", + "format": "int32", + "type": "integer" + }, + "name": { + "description": "Name is the instance name", + "type": "string" + }, + "numCPUs": { + "description": "NumCPUs is the number of CPUs", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "v1EdgeNativeMachine": { + "description": "EdgeNative cloud VM definition", + "properties": { + "apiVersion": { + "type": "string" + }, + "kind": { + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1EdgeNativeMachineSpec" + }, + "status": { + "$ref": "#/definitions/v1CloudMachineStatus" + } + } + }, + "v1EdgeNativeMachinePoolCloudConfigEntity": { + "properties": { + "edgeHosts": { + "items": { + "$ref": "#/definitions/v1EdgeNativeMachinePoolHostEntity" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "edgeHosts" + ] + }, + "v1EdgeNativeMachinePoolConfig": { + "properties": { + "additionalLabels": { + "additionalProperties": { + "default": "", + "type": "string" + }, + "description": "AdditionalLabels", + "type": "object" + }, + "additionalTags": { + "additionalProperties": { + "default": "", + "type": "string" + }, + "description": "AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole", + "type": "object" + }, + "hosts": { + "items": { + "$ref": "#/definitions/v1EdgeNativeHost" + }, + "type": "array" + }, + "isControlPlane": { + "description": "whether this pool is for control plane", + "type": "boolean" + }, + "labels": { + "description": "labels for this pool, example: control-plane/worker, gpu, windows", + "items": { + "default": "", + "type": "string" + }, + "type": "array" + }, + "machinePoolProperties": { + "$ref": "#/definitions/v1MachinePoolProperties" + }, + "maxSize": { + "description": "max size of the pool, for scaling", + "format": "int32", + "type": "integer" + }, + "minSize": { + "description": "min size of the pool, for scaling", + "format": "int32", + "type": "integer" + }, + "name": { + "type": "string" + }, + "nodeRepaveInterval": { + "description": "Minimum number of seconds a node should be Ready, before the next node is selected for repave. Applicable only for workerpools in infrastructure cluster", + "format": "int32", + "type": "integer" + }, + "osType": { + "description": "the os type for the pool, must be supported by the provider", + "type": "string" + }, + "size": { + "description": "size of the pool, number of machines", + "format": "int32", + "type": "integer" + }, + "taints": { + "description": "control plane or worker taints", + "items": { + "$ref": "#/definitions/v1Taint" + }, + "type": "array" + }, + "updateStrategy": { + "$ref": "#/definitions/v1UpdateStrategy", + "description": "rolling update strategy for this machinepool if not specified, will use ScaleOut" + }, + "useControlPlaneAsWorker": { + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", + "type": "boolean" + } + }, + "required": [ + "hosts" + ], + "type": "object" + }, + "v1EdgeNativeMachinePoolConfigEntity": { + "properties": { + "cloudConfig": { + "$ref": "#/definitions/v1EdgeNativeMachinePoolCloudConfigEntity" + }, + "poolConfig": { + "$ref": "#/definitions/v1MachinePoolConfigEntity" + } + }, + "type": "object" + }, + "v1EdgeNativeMachinePoolHostEntity": { + "properties": { + "hostName": { + "description": "Edge host name", + "type": "string" + }, + "hostUid": { + "description": "Edge host id", + "type": "string" + }, + "nic": { + "$ref": "#/definitions/v1Nic", + "description": "Edge native nic" + }, + "nicName": { + "description": "Deprecated - Edge host nic name", + "type": "string" + }, + "staticIP": { + "description": "Deprecated - Edge host static IP", + "type": "string" + }, + "twoNodeCandidatePriority": { + "description": "Set the edgehost candidate priority as primary or secondary, if the edgehost is nominated as two node candidate", + "enum": [ + "primary", + "secondary" + ], + "type": "string" + } + }, + "required": [ + "hostUid" + ] + }, + "v1EdgeNativeMachineSpec": { + "description": "EdgeNative cloud VM definition spec", + "properties": { + "edgeHostUid": { + "type": "string" + }, + "instanceType": { + "$ref": "#/definitions/v1EdgeNativeInstanceType" + }, + "nics": { + "items": { + "$ref": "#/definitions/v1EdgeNativeNic" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "v1EdgeNativeMachines": { + "description": "EdgeNative machine list", + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1EdgeNativeMachine" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1EdgeNativeNic": { + "description": "Generic network interface", + "properties": { + "index": { + "format": "int8", + "type": "integer" + }, + "networkName": { + "type": "string" + }, + "privateIPs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "publicIp": { + "type": "string" + } + }, + "type": "object" + }, + "v1EdgeNativeOverlayNetworkConfiguration": { + "properties": { + "cidr": { + "description": "CIDR is the CIDR of the overlay network", + "type": "string" + }, + "enable": { + "description": "Enable is a flag to enable overlay network", + "type": "boolean", + "x-omitempty": false + } + }, + "type": "object" + }, + "v1EdgeNativeTwoNodeCandidateEntity": { + "properties": { + "primaryEdgeHost": { + "type": "string" + }, + "secondaryEdgeHost": { + "type": "string" + } + }, + "type": "object" + }, + "v1EdgeServiceLogin": { + "description": "System service login input", + "properties": { + "authToken": { + "description": "authToken helps in two step verification for the authorization.", + "type": "string" + }, + "edgeHostUid": { + "type": "string" + }, + "serviceName": { + "type": "string" + }, + "serviceVersion": { + "type": "string" + }, + "spectroClusterUid": { + "type": "string" + }, + "tenantUid": { + "type": "string" + } + }, + "type": "object" + }, + "v1EdgeToken": { + "description": "Edge token information", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1EdgeTokenSpec" + }, + "status": { + "$ref": "#/definitions/v1EdgeTokenStatus" + } + }, + "type": "object" + }, + "v1EdgeTokenActiveState": { + "description": "Edge token active state", + "properties": { + "isActive": { + "description": "Set to 'true', if the token is active", + "type": "boolean" + } + } + }, + "v1EdgeTokenEntity": { + "description": "Edge token request payload", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1EdgeTokenSpecEntity" + } + }, + "type": "object" + }, + "v1EdgeTokenProject": { + "description": "Edge token project information", + "properties": { + "name": { + "description": "Project name", + "type": "string" + }, + "uid": { + "description": "Project uid", + "type": "string" + } + }, + "type": "object" + }, + "v1EdgeTokenSpec": { + "description": "Edge token specification", + "properties": { + "defaultProject": { + "$ref": "#/definitions/v1EdgeTokenProject", + "description": "Default project where the edgehost will be placed on the token authorization" + }, + "expiry": { + "$ref": "#/definitions/v1Time", + "description": "Edge token expiry date" + }, + "token": { + "description": "Edge token", + "type": "string" + } + }, + "type": "object" + }, + "v1EdgeTokenSpecEntity": { + "description": "Edge token specification", + "properties": { + "defaultProjectUid": { + "description": "Default project where the edgehost will be placed on the token authorization", + "type": "string" + }, + "expiry": { + "$ref": "#/definitions/v1Time", + "description": "Edge token expiry date" + } + }, + "type": "object" + }, + "v1EdgeTokenSpecUpdate": { + "description": "Edge token spec to be updated", + "properties": { + "defaultProjectUid": { + "description": "Default project where the edgehost will be placed on the token authorization", + "type": "string" + }, + "expiry": { + "$ref": "#/definitions/v1Time" + } + } + }, + "v1EdgeTokenStatus": { + "description": "Edge token status", + "properties": { + "isActive": { + "description": "Set to 'true', if the token is active", + "type": "boolean", + "x-omitempty": false + } + }, + "type": "object" + }, + "v1EdgeTokenUpdate": { + "description": "Edge token update request payload", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1EdgeTokenSpecUpdate" + } + }, + "type": "object" + }, + "v1EdgeTokens": { + "properties": { + "items": { + "description": "List of edge tokens", + "items": { + "$ref": "#/definitions/v1EdgeToken" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1EksAddon": { + "description": "EksAddon represents a EKS addon", + "properties": { + "conflictResolution": { + "description": "ConflictResolution is used to declare what should happen if there are parameter conflicts.", + "type": "string" + }, + "name": { + "description": "Name is the name of the addon", + "type": "string" + }, + "serviceAccountRoleARN": { + "description": "ServiceAccountRoleArn is the ARN of an IAM role to bind to the addons service account", + "type": "string" + }, + "version": { + "description": "Version is the version of the addon to use", + "type": "string" + } + }, + "required": [ + "name", + "version" + ], + "type": "object" + }, + "v1EksCloudClusterConfigEntity": { + "description": "EKS cloud cluster config entity", + "properties": { + "clusterConfig": { + "$ref": "#/definitions/v1EksClusterConfig" + } + }, + "type": "object" + }, + "v1EksCloudConfig": { + "description": "EksCloudConfig is the Schema for the ekscloudconfigs API", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1EksCloudConfigSpec" + } + }, + "type": "object" + }, + "v1EksCloudConfigSpec": { + "description": "EksCloudConfigSpec defines the cloud configuration input by user", + "properties": { + "cloudAccountRef": { + "$ref": "#/definitions/v1ObjectReference", + "description": "cloudAccountRef should point to the secret which contains EksCloudAccount" + }, + "clusterConfig": { + "$ref": "#/definitions/v1EksClusterConfig" + }, + "fargateProfiles": { + "items": { + "$ref": "#/definitions/v1FargateProfile" + }, + "type": "array" + }, + "machinePoolConfig": { + "items": { + "$ref": "#/definitions/v1EksMachinePoolConfig" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1EksClusterConfig": { + "description": "EksClusterConfig defines EKS specific config", + "properties": { + "addons": { + "description": "Addons defines the EKS addons to enable with the EKS cluster. This may be required for brownfield clusters", + "items": { + "$ref": "#/definitions/v1EksAddon" + }, + "type": "array" + }, + "bastionDisabled": { + "description": "BastionDisabled is the option to disable bastion node", + "type": "boolean" + }, + "controlPlaneLoadBalancer": { + "description": "ControlPlaneLoadBalancer specifies how API server elb will be configured, this field is optional, not provided, \"\", default =\u003e \"Internet-facing\" \"Internet-facing\" =\u003e \"Internet-facing\" \"internal\" =\u003e \"internal\" For spectro saas setup we require to talk to the apiserver from our cluster so ControlPlaneLoadBalancer should be \"\", not provided or \"Internet-facing\"", + "type": "string" + }, + "encryptionConfig": { + "$ref": "#/definitions/v1EncryptionConfig", + "description": "EncryptionConfig specifies the encryption configuration for the cluster" + }, + "endpointAccess": { + "$ref": "#/definitions/v1EksClusterConfigEndpointAccess", + "description": "Endpoints specifies access to this cluster's control plane endpoints" + }, + "region": { + "description": "The AWS Region the cluster lives in.", + "type": "string" + }, + "sshKeyName": { + "description": "SSHKeyName specifies which EC2 SSH key can be used to access machines.", + "type": "string" + }, + "vpcId": { + "description": "VPC Id to deploy cluster into should have one public and one private subnet for the the cluster creation, this field is optional, If VPC Id is not provided a fully managed VPC will be created", + "type": "string" + } + }, + "required": [ + "region" + ], + "type": "object" + }, + "v1EksClusterConfigEndpointAccess": { + "description": "EndpointAccess specifies how control plane endpoints are accessible", + "properties": { + "private": { + "description": "Private points VPC-internal control plane access to the private endpoint", + "type": "boolean" + }, + "privateCIDRs": { + "description": "PrivateCIDRs specifies which blocks can access the private endpoint", + "items": { + "type": "string" + }, + "type": "array" + }, + "public": { + "description": "Public controls whether control plane endpoints are publicly accessible", + "type": "boolean" + }, + "publicCIDRs": { + "description": "PublicCIDRs specifies which blocks can access the public endpoint", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1EksFargateProfiles": { + "description": "Fargate profiles", + "properties": { + "fargateProfiles": { + "items": { + "$ref": "#/definitions/v1FargateProfile" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1EksMachineCloudConfigEntity": { + "properties": { + "awsLaunchTemplate": { + "$ref": "#/definitions/v1AwsLaunchTemplate" + }, + "azs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "capacityType": { + "default": "on-demand", + "description": "EC2 instance capacity type", + "enum": [ + "on-demand", + "spot" + ], + "type": "string" + }, + "enableAwsLaunchTemplate": { + "description": "flag to know if aws launch template is enabled", + "type": "boolean" + }, + "instanceType": { + "description": "instance type", + "type": "string" + }, + "rootDeviceSize": { + "description": "rootDeviceSize in GBs", + "format": "int64", + "maximum": 2000, + "minimum": 1, + "type": "integer" + }, + "spotMarketOptions": { + "$ref": "#/definitions/v1SpotMarketOptions", + "description": "SpotMarketOptions allows users to configure instances to be run using AWS Spot instances." + }, + "subnets": { + "items": { + "$ref": "#/definitions/v1EksSubnetEntity" + }, + "type": "array" + } + } + }, + "v1EksMachinePoolConfig": { + "properties": { + "additionalLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "additionalLabels", + "type": "object" + }, + "additionalTags": { + "additionalProperties": { + "type": "string" + }, + "description": "AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole", + "type": "object" + }, + "awsLaunchTemplate": { + "$ref": "#/definitions/v1AwsLaunchTemplate" + }, + "azs": { + "description": "AZs is only used for dynamic placement", + "items": { + "type": "string" + }, + "type": "array" + }, + "capacityType": { + "default": "on-demand", + "description": "EC2 instance capacity type", + "enum": [ + "on-demand", + "spot" + ], + "type": "string" + }, + "enableAwsLaunchTemplate": { + "description": "flag to know if aws launch template is enabled", + "type": "boolean" + }, + "instanceConfig": { + "$ref": "#/definitions/v1InstanceConfig" + }, + "instanceType": { + "description": "instance type", + "type": "string" + }, + "isControlPlane": { + "description": "whether this pool is for control plane", + "type": "boolean", + "x-omitempty": false + }, + "labels": { + "description": "labels for this pool, example: control-plane/worker, gpu, windows", + "items": { + "type": "string" + }, + "type": "array" + }, + "machinePoolProperties": { + "$ref": "#/definitions/v1MachinePoolProperties" + }, + "maxSize": { + "description": "max size of the pool, for scaling", + "format": "int32", + "type": "integer" + }, + "minSize": { + "description": "min size of the pool, for scaling", + "format": "int32", + "type": "integer" + }, + "name": { + "type": "string" + }, + "nodeRepaveInterval": { + "description": "Minimum number of seconds a node should be Ready, before the next node is selected for repave. Applicable only for workerpools in infrastructure cluster", + "format": "int32", + "type": "integer" + }, + "rootDeviceSize": { + "description": "rootDeviceSize in GBs", + "format": "int64", + "type": "integer" + }, + "size": { + "description": "size of the pool, number of machines", + "format": "int32", + "type": "integer" + }, + "spotMarketOptions": { + "$ref": "#/definitions/v1SpotMarketOptions", + "description": "SpotMarketOptions allows users to configure instances to be run using AWS Spot instances." + }, + "subnetIds": { + "additionalProperties": { + "type": "string" + }, + "description": "AZ to subnet mapping filled by ally from hubble SubnetIDs [\"us-west-2d\"] = \"subnet-079b6061\" This field is optional If we don't provide a subnetId then by default the first private subnet from the AZ will be picked up for deployment", + "type": "object" + }, + "taints": { + "description": "control plane or worker taints", + "items": { + "$ref": "#/definitions/v1Taint" + }, + "type": "array", + "uniqueItems": true + }, + "updateStrategy": { + "$ref": "#/definitions/v1UpdateStrategy", + "description": "rolling update strategy for this machinepool if not specified, will use ScaleOut" + }, + "useControlPlaneAsWorker": { + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", + "type": "boolean", + "x-omitempty": false + } + }, + "required": [ + "isControlPlane" + ], + "type": "object" + }, + "v1EksMachinePoolConfigEntity": { + "properties": { + "cloudConfig": { + "$ref": "#/definitions/v1EksMachineCloudConfigEntity" + }, + "poolConfig": { + "$ref": "#/definitions/v1MachinePoolConfigEntity" + } + } + }, + "v1EksSubnetEntity": { + "properties": { + "az": { + "type": "string" + }, + "id": { + "type": "string" + } + } + }, + "v1EncryptionConfig": { + "description": "EncryptionConfig specifies the encryption configuration for the EKS clsuter.", + "properties": { + "isEnabled": { + "description": "Is encryption configuration enabled for the cluster", + "type": "boolean" + }, + "provider": { + "description": "Provider specifies the ARN or alias of the CMK (in AWS KMS)", + "type": "string" + }, + "resources": { + "description": "Resources specifies the resources to be encrypted", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1Event": { + "description": "Describes the component event details", + "properties": { + "involvedObject": { + "$ref": "#/definitions/v1ObjectReference", + "description": "Describes object involved in event generation", + "type": "object" + }, + "message": { + "description": "Describes message associated with the event", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/v1ObjectMeta", + "type": "object" + }, + "reason": { + "description": "Describes the reason for the event", + "type": "string" + }, + "relatedObject": { + "$ref": "#/definitions/v1EventRelatedObject", + "description": "Describes object related to the event", + "type": "object" + }, + "severity": { + "description": "Describes the gravitas for the event", + "type": "string" + }, + "source": { + "$ref": "#/definitions/v1EventSource", + "description": "Describes the origin for the event", + "type": "object" + } + }, + "type": "object" + }, + "v1EventRelatedObject": { + "description": "Object for which the event is related", + "properties": { + "kind": { + "enum": [ + "spectrocluster", + "edgehost" + ], + "type": "string" + }, + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + }, + "type": "object" + }, + "v1EventSource": { + "description": "Describes the origin for the event", + "properties": { + "component": { + "description": "Describes the component where event originated", + "type": "string" + }, + "host": { + "description": "Describes the host where event originated", + "type": "string" + } + }, + "type": "object" + }, + "v1Events": { + "description": "An array of component events items", + "properties": { + "items": { + "description": "Describes a list of returned component events", + "items": { + "$ref": "#/definitions/v1Event" + }, + "type": "array", + "uniqueItems": true + }, + "listmeta": { + "$ref": "#/definitions/v1ListMetaData", + "description": "Describes the meta information about the component event lists" + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1EventsObjectsEntity": { + "properties": { + "resourceType": { + "type": "string" + }, + "resourceUid": { + "type": "string" + } + }, + "required": [ + "resourceType", + "resourceUid" + ], + "type": "object" + }, + "v1EventsRelatedObjectsEntity": { + "properties": { + "relatedObjectUids": { + "description": "List of uids of the related object", + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "relatedObjectUids" + ], + "type": "object" + }, + "v1FargateProfile": { + "description": "FargateProfile defines the desired state of FargateProfile", + "properties": { + "additionalTags": { + "additionalProperties": { + "type": "string" + }, + "description": "AdditionalTags is an optional set of tags to add to AWS resources managed by the AWS provider, in addition to the ones added by default.", + "type": "object" + }, + "name": { + "description": "name specifies the profile name.", + "type": "string" + }, + "selectors": { + "description": "Selectors specify fargate pod selectors.", + "items": { + "$ref": "#/definitions/v1FargateSelector" + }, + "type": "array" + }, + "subnetIds": { + "description": "SubnetIDs specifies which subnets are used for the auto scaling group of this nodegroup.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "name" + ], + "type": "object" + }, + "v1FargateSelector": { + "description": "FargateSelector specifies a selector for pods that should run on this fargate pool", + "properties": { + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Labels specifies which pod labels this selector should match.", + "type": "object" + }, + "namespace": { + "description": "Namespace specifies which namespace this selector should match.", + "type": "string" + } + }, + "required": [ + "namespace" + ], + "type": "object" + }, + "v1Feature": { + "description": "Feature response", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1FeatureSpec" + } + }, + "type": "object" + }, + "v1FeatureFlagPing": { + "properties": { + "msg": { + "type": "string" + } + }, + "type": "object" + }, + "v1FeatureSpec": { + "description": "Feature spec", + "properties": { + "description": { + "description": "Feature description", + "type": "string" + }, + "docLink": { + "description": "Feature doc link", + "type": "string" + }, + "key": { + "description": "Feature key", + "type": "string" + } + } + }, + "v1FeatureUpdate": { + "description": "Feature update spec", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMetaInputEntity" + }, + "spec": { + "$ref": "#/definitions/v1FeatureUpdateSpec" + } + } + }, + "v1FeatureUpdateSpec": { + "description": "Feature update spec", + "properties": { + "description": { + "description": "Feature description", + "type": "string" + }, + "docLink": { + "description": "Feature doc link", + "type": "string" + } + } + }, + "v1Features": { + "properties": { + "items": { + "description": "List of features", + "items": { + "$ref": "#/definitions/v1Feature" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1FileUploadResponse": { + "description": "File upload response", + "properties": { + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + }, + "type": "object" + }, + "v1FilterArray": { + "properties": { + "beginsWith": { + "items": { + "type": "string" + }, + "type": "array", + "x-nullable": true + }, + "eq": { + "items": { + "type": "string" + }, + "type": "array", + "x-nullable": true + }, + "ignoreCase": { + "default": true, + "type": "boolean" + }, + "ne": { + "items": { + "type": "string" + }, + "type": "array", + "x-nullable": true + } + }, + "type": "object" + }, + "v1FilterIntRange": { + "properties": { + "eq": { + "format": "int32", + "type": "integer", + "x-nullable": true + }, + "gt": { + "format": "int32", + "type": "integer", + "x-nullable": true + }, + "gte": { + "format": "int32", + "type": "integer", + "x-nullable": true + }, + "lt": { + "format": "int32", + "type": "integer", + "x-nullable": true + }, + "lte": { + "format": "int32", + "type": "integer", + "x-nullable": true + }, + "ne": { + "format": "int32", + "type": "integer", + "x-nullable": true + } + }, + "type": "object" + }, + "v1FilterMetadata": { + "description": "Filter metadata object", + "properties": { + "filterType": { + "type": "string" + }, + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + }, + "type": "object" + }, + "v1FilterNumberRange": { + "properties": { + "eq": { + "type": "number", + "x-nullable": true + }, + "gt": { + "type": "number", + "x-nullable": true + }, + "gte": { + "type": "number", + "x-nullable": true + }, + "lt": { + "type": "number", + "x-nullable": true + }, + "lte": { + "type": "number", + "x-nullable": true + }, + "ne": { + "type": "number", + "x-nullable": true + } + }, + "type": "object" + }, + "v1FilterString": { + "properties": { + "beginsWith": { + "type": "string", + "x-nullable": true + }, + "contains": { + "type": "string", + "x-nullable": true + }, + "eq": { + "type": "string", + "x-nullable": true + }, + "ignoreCase": { + "default": true, + "type": "boolean" + }, + "ne": { + "type": "string", + "x-nullable": true + } + }, + "type": "object" + }, + "v1FilterSummary": { + "description": "Filter summary object", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1FilterSummarySpec" + } + }, + "type": "object" + }, + "v1FilterSummarySpec": { + "properties": { + "filterType": { + "type": "string" + } + } + }, + "v1FilterVersionString": { + "properties": { + "beginsWith": { + "type": "string", + "x-nullable": true + }, + "eq": { + "type": "string", + "x-nullable": true + }, + "gt": { + "type": "string", + "x-nullable": true + }, + "lt": { + "type": "string", + "x-nullable": true + }, + "ne": { + "type": "string", + "x-nullable": true + } + }, + "type": "object" + }, + "v1FiltersMetadata": { + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1FilterMetadata" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1FiltersSummary": { + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1FilterSummary" + }, + "type": "array", + "uniqueItems": true + }, + "listmeta": { + "$ref": "#/definitions/v1ListMetaData" + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1FipsSettings": { + "description": "FIPS configuration", + "properties": { + "fipsClusterFeatureConfig": { + "$ref": "#/definitions/v1NonFipsConfig" + }, + "fipsClusterImportConfig": { + "$ref": "#/definitions/v1NonFipsConfig" + }, + "fipsPackConfig": { + "$ref": "#/definitions/v1NonFipsConfig" + } + } + }, + "v1FreemiumUsage": { + "properties": { + "usage": { + "format": "float64", + "type": "number", + "x-omitempty": false + } + }, + "type": "object" + }, + "v1FreemiumUsageLimit": { + "properties": { + "activeClusters": { + "type": "integer", + "x-omitempty": false + }, + "overageUsage": { + "type": "number", + "x-omitempty": false + }, + "usage": { + "format": "float64", + "type": "number", + "x-omitempty": false + } + }, + "type": "object" + }, + "v1GPUConfig": { + "properties": { + "addresses": { + "additionalProperties": { + "type": "string" + }, + "description": "Addresses is a map of PCI device entry name to its addresses.\nExample entry would be \"11:00.0 VGA compatible controller [0300]: NVIDIA\nCorporation Device [10de:1eb1] (rev a1)\"- \u003e 0000_11_00_0\" The address is\nBDF (Bus Device Function) identifier format seperated by underscores. The\nfirst 4 bits are almost always 0000. In the above example 11 is Bus, 00\nis Device,0 is function. The values of these addreses are expected in hexadecimal\nformat\n", + "type": "object" + }, + "deviceModel": { + "description": "DeviceModel is the model of GPU, for a given vendor, for eg., TU104GL [Tesla T4]", + "type": "string" + }, + "numGPUs": { + "description": "NumGPUs is the number of GPUs", + "format": "int32", + "type": "integer" + }, + "vendorName": { + "description": "VendorName is the GPU vendor, for eg., NVIDIA or AMD", + "type": "string" + } + }, + "type": "object" + }, + "v1GPUDeviceSpec": { + "properties": { + "addresses": { + "additionalProperties": { + "type": "string" + }, + "description": "Addresses is a map of PCI device entry name to its addresses.\nExample entry would be \"11:00.0 VGA compatible controller [0300]: NVIDIA\nCorporation Device [10de:1eb1] (rev a1)\"- \u003e 0000_11_00_0\" The address is\nBDF (Bus Device Function) identifier format seperated by underscores. The\nfirst 4 bits are almost always 0000. In the above example 11 is Bus, 00\nis Device,0 is function. The values of these addreses are expected in hexadecimal\nformat\n", + "type": "object" + }, + "model": { + "description": "Model is the model of GPU, for a given vendor, for eg., TU104GL [Tesla T4]", + "type": "string" + }, + "vendor": { + "description": "Vendor is the GPU vendor, for eg., NVIDIA or AMD", + "type": "string" + } + }, + "type": "object" + }, + "v1GcpAccount": { + "description": "GCP account information", + "properties": { + "apiVersion": { + "description": "Cloud account api version", + "type": "string" + }, + "kind": { + "description": "Cloud account kind", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1GcpAccountSpec" + }, + "status": { + "$ref": "#/definitions/v1CloudAccountStatus" + } + }, + "type": "object" + }, + "v1GcpAccountEntity": { + "description": "GCP account information", + "properties": { + "apiVersion": { + "description": "Cloud account api version", + "type": "string" + }, + "kind": { + "description": "Cloud account kind", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1GcpAccountEntitySpec" + }, + "status": { + "$ref": "#/definitions/v1CloudAccountStatus" + } + }, + "type": "object" + }, + "v1GcpAccountEntitySpec": { + "properties": { + "jsonCredentials": { + "description": "Gcp cloud account json credentials", + "type": "string" + }, + "jsonCredentialsFileUid": { + "description": "Reference of the credentials stored in the file", + "type": "string" + } + }, + "type": "object" + }, + "v1GcpAccountNameValidateSpec": { + "description": "Gcp cloud account name validate spec", + "properties": { + "bucketName": { + "description": "Bucket name in the GCP", + "type": "string" + }, + "credentials": { + "$ref": "#/definitions/v1GcpAccountValidateSpec" + }, + "projectId": { + "description": "ProjectId in the GCP", + "type": "string" + } + }, + "required": [ + "credentials", + "bucketName" + ], + "type": "object" + }, + "v1GcpAccountSpec": { + "properties": { + "jsonCredentials": { + "description": "Gcp cloud account json credentials", + "type": "string" + }, + "jsonCredentialsFileName": { + "description": "Reference of the credentials stored in the file", + "type": "string" + } + }, + "type": "object" + }, + "v1GcpAccountValidateSpec": { + "description": "Gcp cloud account entity which takes json credentials or reference to the file where credentials are stored", + "properties": { + "jsonCredentials": { + "description": "Gcp cloud account json credentials", + "type": "string" + }, + "jsonCredentialsFileUid": { + "description": "Reference of the credentials stored in the file", + "type": "string" + } + }, + "type": "object" + }, + "v1GcpAccounts": { + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1GcpAccount" + }, + "type": "array", + "uniqueItems": true + }, + "listmeta": { + "$ref": "#/definitions/v1ListMetaData" + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1GcpCloudAccountValidateEntity": { + "description": "Gcp cloud account spec", + "properties": { + "spec": { + "$ref": "#/definitions/v1GcpAccountValidateSpec" + } + }, + "type": "object" + }, + "v1GcpCloudClusterConfigEntity": { + "description": "Gcp cloud cluster config entity", + "properties": { + "clusterConfig": { + "$ref": "#/definitions/v1GcpClusterConfig" + } + }, + "type": "object" + }, + "v1GcpCloudConfig": { + "description": "GcpCloudConfig is the Schema for the gcpcloudconfigs API", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1GcpCloudConfigSpec" + }, + "status": { + "$ref": "#/definitions/v1GcpCloudConfigStatus" + } + }, + "type": "object" + }, + "v1GcpCloudConfigSpec": { + "description": "GcpCloudConfigSpec defines the cloud configuration input by user This will translate to clusterspec/machinespec for cluster-api", + "properties": { + "cloudAccountRef": { + "$ref": "#/definitions/v1ObjectReference", + "description": "cloudAccountRef should point to the secret which contains GcpCloudAccount" + }, + "clusterConfig": { + "$ref": "#/definitions/v1GcpClusterConfig" + }, + "machinePoolConfig": { + "items": { + "$ref": "#/definitions/v1GcpMachinePoolConfig" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1GcpCloudConfigStatus": { + "description": "GcpCloudConfigStatus defines the observed state of GcpCloudConfig The cloudimage info built by Mold is stored here image should be mapped to a specific machinepool", + "properties": { + "ansibleRoleDigest": { + "description": "For mold controller to identify if is there any changes in Pack", + "type": "string" + }, + "conditions": { + "description": "spectroAnsibleProvisioner: should be added only once, subsequent recocile will use the same provisioner SpectroAnsiblePacker bool `json:\"spectroAnsiblePacker,omitempty\"`", + "items": { + "$ref": "#/definitions/v1ClusterCondition" + }, + "type": "array" + }, + "images": { + "$ref": "#/definitions/v1GcpImage", + "description": "Images array items should be 1-to-1 mapping to Spec.MachinePoolConfig" + }, + "isAddonLayer": { + "description": "addon layers present in spc", + "type": "boolean" + }, + "roleDigest": { + "additionalProperties": { + "type": "string" + }, + "description": "this map will be for ansible roles present in each pack", + "type": "object" + }, + "sourceImageId": { + "description": "sourceImageId, it can be from packref's annotations or from pack.json", + "type": "string" + }, + "useCapiImage": { + "description": "PackerVariableDigest string `json:\"packerDigest,omitempty\"` If no ansible roles found in Packs then Mold should tell Drive to use capi image and not create custom image, because there is nothing to add", + "type": "boolean" + } + }, + "type": "object" + }, + "v1GcpClusterConfig": { + "description": "Cluster level configuration for gcp cloud and applicable for all the machine pools", + "properties": { + "managedClusterConfig": { + "$ref": "#/definitions/v1GcpManagedClusterConfig" + }, + "network": { + "description": "NetworkName if empty would create VPC Network in auto mode. If provided, custom VPC network will be used", + "type": "string" + }, + "project": { + "description": "Name of the project in which cluster is to be deployed", + "type": "string" + }, + "region": { + "description": "GCP region for the cluster", + "type": "string" + } + }, + "required": [ + "project", + "region" + ], + "type": "object" + }, + "v1GcpImage": { + "description": "Refers to GCP image", + "properties": { + "name": { + "type": "string" + }, + "os": { + "type": "string" + }, + "region": { + "type": "string" + }, + "state": { + "type": "string" + } + }, + "type": "object" + }, + "v1GcpImageUrlEntity": { + "description": "Gcp image url entity", + "properties": { + "imageFamily": { + "description": "The name of the image family to which this image belongs", + "type": "string" + }, + "imageUrl": { + "description": "Server-defined URL for the resource", + "type": "string" + }, + "name": { + "description": "Name of the resource", + "type": "string" + } + }, + "type": "object" + }, + "v1GcpInstanceTypes": { + "description": "Retrieves a list of GCP instance types", + "properties": { + "instanceTypes": { + "description": "List of GCP instance types", + "items": { + "$ref": "#/definitions/v1InstanceType" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1GcpMachine": { + "description": "GCP cloud VM definition", + "properties": { + "apiVersion": { + "type": "string" + }, + "kind": { + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1GcpMachineSpec" + }, + "status": { + "$ref": "#/definitions/v1CloudMachineStatus" + } + }, + "type": "object" + }, + "v1GcpMachinePoolCloudConfigEntity": { + "properties": { + "azs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "instanceType": { + "type": "string" + }, + "rootDeviceSize": { + "description": "Size of root volume in GB. Default is 30GB", + "format": "int64", + "type": "integer" + }, + "subnet": { + "description": "Subnet specifies the subnetwork to use for given instance. If not specified, the first subnet from the cluster region and network is used", + "type": "string" + }, + "subnets": { + "items": { + "$ref": "#/definitions/v1GcpSubnetEntity" + }, + "type": "array" + } + }, + "required": [ + "instanceType" + ], + "type": "object" + }, + "v1GcpMachinePoolConfig": { + "properties": { + "additionalLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "additionalLabels", + "type": "object" + }, + "additionalTags": { + "additionalProperties": { + "type": "string" + }, + "description": "AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole", + "type": "object" + }, + "azs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "instanceConfig": { + "$ref": "#/definitions/v1InstanceConfig" + }, + "instanceType": { + "type": "string" + }, + "isControlPlane": { + "description": "whether this pool is for control plane", + "type": "boolean" + }, + "labels": { + "description": "labels for this pool, example: control-plane/worker, gpu, windows", + "items": { + "type": "string" + }, + "type": "array" + }, + "machinePoolProperties": { + "$ref": "#/definitions/v1MachinePoolProperties" + }, + "maxSize": { + "description": "max size of the pool, for scaling", + "format": "int32", + "type": "integer" + }, + "minSize": { + "description": "min size of the pool, for scaling", + "format": "int32", + "type": "integer" + }, + "name": { + "type": "string" + }, + "nodeRepaveInterval": { + "description": "Minimum number of seconds a node should be Ready, before the next node is selected for repave. Applicable only for workerpools in infrastructure cluster", + "format": "int32", + "type": "integer" + }, + "rootDeviceSize": { + "description": "Size of root volume in GB. Default is 30GB", + "format": "int64", + "type": "integer" + }, + "size": { + "description": "size of the pool, number of machines", + "format": "int32", + "type": "integer" + }, + "subnet": { + "description": "Subnet specifies the subnetwork to use for given instance. If not specified, the first subnet from the cluster region and network is used", + "type": "string" + }, + "subnetIds": { + "additionalProperties": { + "type": "string" + }, + "description": "AZ to subnet mapping filled by ally from hubble SubnetIDs [\"us-west-2d\"] = \"subnet-079b6061\" This field is optional If we don't provide a subnetId then by default the first private subnet from the AZ will be picked up for deployment", + "type": "object" + }, + "taints": { + "description": "control plane or worker taints", + "items": { + "$ref": "#/definitions/v1Taint" + }, + "type": "array", + "uniqueItems": true + }, + "updateStrategy": { + "$ref": "#/definitions/v1UpdateStrategy", + "description": "rolling update strategy for this machinepool if not specified, will use ScaleOut" + }, + "useControlPlaneAsWorker": { + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", + "type": "boolean" + } + }, + "required": [ + "isControlPlane", + "instanceType" + ], + "type": "object" + }, + "v1GcpMachinePoolConfigEntity": { + "properties": { + "cloudConfig": { + "$ref": "#/definitions/v1GcpMachinePoolCloudConfigEntity" + }, + "poolConfig": { + "$ref": "#/definitions/v1MachinePoolConfigEntity" + } + }, + "required": [ + "cloudConfig" + ], + "type": "object" + }, + "v1GcpMachineSpec": { + "description": "GCP cloud VM definition spec", + "properties": { + "image": { + "type": "string" + }, + "instanceConfig": { + "$ref": "#/definitions/v1InstanceConfig" + }, + "instanceType": { + "type": "string" + }, + "nics": { + "items": { + "$ref": "#/definitions/v1GcpNic" + }, + "type": "array" + }, + "project": { + "type": "string" + }, + "region": { + "type": "string" + }, + "rootDeviceSize": { + "format": "int64", + "type": "integer" + }, + "zone": { + "type": "string" + } + }, + "required": [ + "instanceType" + ], + "type": "object" + }, + "v1GcpMachines": { + "description": "GCP machine list", + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1GcpMachine" + }, + "type": "array", + "uniqueItems": true + }, + "listmeta": { + "$ref": "#/definitions/v1ListMetaData" + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1GcpManagedClusterConfig": { + "description": "GCP managed cluster config", + "properties": { + "enableAutoPilot": { + "description": "EnableAutopilot indicates whether to enable autopilot for this GKE cluster", + "type": "boolean" + }, + "location": { + "description": "Can be Region or Zone", + "type": "string" + } + }, + "type": "object" + }, + "v1GcpNetwork": { + "description": "GCP network enity is a virtual version of a physical network", + "properties": { + "name": { + "description": "GCP network name", + "type": "string" + }, + "subnets": { + "description": "List of GCP subnet", + "items": { + "$ref": "#/definitions/v1GcpSubnet" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1GcpNetworks": { + "description": "List of GCP networks", + "properties": { + "networks": { + "items": { + "$ref": "#/definitions/v1GcpNetwork" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1GcpNic": { + "description": "GCP network interface", + "properties": { + "index": { + "format": "int8", + "type": "integer" + }, + "networkName": { + "type": "string" + }, + "privateIPs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "publicIp": { + "type": "string" + } + }, + "type": "object" + }, + "v1GcpProject": { + "description": "GCP project organizes all Google Cloud resources", + "properties": { + "id": { + "description": "GCP project id", + "type": "string" + }, + "name": { + "description": "GCP project name", + "type": "string" + } + }, + "type": "object" + }, + "v1GcpProjects": { + "description": "List of GCP Projects", + "properties": { + "projects": { + "description": "List of GCP Projects", + "items": { + "$ref": "#/definitions/v1GcpProject" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1GcpRegion": { + "description": "Geographical region made up of zones where you can host your GCP resources", + "properties": { + "name": { + "description": "GCP region name", + "type": "string" + }, + "status": { + "description": "GCP region status", + "type": "string" + } + }, + "type": "object" + }, + "v1GcpRegions": { + "description": "List of GCP Regions", + "properties": { + "regions": { + "items": { + "$ref": "#/definitions/v1GcpRegion" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1GcpStorageConfig": { + "description": "GCP storage config object", + "properties": { + "bucketName": { + "description": "GCP storage bucket name", + "type": "string" + }, + "credentials": { + "$ref": "#/definitions/v1.GcpAccountEntitySpec", + "description": "GCP cloud account credentials" + }, + "projectId": { + "description": "GCP project id", + "type": "string" + } + }, + "required": [ + "bucketName", + "credentials" + ], + "type": "object" + }, + "v1GcpStorageTypes": { + "description": "List of GCP storage types", + "properties": { + "storageTypes": { + "items": { + "$ref": "#/definitions/v1StorageType" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1GcpSubnet": { + "description": "Subnets are regional resources, and have IP address ranges associated with them", + "properties": { + "id": { + "description": "GCP subnet id", + "type": "string" + }, + "name": { + "description": "GCP subnet name", + "type": "string" + } + }, + "type": "object" + }, + "v1GcpSubnetEntity": { + "properties": { + "az": { + "type": "string" + }, + "id": { + "type": "string" + } + } + }, + "v1GcpZone": { + "description": "A zone is a deployment area for Google Cloud resources within a region", + "properties": { + "name": { + "description": "GCP zone name", + "type": "string" + } + }, + "type": "object" + }, + "v1GcpZones": { + "description": "List of GCP zones", + "properties": { + "zones": { + "items": { + "$ref": "#/definitions/v1GcpZone" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1GenericCloudClusterConfigEntity": { + "description": "Generic cloud cluster config entity", + "properties": { + "clusterConfig": { + "$ref": "#/definitions/v1GenericClusterConfig" + } + }, + "type": "object" + }, + "v1GenericCloudConfig": { + "description": "Generic CloudConfig for all cloud types", + "properties": { + "kind": { + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1GenericCloudConfigSpec" + } + } + }, + "v1GenericCloudConfigSpec": { + "description": "Generic CloudConfig spec for all cloud types", + "properties": { + "cloudAccountRef": { + "$ref": "#/definitions/v1ObjectReference", + "description": "Cloud account reference is optional and dynamically handled based on the kind" + }, + "clusterConfig": { + "$ref": "#/definitions/v1GenericClusterConfig" + }, + "edgeHostRefs": { + "description": "Appliances (Edge Host) uids", + "items": { + "$ref": "#/definitions/v1ObjectReference" + }, + "type": "array" + }, + "machinePoolConfig": { + "items": { + "$ref": "#/definitions/v1GenericMachinePoolConfig" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1GenericClusterConfig": { + "description": "Generic cluster config", + "properties": { + "instanceType": { + "$ref": "#/definitions/v1GenericInstanceType" + }, + "region": { + "description": "cluster region information", + "type": "string" + } + }, + "type": "object" + }, + "v1GenericInstanceType": { + "properties": { + "diskGiB": { + "description": "DiskGiB is the size of a virtual machine's disk, in GiB", + "format": "int32", + "type": "integer" + }, + "memoryMiB": { + "description": "MemoryMiB is the size of a virtual machine's memory, in MiB", + "format": "int64", + "type": "integer" + }, + "name": { + "type": "string" + }, + "numCPUs": { + "description": "NumCPUs is the number of virtual processors in a virtual machine", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "v1GenericMachine": { + "description": "Generic cloud VM definition", + "properties": { + "apiVersion": { + "type": "string" + }, + "kind": { + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1GenericMachineSpec" + }, + "status": { + "$ref": "#/definitions/v1CloudMachineStatus" + } + } + }, + "v1GenericMachinePoolConfig": { + "properties": { + "instanceType": { + "type": "string" + }, + "isControlPlane": { + "description": "whether this pool is for control plane", + "type": "boolean" + }, + "labels": { + "description": "labels for this pool, example: control-plane/worker, gpu, windows", + "items": { + "type": "string" + }, + "type": "array" + }, + "name": { + "type": "string" + }, + "rootDeviceSize": { + "description": "Size of root volume in GB. Default is 30GB", + "format": "int64", + "type": "integer" + }, + "size": { + "description": "size of the pool, number of machines", + "format": "int32", + "type": "integer" + }, + "useControlPlaneAsWorker": { + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", + "type": "boolean" + } + }, + "required": [ + "isControlPlane" + ], + "type": "object" + }, + "v1GenericMachinePoolConfigEntity": { + "properties": { + "cloudConfig": { + "$ref": "#/definitions/v1GenericClusterConfig" + }, + "poolConfig": { + "$ref": "#/definitions/v1MachinePoolConfigEntity" + } + } + }, + "v1GenericMachineSpec": { + "description": "Generic cloud VM definition spec", + "properties": { + "hostName": { + "type": "string" + }, + "imageId": { + "type": "string" + }, + "instanceType": { + "$ref": "#/definitions/v1GenericInstanceType" + }, + "nics": { + "items": { + "$ref": "#/definitions/v1GenericNic" + }, + "type": "array" + }, + "sshKeyName": { + "type": "string" + } + } + }, + "v1GenericMachines": { + "description": "Generic machine list", + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1GenericMachine" + }, + "type": "array", + "uniqueItems": true + }, + "listmeta": { + "$ref": "#/definitions/v1ListMetaData" + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1GenericNic": { + "description": "Generic network interface", + "properties": { + "index": { + "format": "int8", + "type": "integer" + }, + "networkName": { + "type": "string" + }, + "privateIPs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "publicIp": { + "type": "string" + } + }, + "type": "object" + }, + "v1GeolocationLatlong": { + "description": "Geolocation Latlong entity", + "properties": { + "latitude": { + "description": "Latitude of a resource", + "format": "float64", + "type": "number", + "x-omitempty": false + }, + "longitude": { + "description": "Longitude of a resource", + "format": "float64", + "type": "number", + "x-omitempty": false + } + }, + "type": "object" + }, + "v1GitRepoFileContent": { + "properties": { + "content": { + "type": "string" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "repoName": { + "type": "string" + }, + "sha": { + "type": "string" + } + }, + "type": "object" + }, + "v1GrpcClientMonitoringData": { + "properties": { + "clientUid": { + "type": "string" + }, + "receivedBroadcastCount": { + "type": "integer" + }, + "receivedPublishedCount": { + "type": "integer" + }, + "sentBroadcastCount": { + "type": "integer" + }, + "sentPublishedCount": { + "type": "integer" + }, + "subjects": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1GrpcConfiguration": { + "description": "Describes the response that contains the grpc configuration to establish connection", + "properties": { + "preferredServer": { + "$ref": "#/definitions/v1GrpcEndpoint" + }, + "servers": { + "items": { + "$ref": "#/definitions/v1GrpcEndpoint" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "v1GrpcEndpoint": { + "properties": { + "endpoint": { + "description": "Describes the URL where the client has to connect to the grpc server", + "type": "string" + }, + "tls": { + "description": "Describes the Grpc tls config which client will use to make a request to the grpc server", + "properties": { + "caCert": { + "type": "string" + }, + "enabled": { + "type": "boolean" + }, + "insecureSkipVerify": { + "type": "boolean" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "v1GrpcServerMonitoringData": { + "properties": { + "clients": { + "additionalProperties": { + "$ref": "#/definitions/v1GrpcClientMonitoringData" + }, + "type": "object" + }, + "isError": { + "type": "boolean" + }, + "messageLogs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "subjects": { + "additionalProperties": { + "$ref": "#/definitions/v1GrpcSubjectMonitoringData" + }, + "type": "object" + }, + "totalClients": { + "type": "integer" + }, + "totalSubjects": { + "type": "integer" + } + }, + "type": "object" + }, + "v1GrpcServersMonitoringData": { + "properties": { + "servers": { + "additionalProperties": { + "$ref": "#/definitions/v1GrpcServerMonitoringData" + }, + "type": "object" + } + }, + "type": "object" + }, + "v1GrpcSubjectMonitoringData": { + "properties": { + "broadcastCount": { + "type": "integer" + }, + "clients": { + "items": { + "type": "string" + }, + "type": "array" + }, + "publishedCount": { + "type": "integer" + }, + "subject": { + "type": "string" + } + }, + "type": "object" + }, + "v1HealthCheck": { + "properties": { + "isHealthy": { + "type": "boolean", + "x-omitempty": false + }, + "message": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "type": "object" + }, + "v1HealthLocks": { + "properties": { + "expiredLocks": { + "items": { + "$ref": "#/definitions/v1Lock" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "v1HealthPing": { + "properties": { + "msg": { + "type": "string" + } + }, + "type": "object" + }, + "v1HelmChartOption": { + "description": "If chart options are provided then the specified chart is validated first and synced immediately. If the specified chart is not found in the specified registry then creation is cancelled.", + "properties": { + "name": { + "type": "string" + }, + "version": { + "type": "string" + } + }, + "type": "object" + }, + "v1HelmRegistries": { + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1HelmRegistry" + }, + "type": "array", + "uniqueItems": true + }, + "listmeta": { + "$ref": "#/definitions/v1ListMetaData" + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1HelmRegistriesSummary": { + "description": "Helm Registries Summary", + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1HelmRegistrySummary" + }, + "type": "array", + "uniqueItems": true + }, + "listmeta": { + "$ref": "#/definitions/v1ListMetaData" + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1HelmRegistry": { + "description": "Helm registry information", + "properties": { + "apiVersion": { + "type": "string" + }, + "kind": { + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1HelmRegistrySpec" + }, + "status": { + "$ref": "#/definitions/v1HelmRegistryStatus" + } + }, + "type": "object" + }, + "v1HelmRegistryCreateOption": { + "description": "Helm registry create options", + "properties": { + "charts": { + "items": { + "$ref": "#/definitions/v1HelmChartOption" + }, + "type": "array", + "uniqueItems": true + }, + "skipSync": { + "type": "boolean" + } + }, + "type": "object" + }, + "v1HelmRegistryEntity": { + "description": "Helm registry information", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1HelmRegistrySpecEntity" + } + }, + "type": "object" + }, + "v1HelmRegistrySpec": { + "description": "Helm registry credentials spec", + "properties": { + "auth": { + "$ref": "#/definitions/v1RegistryAuth" + }, + "endpoint": { + "type": "string" + }, + "isPrivate": { + "type": "boolean", + "x-omitempty": false + }, + "name": { + "type": "string" + }, + "registryUid": { + "description": "Helm registry uid", + "type": "string" + }, + "scope": { + "type": "string" + } + }, + "required": [ + "endpoint", + "auth" + ], + "type": "object" + }, + "v1HelmRegistrySpecEntity": { + "description": "Helm registry credentials spec", + "properties": { + "auth": { + "$ref": "#/definitions/v1RegistryAuth" + }, + "createOption": { + "$ref": "#/definitions/v1HelmRegistryCreateOption" + }, + "endpoint": { + "type": "string" + }, + "isPrivate": { + "type": "boolean" + }, + "name": { + "type": "string" + }, + "scope": { + "type": "string" + } + }, + "required": [ + "endpoint", + "auth" + ], + "type": "object" + }, + "v1HelmRegistrySpecSummary": { + "description": "Helm Registry spec summary", + "properties": { + "endpoint": { + "type": "string" + }, + "isPrivate": { + "type": "boolean", + "x-omitempty": false + }, + "scope": { + "type": "string" + } + }, + "type": "object" + }, + "v1HelmRegistryStatus": { + "description": "Status of the helm registry", + "properties": { + "helmSyncStatus": { + "$ref": "#/definitions/v1RegistrySyncStatus" + } + }, + "type": "object" + }, + "v1HelmRegistryStatusSummary": { + "description": "Helm registry status summary", + "properties": { + "sync": { + "$ref": "#/definitions/v1RegistrySyncStatus" + } + } + }, + "v1HelmRegistrySummary": { + "description": "Helm Registry summary", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1HelmRegistrySpecSummary" + }, + "status": { + "$ref": "#/definitions/v1HelmRegistryStatusSummary" + } + }, + "type": "object" + }, + "v1HostClusterConfig": { + "properties": { + "clusterEndpoint": { + "$ref": "#/definitions/v1HostClusterEndpoint", + "description": "host cluster configuration" + }, + "clusterGroup": { + "$ref": "#/definitions/v1ObjectReference", + "description": "cluster group reference" + }, + "hostCluster": { + "$ref": "#/definitions/v1ObjectReference", + "description": "host cluster reference" + }, + "isHostCluster": { + "default": false, + "description": "is enabled as host cluster", + "type": "boolean", + "x-omitempty": false + } + } + }, + "v1HostClusterConfigEntity": { + "properties": { + "hostClusterConfig": { + "$ref": "#/definitions/v1HostClusterConfig" + } + }, + "type": "object" + }, + "v1HostClusterConfigResponse": { + "properties": { + "clusterGroup": { + "$ref": "#/definitions/v1ObjectReference", + "description": "cluster group reference" + } + } + }, + "v1HostClusterEndpoint": { + "properties": { + "config": { + "$ref": "#/definitions/v1HostClusterEndpointConfig" + }, + "type": { + "description": "is enabled as host cluster", + "enum": [ + "Ingress", + "LoadBalancer" + ], + "type": "string" + } + } + }, + "v1HostClusterEndpointConfig": { + "properties": { + "ingressConfig": { + "$ref": "#/definitions/v1IngressConfig" + }, + "loadBalancerConfig": { + "$ref": "#/definitions/v1LoadBalancerConfig" + } + } + }, + "v1HttpPatch": { + "properties": { + "from": { + "description": "A path to the pointer from which reference will be taken", + "type": "string" + }, + "op": { + "description": "The operation to be performed", + "enum": [ + "add", + "remove", + "replace", + "move", + "copy" + ], + "type": "string" + }, + "path": { + "description": "A path to the pointer on which operation will be done", + "type": "string" + }, + "value": { + "description": "The value to be used within the operations.", + "type": "object" + } + }, + "required": [ + "op", + "path" + ], + "type": "object" + }, + "v1HubbleInfo": { + "properties": { + "apiEndpoint": { + "type": "string" + }, + "apiPort": { + "type": "string" + }, + "natsEndpoint": { + "type": "string" + }, + "uiEndpoint": { + "type": "string" + }, + "uiPort": { + "type": "string" + } + }, + "type": "object" + }, + "v1IPPool": { + "description": "IPPool defines static IPs available. Gateway, Prefix, Nameserver, if defined, will be default values for all Pools", + "properties": { + "gateway": { + "description": "Gateway is the gateway ip address", + "type": "string" + }, + "nameserver": { + "$ref": "#/definitions/v1Nameserver", + "description": "Nameserver provide information for dns resolvation" + }, + "pools": { + "description": "Pools contains the list of IP addresses pools", + "items": { + "$ref": "#/definitions/v1Pool" + }, + "type": "array" + }, + "prefix": { + "description": "Prefix is the mask of the network as integer (max 128)", + "format": "int32", + "type": "integer" + }, + "uid": { + "description": "UID is the UID of this IPPool, used by Hubble", + "type": "string" + } + }, + "type": "object" + }, + "v1IdentityProvider": { + "description": "Describes a predefined Identity Provider (IDP)", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "type": "object" + }, + "v1IdentityProviders": { + "description": "Describes a list of predefined Identity Provider (IDP)", + "items": { + "$ref": "#/definitions/v1IdentityProvider" + }, + "type": "array", + "uniqueItems": true + }, + "v1ImportClusterConfig": { + "properties": { + "importMode": { + "description": "If the importMode is empty then cluster is imported with full permission mode. By default importMode is empty and cluster is imported in full permission mode.", + "enum": [ + "read-only" + ], + "type": "string" + }, + "proxy": { + "$ref": "#/definitions/v1ClusterProxySpec", + "description": "Cluster proxy settings" + } + }, + "type": "object" + }, + "v1ImportEdgeHostConfig": { + "properties": { + "edgeHostUid": { + "description": "Deprecated. Use 'edgeHostUids' field", + "type": "string" + }, + "edgeHostUids": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1InfraLBConfig": { + "properties": { + "apiServerLB": { + "$ref": "#/definitions/v1LoadBalancerSpec", + "description": "APIServerLB is the configuration for the control-plane load balancer." + } + }, + "type": "object" + }, + "v1IngressConfig": { + "description": "Ingress configuration for exposing the virtual cluster's kube-apiserver", + "properties": { + "host": { + "type": "string" + }, + "port": { + "format": "int64", + "type": "integer" + } + } + }, + "v1InstallerStatus": { + "description": "Spectro cluster installer status", + "properties": { + "clusterMigration": { + "$ref": "#/definitions/v1SpectroClusterMigration" + }, + "clusterState": { + "type": "string" + }, + "endpoint": { + "type": "string", + "x-omitempty": false + } + }, + "type": "object" + }, + "v1InstanceConfig": { + "properties": { + "category": { + "type": "string" + }, + "cpuSet": { + "format": "int64", + "type": "integer" + }, + "diskGiB": { + "format": "int64", + "type": "integer" + }, + "memoryMiB": { + "description": "MemoryMiB is the size of a virtual machine's memory, in MiB", + "format": "int64", + "type": "integer" + }, + "name": { + "type": "string" + }, + "numCPUs": { + "description": "NumCPUs is the number of virtual processors in a virtual machine", + "format": "int32", + "type": "integer" + } + } + }, + "v1InstanceCost": { + "description": "Instance cost entity", + "properties": { + "price": { + "description": "Array of cloud instance price", + "items": { + "$ref": "#/definitions/v1InstancePrice" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1InstancePrice": { + "description": "Cloud instance price", + "properties": { + "onDemand": { + "description": "OnDemand price of instance", + "format": "double", + "type": "number" + }, + "os": { + "description": "Os associated with instance price. Allowed values - [linux, windows]", + "enum": [ + "linux", + "windows" + ], + "type": "string" + }, + "spot": { + "description": "Spot price of instance", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "v1InstanceType": { + "description": "Cloud Instance type details", + "properties": { + "category": { + "description": "Category of instance type", + "type": "string", + "x-go-name": "Category" + }, + "cost": { + "$ref": "#/definitions/v1InstanceCost" + }, + "cpu": { + "description": "Cpu of instance type", + "format": "double", + "type": "number", + "x-go-name": "Cpu" + }, + "gpu": { + "description": "Gpu of instance type", + "format": "double", + "type": "number", + "x-go-name": "Gpu" + }, + "memory": { + "description": "Memory of instance type", + "format": "double", + "type": "number", + "x-go-name": "Memory" + }, + "nonSupportedZones": { + "description": "Non supported zones of the instance in a particular region", + "items": { + "type": "string" + }, + "type": "array" + }, + "price": { + "description": "Price of instance type", + "format": "double", + "type": "number", + "x-go-name": "Price" + }, + "supportedArchitectures": { + "description": "Supported architecture of the instance", + "items": { + "type": "string" + }, + "type": "array" + }, + "type": { + "description": "Type of instance type", + "type": "string", + "x-go-name": "Type" + } + }, + "type": "object" + }, + "v1Invoice": { + "description": "Invoice object", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1InvoiceSpec" + }, + "status": { + "$ref": "#/definitions/v1InvoiceStatus" + } + } + }, + "v1InvoiceBillingPeriod": { + "description": "Invoice billing period object", + "properties": { + "end": { + "$ref": "#/definitions/v1Time" + }, + "start": { + "$ref": "#/definitions/v1Time" + } + } + }, + "v1InvoiceCredits": { + "description": "Invoice credits object", + "properties": { + "alloyFreeCredits": { + "description": "Credits allocated for import clusters", + "format": "int64", + "type": "number" + }, + "pureFreeCredits": { + "description": "Credits allocated for managed clusters", + "format": "int64", + "type": "number" + } + } + }, + "v1InvoicePlan": { + "description": "Invoice plan object", + "properties": { + "freeCredits": { + "description": "List of free credits", + "items": { + "$ref": "#/definitions/v1InvoicePlanCredit" + }, + "type": "array" + }, + "plantype": { + "enum": [ + "Trial", + "MonthlyOnDemand", + "AnnualSubscription" + ], + "type": "string" + }, + "slaCredits": { + "description": "List of SLA credits", + "items": { + "$ref": "#/definitions/v1InvoicePlanCredit" + }, + "type": "array" + } + } + }, + "v1InvoicePlanCredit": { + "description": "Invoice plan credit object", + "properties": { + "planCredit": { + "$ref": "#/definitions/v1PlanCredit" + }, + "totalCpuCoreHours": { + "description": "Total used cpu core hours", + "format": "int64", + "type": "number" + } + } + }, + "v1InvoiceProduct": { + "description": "Product invoice object", + "properties": { + "alloy": { + "$ref": "#/definitions/v1InvoiceProductData" + }, + "pure": { + "$ref": "#/definitions/v1InvoiceProductData" + } + } + }, + "v1InvoiceProductData": { + "description": "Product invoice data", + "properties": { + "allocatedCredits": { + "description": "Allocated credits", + "format": "int64", + "type": "number" + }, + "amount": { + "description": "Total amount", + "format": "float64", + "type": "number" + }, + "billableCredits": { + "description": "Credits to be billed", + "format": "float64", + "type": "number" + }, + "breachedCredits": { + "description": "Credits that are exceeds the allocated credits", + "format": "float64", + "type": "number" + }, + "discount": { + "description": "Applied discount", + "format": "int64", + "type": "number" + }, + "freeCredits": { + "description": "Allocated free credits", + "format": "int64", + "type": "number" + }, + "overageLimitPercentage": { + "description": "Allowed overage limit in percentage", + "format": "int8", + "type": "number" + }, + "tierName": { + "description": "Tier name", + "type": "string" + }, + "tierPrice": { + "description": "Tier price", + "format": "float64", + "type": "number" + }, + "totalUsedCredits": { + "description": "Total used credits", + "format": "float64", + "type": "number" + }, + "usedCredits": { + "description": "Used credits", + "format": "float64", + "type": "number" + } + } + }, + "v1InvoiceProject": { + "description": "Invoice project object", + "properties": { + "amount": { + "description": "Billing amount for the project", + "format": "float64", + "type": "number" + }, + "projectName": { + "description": "Name of the project", + "type": "string" + }, + "projectUid": { + "description": "Project identifier", + "type": "string" + }, + "usage": { + "$ref": "#/definitions/v1ProjectUsage", + "description": "Usage by the project" + } + } + }, + "v1InvoiceRetryRequest": { + "description": "Retry invoice request object", + "properties": { + "customerId": { + "description": "Customer invoice uid", + "type": "string" + }, + "invoiceUid": { + "description": "Invoice uid", + "type": "string" + }, + "paymentMethodId": { + "description": "Payment method uid", + "type": "string" + } + } + }, + "v1InvoiceSpec": { + "description": "Invoice specification", + "properties": { + "address": { + "$ref": "#/definitions/v1Address" + }, + "billingPeriod": { + "$ref": "#/definitions/v1InvoiceBillingPeriod" + }, + "credits": { + "$ref": "#/definitions/v1InvoiceCredits" + }, + "envType": { + "description": "Environment type [Trial,MonthlyOnDemand,AnnualSubscription,OnPrem]", + "type": "string" + }, + "month": { + "$ref": "#/definitions/v1Time", + "description": "Month for which invoice is generated" + }, + "paymentUnit": { + "enum": [ + "usd" + ], + "type": "string" + }, + "plan": { + "$ref": "#/definitions/v1InvoicePlan" + } + } + }, + "v1InvoiceState": { + "description": "Invoice state object", + "properties": { + "paymentMsg": { + "description": "Payment status message", + "type": "string" + }, + "state": { + "enum": [ + "Paid", + "PaymentPending", + "PaymentInProgress", + "PaymentFailed" + ], + "type": "string" + }, + "timestamp": { + "$ref": "#/definitions/v1Time", + "description": "Time on which the state has been updated" + } + } + }, + "v1InvoiceStatus": { + "description": "Invoice Status", + "properties": { + "billableAmount": { + "description": "Total billable amount", + "format": "float64", + "type": "number" + }, + "productInvoice": { + "$ref": "#/definitions/v1InvoiceProduct" + }, + "projects": { + "description": "List of project invoices", + "items": { + "$ref": "#/definitions/v1InvoiceProject" + }, + "type": "array" + }, + "states": { + "description": "List of invoice states", + "items": { + "$ref": "#/definitions/v1InvoiceState" + }, + "type": "array", + "uniqueItems": true + }, + "stripeInvoiceId": { + "description": "Stripe invoice uid", + "type": "string" + } + } + }, + "v1Invoices": { + "description": "List of invoices", + "properties": { + "invoices": { + "items": { + "$ref": "#/definitions/v1Invoice" + }, + "type": "array", + "uniqueItems": true + }, + "listmeta": { + "$ref": "#/definitions/v1ListMetaData" + } + }, + "required": [ + "invoices" + ], + "type": "object" + }, + "v1IpPoolEntity": { + "description": "IP Pool entity definition", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "properties": { + "pool": { + "$ref": "#/definitions/v1Pool" + }, + "priavetGatewayUid": { + "type": "string" + }, + "restrictToSingleCluster": { + "description": "if true, restricts this IP pool to be used by single cluster at any time", + "type": "boolean", + "x-omitempty": false + } + }, + "type": "object" + }, + "status": { + "$ref": "#/definitions/v1IpPoolStatus" + } + }, + "type": "object" + }, + "v1IpPoolInputEntity": { + "description": "IP Pool input entity definition", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "properties": { + "pool": { + "$ref": "#/definitions/v1Pool" + }, + "restrictToSingleCluster": { + "description": "if true, restricts this IP pool to be used by single cluster at any time", + "type": "boolean" + } + }, + "required": [ + "pool" + ], + "type": "object" + } + }, + "type": "object" + }, + "v1IpPoolStatus": { + "description": "IP Pool status", + "properties": { + "allottedIps": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "associatedClusters": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "inUse": { + "type": "boolean", + "x-omitempty": false + } + }, + "type": "object" + }, + "v1IpPools": { + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1IpPoolEntity" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1JWKResponse": { + "properties": { + "alg": { + "description": "The \"alg\" (algorithm) parameter identifies the algorithm intended for use with the key", + "type": "string" + }, + "e": { + "type": "string" + }, + "key_ops": { + "description": "The \"key_ops\" (key operations) parameter identifies the operation(s) for which the key is intended to be used", + "type": "string" + }, + "kid": { + "description": "The \"kid\" (key ID) parameter is used to match a specific key", + "type": "string" + }, + "kty": { + "description": "The \"kty\" (key type) parameter identifies the cryptographic algorithm family used with the key, such as \"RSA\" or \"EC\"", + "type": "string" + }, + "n": { + "type": "string" + }, + "use": { + "description": "The \"use\" (public key use) parameter identifies the intended use of the public key", + "type": "string" + } + }, + "type": "object" + }, + "v1JWKSetResponse": { + "properties": { + "keys": { + "description": "The value of the \"keys\" parameter is an array of JWK values", + "items": { + "$ref": "#/definitions/v1JWKResponse" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1JetAuthKey": { + "properties": { + "authKey": { + "type": "string" + } + }, + "type": "object" + }, + "v1JetAuthKeyResponse": { + "properties": { + "authKey": { + "type": "string" + } + }, + "type": "object" + }, + "v1JetServiceLogin": { + "description": "jet service login input", + "properties": { + "authKey": { + "description": "authToken helps in two step verification for the authorization.", + "type": "string" + }, + "edgeHostUid": { + "type": "string" + }, + "hostClusterUid": { + "type": "string" + }, + "isSystem": { + "type": "boolean" + }, + "jetUid": { + "type": "string" + }, + "overlordUid": { + "type": "string" + }, + "serviceVersion": { + "type": "string" + }, + "spectroClusterUid": { + "type": "string" + }, + "tenantUid": { + "type": "string" + } + }, + "type": "object" + }, + "v1KubeBenchEntity": { + "description": "KubeBench response", + "properties": { + "reports": { + "additionalProperties": { + "$ref": "#/definitions/v1KubeBenchReportEntity" + }, + "type": "object" + }, + "requestUid": { + "type": "string" + }, + "status": { + "enum": [ + "Completed", + "InProgress", + "Failed", + "Initiated" + ], + "type": "string" + } + }, + "required": [ + "requestUid", + "status", + "reports" + ] + }, + "v1KubeBenchLog": { + "description": "Compliance Scan KubeBench Log", + "properties": { + "description": { + "type": "string" + }, + "expected": { + "type": "string" + }, + "remediation": { + "type": "string" + }, + "state": { + "type": "string" + }, + "testId": { + "type": "string" + }, + "value": { + "type": "string" + } + } + }, + "v1KubeBenchLogEntity": { + "description": "KubeBench log", + "properties": { + "description": { + "type": "string" + }, + "expected": { + "type": "string" + }, + "remediation": { + "type": "string" + }, + "state": { + "type": "string" + }, + "testId": { + "type": "string" + }, + "value": { + "type": "string" + } + } + }, + "v1KubeBenchReport": { + "description": "Compliance Scan KubeBench Report", + "properties": { + "fail": { + "format": "int32", + "type": "integer" + }, + "info": { + "format": "int32", + "type": "integer" + }, + "logs": { + "items": { + "$ref": "#/definitions/v1KubeBenchLog" + }, + "type": "array" + }, + "name": { + "type": "string" + }, + "pass": { + "format": "int32", + "type": "integer" + }, + "time": { + "$ref": "#/definitions/v1Time" + }, + "type": { + "type": "string" + }, + "warn": { + "format": "int32", + "type": "integer" + } + } + }, + "v1KubeBenchReportEntity": { + "description": "KubeBench report", + "properties": { + "fail": { + "format": "int32", + "type": "integer" + }, + "info": { + "format": "int32", + "type": "integer" + }, + "logs": { + "items": { + "$ref": "#/definitions/v1KubeBenchLogEntity" + }, + "type": "array" + }, + "name": { + "type": "string" + }, + "pass": { + "format": "int32", + "type": "integer" + }, + "time": { + "$ref": "#/definitions/v1Time" + }, + "type": { + "type": "string" + }, + "warn": { + "format": "int32", + "type": "integer" + } + } + }, + "v1KubeHunterEntity": { + "description": "KubeHunter response", + "properties": { + "reports": { + "additionalProperties": { + "$ref": "#/definitions/v1KubeHunterReportEntity" + }, + "type": "object" + }, + "requestUid": { + "type": "string" + }, + "status": { + "enum": [ + "Completed", + "InProgress", + "Failed", + "Initiated" + ], + "type": "string" + } + }, + "required": [ + "requestUid", + "status", + "reports" + ] + }, + "v1KubeHunterLog": { + "description": "Compliance Scan KubeHunter Log", + "properties": { + "description": { + "type": "string" + }, + "evidence": { + "type": "string" + }, + "reference": { + "type": "string" + }, + "severity": { + "type": "string" + }, + "testId": { + "type": "string" + }, + "vulnerability": { + "type": "string" + } + } + }, + "v1KubeHunterLogEntity": { + "description": "KubeHunter log", + "properties": { + "description": { + "type": "string" + }, + "evidence": { + "type": "string" + }, + "reference": { + "type": "string" + }, + "severity": { + "type": "string" + }, + "testId": { + "type": "string" + }, + "vulnerability": { + "type": "string" + } + } + }, + "v1KubeHunterReport": { + "description": "Compliance Scan KubeHunter Report", + "properties": { + "logs": { + "items": { + "$ref": "#/definitions/v1KubeHunterLog" + }, + "type": "array" + }, + "time": { + "$ref": "#/definitions/v1Time" + }, + "vulnerabilites": { + "$ref": "#/definitions/v1KubeHunterVulnerabilities" + } + } + }, + "v1KubeHunterReportEntity": { + "description": "KubeHunter report", + "properties": { + "logs": { + "items": { + "$ref": "#/definitions/v1KubeHunterLogEntity" + }, + "type": "array" + }, + "time": { + "$ref": "#/definitions/v1Time" + }, + "vulnerabilities": { + "$ref": "#/definitions/v1KubeHunterVulnerabilityDataEntity" + } + } + }, + "v1KubeHunterVulnerabilities": { + "description": "Compliance Scan KubeHunter Vulnerabilities", + "properties": { + "high": { + "format": "int32", + "type": "integer" + }, + "low": { + "format": "int32", + "type": "integer" + }, + "medium": { + "format": "int32", + "type": "integer" + } + } + }, + "v1KubeHunterVulnerabilityDataEntity": { + "description": "KubeHunter vulnerability data", + "properties": { + "high": { + "format": "int32", + "type": "integer" + }, + "low": { + "format": "int32", + "type": "integer" + }, + "medium": { + "format": "int32", + "type": "integer" + } + } + }, + "v1KubeMeta": { + "description": "Spectro cluster kube meta", + "properties": { + "hasKubeConfig": { + "type": "boolean", + "x-omitempty": false + }, + "hasKubeConfigClient": { + "type": "boolean", + "x-omitempty": false + }, + "hasManifest": { + "type": "boolean", + "x-omitempty": false + }, + "kubernetesVersion": { + "type": "string" + } + }, + "type": "object" + }, + "v1LibvirtCloudClusterConfigEntity": { + "description": "Libvirt cloud cluster config entity", + "properties": { + "clusterConfig": { + "$ref": "#/definitions/v1LibvirtClusterConfig" + } + }, + "type": "object" + }, + "v1LibvirtCloudConfig": { + "description": "LibvirtCloudConfig is the Schema for the libvirtcloudconfigs API", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1LibvirtCloudConfigSpec" + }, + "status": { + "$ref": "#/definitions/v1LibvirtCloudConfigStatus" + } + }, + "type": "object" + }, + "v1LibvirtCloudConfigSpec": { + "description": "LibvirtCloudConfigSpec defines the desired state of LibvirtCloudConfig", + "properties": { + "clusterConfig": { + "$ref": "#/definitions/v1LibvirtClusterConfig" + }, + "machinePoolConfig": { + "items": { + "$ref": "#/definitions/v1LibvirtMachinePoolConfig" + }, + "type": "array" + } + }, + "required": [ + "clusterConfig", + "machinePoolConfig" + ], + "type": "object" + }, + "v1LibvirtCloudConfigStatus": { + "properties": { + "conditions": { + "items": { + "$ref": "#/definitions/v1ClusterCondition" + }, + "type": "array" + }, + "nodeImages": { + "description": "NodeImages are the list of images generated on all the LibvirtHosts", + "items": { + "$ref": "#/definitions/v1LibvirtImage" + }, + "type": "array" + }, + "sourceImageId": { + "description": "SourceImageId can be from packref's annotations or from pack.json", + "type": "string" + } + }, + "type": "object" + }, + "v1LibvirtClusterConfig": { + "properties": { + "controlPlaneEndpoint": { + "$ref": "#/definitions/v1LibvirtControlPlaneEndPoint", + "description": "ControlPlaneEndpoint is the control plane endpoint, which can be an IP or FQDN" + }, + "ntpServers": { + "description": "NTPServers is a list of NTP servers to use instead of the machine image's default NTP server list", + "items": { + "type": "string" + }, + "type": "array" + }, + "sshKeys": { + "description": "SSHKeys specifies a list of ssh authorized keys to access the vms as a 'spectro' user", + "items": { + "type": "string" + }, + "type": "array" + }, + "staticIp": { + "description": "StaticIP indicates if IP allocation type is static IP. DHCP is the default allocation type", + "type": "boolean" + } + }, + "type": "object" + }, + "v1LibvirtControlPlaneEndPoint": { + "properties": { + "ddnsSearchDomain": { + "description": "DDNSSearchDomain is the search domain used for resolving IP addresses when the EndpointType is DDNS. This search domain is appended to the generated Hostname to obtain the complete DNS name for the endpoint. If Host is already a DDNS FQDN, DDNSSearchDomain is not required", + "type": "string" + }, + "host": { + "description": "Host is FQDN(DDNS) or IP", + "type": "string" + }, + "type": { + "description": "Type indicates DDNS or VIP", + "type": "string" + } + }, + "type": "object" + }, + "v1LibvirtDiskSpec": { + "properties": { + "dataStoragePool": { + "description": "DataStoragePool is the storage pool from which additional disks are assigned", + "type": "string" + }, + "managed": { + "description": "Managed indicates if the disk is a persistent or not. By default its false indicating all disks are ephemeral.", + "type": "boolean" + }, + "sizeInGB": { + "description": "SizeInGB is the target size in GB of the disk to be added", + "format": "int32", + "type": "integer" + } + }, + "required": [ + "sizeInGB" + ], + "type": "object" + }, + "v1LibvirtHostIdentity": { + "properties": { + "caCert": { + "description": "CACert is the client CA certificate", + "type": "string" + }, + "mode": { + "description": "Mode indicates a system or session connection to the host", + "type": "string" + }, + "socketPath": { + "description": "SocketPath is an optional path to the socket on the host, if not using defaults", + "type": "string" + }, + "sshSecret": { + "$ref": "#/definitions/v1EdgeHostSSHSecret", + "description": "SSHSecrets to the secret containing ssh-username" + } + }, + "type": "object" + }, + "v1LibvirtImage": { + "description": "LibvirtImage is the Image generated on the LibvirtHost", + "properties": { + "hostID": { + "description": "HostID is the ID of the LibvirtHost", + "type": "string" + }, + "imageName": { + "description": "ImageName is the name of the Libvirt image", + "type": "string" + }, + "storagePool": { + "description": "StoragePool is the name of the storagePool where is image is located", + "type": "string" + } + }, + "type": "object" + }, + "v1LibvirtInstanceType": { + "description": "LibvirtInstanceType defines the instance configuration for a virtual machine", + "properties": { + "cpuPassthroughSpec": { + "$ref": "#/definitions/v1CPUPassthroughSpec", + "description": "Defines CPU Passthrough Spec. A not null value enables CPU Passthrough for the libvirt domain. Further cache passthrough can be enabled with the CPU passthrough spec." + }, + "cpuset": { + "description": "CPUSet defines cpuset for an instance which allows allocation specific set of cpus E.g cpuset=\"1-4,^3,6\" See https://libvirt.org/formatdomain.html#cpu-allocation", + "type": "string" + }, + "gpuConfig": { + "$ref": "#/definitions/v1GPUConfig", + "description": "GPU configuration" + }, + "memoryInMB": { + "description": "MemoryinMB is the memory in megabytes", + "format": "int32", + "type": "integer" + }, + "numCPUs": { + "description": "NumCPUs is the number of CPUs", + "format": "int32", + "type": "integer" + } + }, + "required": [ + "numCPUs", + "memoryInMB" + ], + "type": "object" + }, + "v1LibvirtMachine": { + "description": "Libvirt cloud VM definition", + "properties": { + "apiVersion": { + "type": "string" + }, + "kind": { + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1LibvirtMachineSpec" + }, + "status": { + "$ref": "#/definitions/v1CloudMachineStatus" + } + } + }, + "v1LibvirtMachinePoolCloudConfigEntity": { + "properties": { + "instanceType": { + "$ref": "#/definitions/v1LibvirtInstanceType" + }, + "nonRootDisksInGB": { + "description": "NonRootDisksInGB is the list of additional disks, if required, in GB", + "items": { + "$ref": "#/definitions/v1LibvirtDiskSpec" + }, + "type": "array" + }, + "placements": { + "description": "Placements configuration Placements If defined, will replace default values defined in VsphereClusterConfig Array means one MachinePool can span across multiple vsphere compute cluster", + "items": { + "$ref": "#/definitions/v1LibvirtPlacementEntity" + }, + "type": "array", + "uniqueItems": true + }, + "rootDiskInGB": { + "description": "RootDiskInGB is the size of a vm's root disk, in GiB", + "format": "int32", + "type": "integer" + }, + "xslTemplate": { + "description": "XSLTemplate defines a base64-encoded raw xsl template which will be included in the machine definition", + "type": "string" + } + }, + "required": [ + "instanceType", + "placements", + "rootDiskInGB" + ] + }, + "v1LibvirtMachinePoolConfig": { + "properties": { + "additionalLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "additionalLabels", + "type": "object" + }, + "additionalTags": { + "additionalProperties": { + "type": "string" + }, + "description": "AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole", + "type": "object" + }, + "instanceType": { + "$ref": "#/definitions/v1LibvirtInstanceType", + "description": "InstanceType defines the instance configuration of the vms in the machine pool" + }, + "isControlPlane": { + "description": "whether this pool is for control plane", + "type": "boolean" + }, + "labels": { + "description": "labels for this pool, example: control-plane/worker, gpu, windows", + "items": { + "type": "string" + }, + "type": "array" + }, + "machinePoolProperties": { + "$ref": "#/definitions/v1MachinePoolProperties" + }, + "maxSize": { + "description": "max size of the pool, for scaling", + "format": "int32", + "type": "integer" + }, + "minSize": { + "description": "min size of the pool, for scaling", + "format": "int32", + "type": "integer" + }, + "name": { + "type": "string" + }, + "nodeRepaveInterval": { + "description": "Minimum number of seconds a node should be Ready, before the next node is selected for repave. Applicable only for workerpools in infrastructure cluster", + "format": "int32", + "type": "integer" + }, + "nonRootDisksInGB": { + "description": "NonRootDisksInGB is the list of additional disks, if required, in GB", + "items": { + "$ref": "#/definitions/v1LibvirtDiskSpec" + }, + "type": "array" + }, + "placements": { + "description": "Placements defines the configurations of the failureDomains(hosts) for the machine pool", + "items": { + "$ref": "#/definitions/v1LibvirtPlacementConfig" + }, + "type": "array" + }, + "rootDiskInGB": { + "description": "RootDiskInGB is the size of a vm's root disk, in GB", + "format": "int32", + "type": "integer" + }, + "size": { + "description": "size of the pool, number of machines", + "format": "int32", + "type": "integer" + }, + "taints": { + "description": "control plane or worker taints", + "items": { + "$ref": "#/definitions/v1Taint" + }, + "type": "array", + "uniqueItems": true + }, + "updateStrategy": { + "$ref": "#/definitions/v1UpdateStrategy", + "description": "rolling update strategy for this machinepool if not specified, will use ScaleOut" + }, + "useControlPlaneAsWorker": { + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", + "type": "boolean" + }, + "xslTemplate": { + "description": "XSLTemplate defines a base64-encoded raw xsl template which will be included in the machine definition", + "type": "string" + } + }, + "required": [ + "instanceType", + "placements", + "rootDiskInGB" + ], + "type": "object" + }, + "v1LibvirtMachinePoolConfigEntity": { + "properties": { + "cloudConfig": { + "$ref": "#/definitions/v1LibvirtMachinePoolCloudConfigEntity" + }, + "poolConfig": { + "$ref": "#/definitions/v1MachinePoolConfigEntity" + } + }, + "type": "object" + }, + "v1LibvirtMachineSpec": { + "description": "libvirt cloud VM definition spec", + "properties": { + "disks": { + "items": { + "$ref": "#/definitions/v1LibvirtDiskSpec" + }, + "type": "array" + }, + "edgeHostUid": { + "type": "string" + }, + "failureDomain": { + "type": "string" + }, + "imageName": { + "type": "string" + }, + "instanceType": { + "$ref": "#/definitions/v1LibvirtInstanceType" + }, + "nics": { + "items": { + "$ref": "#/definitions/v1LibvirtNicSpec" + }, + "type": "array" + }, + "targetStoragePool": { + "type": "string" + } + }, + "type": "object" + }, + "v1LibvirtMachines": { + "description": "Libvirt machine list", + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1LibvirtMachine" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1LibvirtNetworkSpec": { + "description": "LibvirtNetworkSpec defines the network configuration for a virtual machine", + "properties": { + "networkName": { + "description": "NetworkName of the libvirt network where this machine will be connected", + "type": "string" + }, + "networkType": { + "description": "NetworkType specifies the type of network", + "enum": [ + "default", + "bridge" + ], + "type": "string" + } + }, + "required": [ + "networkName", + "networkType" + ], + "type": "object" + }, + "v1LibvirtNicSpec": { + "description": "Libvirt network interface", + "properties": { + "index": { + "format": "int8", + "type": "integer" + }, + "macAddress": { + "type": "string" + }, + "privateIPs": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "macAddress" + ], + "type": "object" + }, + "v1LibvirtPlacementConfig": { + "properties": { + "dataStoragePool": { + "description": "DataStoragePool is the storage pool from which additional disks are assigned", + "type": "string" + }, + "gpuDevices": { + "description": "GPU Devices is the list of LibvirtHost GPU devices, to be used for this placement", + "items": { + "$ref": "#/definitions/v1GPUDeviceSpec" + }, + "type": "array" + }, + "hostAddress": { + "description": "HostAddress is a FQDN or IP address of the LibvirtHost", + "type": "string" + }, + "hostIdentity": { + "$ref": "#/definitions/v1LibvirtHostIdentity", + "description": "HostIdentity is the identity to access the LibvirtHost" + }, + "hostUid": { + "description": "HostUid is the ID of the LibvirtHost", + "type": "string" + }, + "networks": { + "description": "Networks defines the network specifications of the vms in the machine pool", + "items": { + "$ref": "#/definitions/v1LibvirtNetworkSpec" + }, + "type": "array" + }, + "sourceStoragePool": { + "description": "SourceStoragePool is the storage pool for the vm image", + "type": "string" + }, + "targetStoragePool": { + "description": "TargetStoragePool is the optional storage pool from which additional disks are assigned. If not specified, the sourceStoragePool is also used as the targetStoragePool", + "type": "string" + } + }, + "required": [ + "hostUid", + "hostAddress", + "networks", + "sourceStoragePool" + ], + "type": "object" + }, + "v1LibvirtPlacementEntity": { + "description": "Libvirt placement config", + "properties": { + "dataStoragePool": { + "type": "string" + }, + "gpuDevices": { + "description": "GPUDevices defines an array of gpu device for a specific edge host. This will be overridden by edge host GPU devices if configured during registration.", + "items": { + "$ref": "#/definitions/v1GPUDeviceSpec" + }, + "type": "array" + }, + "hostUid": { + "type": "string" + }, + "networks": { + "items": { + "$ref": "#/definitions/v1LibvirtNetworkSpec" + }, + "type": "array" + }, + "sourceStoragePool": { + "type": "string" + }, + "targetStoragePool": { + "type": "string" + } + }, + "required": [ + "hostUid" + ], + "type": "object" + }, + "v1LifecycleConfig": { + "properties": { + "pause": { + "default": false, + "description": "enable pause life cycle config", + "type": "boolean", + "x-omitempty": false + } + } + }, + "v1LifecycleConfigEntity": { + "properties": { + "lifecycleConfig": { + "$ref": "#/definitions/v1LifecycleConfig" + } + }, + "type": "object" + }, + "v1LifecycleStatus": { + "properties": { + "msg": { + "description": "error or success msg of lifecycle", + "type": "string" + }, + "status": { + "description": "lifecycle status", + "enum": [ + "Pausing", + "Paused", + "Resuming", + "Running", + "Error" + ], + "type": "string" + } + } + }, + "v1ListMetaData": { + "description": "ListMeta describes metadata for the resource listing", + "properties": { + "continue": { + "description": "Next token for the pagination. Next token is equal to empty string indicates end of result set.", + "type": "string", + "x-omitempty": false + }, + "count": { + "description": "Total count of the resources which might change during pagination based on the resources addition or deletion", + "type": "integer", + "x-omitempty": false + }, + "limit": { + "description": "Number of records feteched", + "type": "integer", + "x-omitempty": false + }, + "offset": { + "description": "The next offset for the pagination. Starting index for which next request will be placed.", + "type": "integer", + "x-omitempty": false + } + }, + "type": "object" + }, + "v1LoadBalancerConfig": { + "description": "Load balancer configuration for exposing the virtual cluster's kube-apiserver", + "properties": { + "externalIPs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "externalTrafficPolicy": { + "type": "string" + }, + "loadBalancerSourceRanges": { + "items": { + "type": "string" + }, + "type": "array" + } + } + }, + "v1LoadBalancerService": { + "properties": { + "host": { + "description": "IP or Host from svc.Status.LoadBalancerStatus.Ingress", + "type": "string" + }, + "name": { + "description": "name of the loadbalancer service", + "type": "string" + }, + "ports": { + "description": "port this service exposed", + "items": { + "$ref": "#/definitions/v1ServicePort" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1LoadBalancerSpec": { + "description": "LoadBalancerSpec defines an Azure load balancer.", + "properties": { + "apiServerLBStaticIP": { + "type": "string" + }, + "ipAllocationMethod": { + "default": "Dynamic", + "enum": [ + "Static", + "Dynamic" + ], + "type": "string" + }, + "privateDNSName": { + "type": "string" + }, + "type": { + "default": "Public", + "description": "Load Balancer type", + "enum": [ + "Internal", + "Public" + ], + "type": "string" + } + }, + "type": "object" + }, + "v1LocationType": { + "default": "s3", + "description": "Location type", + "enum": [ + "s3", + "gcp", + "minio" + ], + "type": "string" + }, + "v1Lock": { + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta", + "type": "object", + "x-omitempty": false + }, + "spec": { + "properties": { + "expireAt": { + "$ref": "#/definitions/v1Time", + "x-omitempty": false + }, + "key": { + "type": "string", + "x-omitempty": false + } + }, + "type": "object" + } + }, + "type": "object" + }, + "v1Locks": { + "items": { + "$ref": "#/definitions/v1Lock" + }, + "type": "array", + "uniqueItems": true + }, + "v1Login": { + "description": "Login input", + "properties": { + "emailId": { + "type": "string" + } + }, + "type": "object" + }, + "v1LoginBannerSettings": { + "properties": { + "Message": { + "description": "Login banner message displayed to the user", + "type": "string", + "x-omitempty": false + }, + "isEnabled": { + "description": "Set to 'true' if login banner has to be displayed for user", + "type": "boolean", + "x-omitempty": false + }, + "title": { + "description": "Banner title displayed to the user", + "type": "string", + "x-omitempty": false + } + } + }, + "v1LoginResponse": { + "description": "Returns the allowed login method and information with the organization details", + "properties": { + "appEnv": { + "description": "Describes the env type. Possible values [ saas, self-hosted, quick-start, enterprise, airgap]", + "type": "string" + }, + "authType": { + "description": "Describes the default mode of authentication. Possible values [password, sso]", + "enum": [ + "password", + "sso" + ], + "type": "string" + }, + "orgName": { + "description": "Organization name.", + "type": "string" + }, + "redirectUrl": { + "description": "Describes the default redirect Url for authentication. If authType is sso, it will have tenant configured saml/oidc idp url else it will be users organization url", + "type": "string", + "x-omitempty": false + }, + "rootDomain": { + "description": "Describes the domain url on which the saas is available", + "type": "string" + }, + "securityMode": { + "description": "Describes which security mode is enabled", + "type": "string" + }, + "ssoLogins": { + "$ref": "#/definitions/v1SsoLogins", + "description": "Just Inside. Describes the allowed social logins" + }, + "totalTenants": { + "description": "Describes the total number of tenant present in the system", + "format": "int64", + "type": "number" + } + }, + "type": "object" + }, + "v1LogoutResponse": { + "description": "Logout response specifying the redirect url", + "properties": { + "redirectUrl": { + "type": "string", + "x-omitempty": false + } + }, + "type": "object" + }, + "v1MaasAccount": { + "description": "Maas cloud account information", + "properties": { + "apiVersion": { + "type": "string" + }, + "kind": { + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1MaasCloudAccount" + }, + "status": { + "$ref": "#/definitions/v1CloudAccountStatus" + } + }, + "type": "object" + }, + "v1MaasAccounts": { + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1MaasAccount" + }, + "type": "array", + "uniqueItems": true + }, + "listmeta": { + "$ref": "#/definitions/v1ListMetaData" + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1MaasCloudAccount": { + "properties": { + "apiEndpoint": { + "type": "string" + }, + "apiKey": { + "type": "string" + }, + "preferredSubnets": { + "description": "list of preferred subnets order in the list reflects order in which subnets will be selected for ip address selection in apiserver dns endpoint this way user can specify external or preferable subnet \"10.11.130.0/24,10.10.10.0/24\"", + "items": { + "default": "", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "apiKey", + "apiEndpoint" + ], + "type": "object" + }, + "v1MaasCloudClusterConfigEntity": { + "description": "Maas cloud cluster config entity", + "properties": { + "clusterConfig": { + "$ref": "#/definitions/v1MaasClusterConfig" + } + }, + "type": "object" + }, + "v1MaasCloudConfig": { + "description": "MaasCloudConfig is the Schema for the maascloudconfigs API", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1MaasCloudConfigSpec" + }, + "status": { + "$ref": "#/definitions/v1MaasCloudConfigStatus" + } + }, + "type": "object" + }, + "v1MaasCloudConfigSpec": { + "description": "MaasCloudConfigSpec defines the cloud configuration input by user This will translate to clusterspec/machinespec for cluster-api", + "properties": { + "cloudAccountRef": { + "$ref": "#/definitions/v1ObjectReference", + "description": "cloudAccountRef should point to the secret which contains MaasCloudAccount" + }, + "clusterConfig": { + "$ref": "#/definitions/v1MaasClusterConfig" + }, + "machinePoolConfig": { + "items": { + "$ref": "#/definitions/v1MaasMachinePoolConfig" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1MaasCloudConfigStatus": { + "description": "MaasCloudConfigStatus defines the observed state of MaasCloudConfig The cloudimage info built by Mold is stored here image should be mapped to a specific machinepool", + "properties": { + "ansibleRoleDigest": { + "description": "For mold controller to identify if is there any changes in Pack", + "type": "string" + }, + "conditions": { + "items": { + "$ref": "#/definitions/v1ClusterCondition" + }, + "type": "array" + }, + "isAddonLayer": { + "description": "addon layers present in spc", + "type": "boolean" + }, + "nodeImage": { + "$ref": "#/definitions/v1MaasImage" + }, + "roleDigest": { + "additionalProperties": { + "type": "string" + }, + "description": "this map will be for ansible roles present in eack pack", + "type": "object" + }, + "sourceImageId": { + "description": "sourceImageId, it can be from packref's annotations or from pack.json", + "type": "string" + }, + "useCapiImage": { + "description": "PackerVariableDigest string `json:\"packerDigest,omitempty\"` If no ansible roles found in Packs then Mold should tell Drive to use capi image and not create custom image, because there is nothing to add", + "type": "boolean" + } + }, + "type": "object" + }, + "v1MaasClusterConfig": { + "description": "Cluster level configuration for MAAS cloud and applicable for all the machine pools", + "properties": { + "domain": { + "description": "Domain name of the cluster to be provisioned", + "type": "string" + }, + "sshKeys": { + "description": "SSH keys specifies a list of ssh authorized keys for the 'spectro' user", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "domain" + ], + "type": "object" + }, + "v1MaasDomain": { + "description": "Maas domain", + "properties": { + "name": { + "description": "Name of Maas domain", + "type": "string" + } + }, + "type": "object" + }, + "v1MaasDomains": { + "description": "List of Maas domains", + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1MaasDomain" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1MaasImage": { + "description": "Name of the image", + "properties": { + "name": { + "description": "full path of the image template location it contains datacenter/folder/templatename etc eg: /mydc/vm/template/spectro/workerpool-1-centos", + "type": "string" + }, + "state": { + "type": "string" + } + }, + "type": "object" + }, + "v1MaasInstanceType": { + "properties": { + "minCPU": { + "description": "Minimum CPU cores", + "format": "int32", + "type": "integer" + }, + "minMemInMB": { + "description": "Minimum memory in MiB", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "v1MaasMachine": { + "description": "Maas cloud VM definition", + "properties": { + "apiVersion": { + "type": "string" + }, + "kind": { + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1MaasMachineSpec" + }, + "status": { + "$ref": "#/definitions/v1CloudMachineStatus" + } + }, + "type": "object" + }, + "v1MaasMachineConfigEntity": { + "properties": { + "azs": { + "description": "for control plane pool, this will be the failure domains for kcp", + "items": { + "type": "string" + }, + "type": "array" + }, + "instanceType": { + "$ref": "#/definitions/v1MaasInstanceType" + }, + "resourcePool": { + "type": "string" + } + }, + "type": "object" + }, + "v1MaasMachinePoolCloudConfigEntity": { + "properties": { + "azs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "instanceType": { + "$ref": "#/definitions/v1MaasInstanceType" + }, + "resourcePool": { + "description": "the resource pool", + "type": "string" + }, + "tags": { + "description": "Tags in maas environment", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "instanceType", + "resourcePool" + ], + "type": "object" + }, + "v1MaasMachinePoolConfig": { + "properties": { + "additionalLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "additionalLabels", + "type": "object" + }, + "additionalTags": { + "additionalProperties": { + "type": "string" + }, + "description": "AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole", + "type": "object" + }, + "azs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "instanceType": { + "$ref": "#/definitions/v1MaasInstanceType", + "description": "InstanceType defines the required CPU, Memory" + }, + "isControlPlane": { + "description": "whether this pool is for control plane", + "type": "boolean" + }, + "labels": { + "description": "labels for this pool, example: control-plane/worker, gpu, windows", + "items": { + "type": "string" + }, + "type": "array" + }, + "machinePoolProperties": { + "$ref": "#/definitions/v1MachinePoolProperties" + }, + "maxSize": { + "description": "max size of the pool, for scaling", + "format": "int32", + "type": "integer" + }, + "minSize": { + "description": "min size of the pool, for scaling", + "format": "int32", + "type": "integer" + }, + "name": { + "type": "string" + }, + "nodeRepaveInterval": { + "description": "Minimum number of seconds a node should be Ready, before the next node is selected for repave. Applicable only for workerpools in infrastructure cluster", + "format": "int32", + "type": "integer" + }, + "resourcePool": { + "type": "string" + }, + "size": { + "description": "size of the pool, number of machines", + "format": "int32", + "type": "integer" + }, + "tags": { + "description": "Tags in maas environment", + "items": { + "type": "string" + }, + "type": "array" + }, + "taints": { + "description": "control plane or worker taints", + "items": { + "$ref": "#/definitions/v1Taint" + }, + "type": "array", + "uniqueItems": true + }, + "updateStrategy": { + "$ref": "#/definitions/v1UpdateStrategy", + "description": "rolling update strategy for this machinepool if not specified, will use ScaleOut" + }, + "useControlPlaneAsWorker": { + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", + "type": "boolean" + } + }, + "required": [ + "instanceType" + ], + "type": "object" + }, + "v1MaasMachinePoolConfigEntity": { + "properties": { + "cloudConfig": { + "$ref": "#/definitions/v1MaasMachinePoolCloudConfigEntity" + }, + "poolConfig": { + "$ref": "#/definitions/v1MachinePoolConfigEntity" + } + }, + "required": [ + "cloudConfig" + ], + "type": "object" + }, + "v1MaasMachineSpec": { + "description": "Maas cloud VM definition spec", + "properties": { + "az": { + "type": "string" + }, + "hostname": { + "type": "string" + }, + "nics": { + "items": { + "$ref": "#/definitions/v1MaasNic" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1MaasMachines": { + "description": "List of MAAS machines", + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1MaasMachine" + }, + "type": "array", + "uniqueItems": true + }, + "listmeta": { + "$ref": "#/definitions/v1ListMetaData" + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1MaasNic": { + "description": "Maas network interface", + "properties": { + "index": { + "format": "int8", + "type": "integer" + }, + "privateIPs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "publicIp": { + "type": "string" + } + }, + "type": "object" + }, + "v1MaasPool": { + "description": "Maas pool", + "properties": { + "description": { + "description": "Description of Maas domain", + "type": "string" + }, + "name": { + "description": "Name of Maas pool", + "type": "string" + } + }, + "type": "object" + }, + "v1MaasPools": { + "description": "List of Maas pools", + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1MaasPool" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1MaasSubnet": { + "description": "Maas subnet", + "properties": { + "id": { + "description": "Id of Maas subnet", + "type": "integer" + }, + "name": { + "description": "Name of Maas subnet", + "type": "string" + }, + "space": { + "description": "Space associated with Maas subnet", + "type": "string" + }, + "vlans": { + "$ref": "#/definitions/v1MaasVlan" + } + }, + "type": "object" + }, + "v1MaasSubnets": { + "description": "List of Maas subnets", + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1MaasSubnet" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1MaasTag": { + "description": "Maas tag", + "properties": { + "comment": { + "description": "Comment on Maas tag", + "type": "string" + }, + "definition": { + "description": "Definition of Maas tag", + "type": "string" + }, + "kernelOpts": { + "description": "Kernel Opts on Maas tag", + "type": "string" + }, + "name": { + "description": "Name of Maas tag", + "type": "string" + }, + "resourceUri": { + "description": "Description of Maas tag", + "type": "string" + } + }, + "type": "object" + }, + "v1MaasTags": { + "description": "List of Maas tags", + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1MaasTag" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1MaasVlan": { + "description": "Maas vlan entity", + "properties": { + "fabric": { + "description": "Fabric associated with Maas Vlan", + "type": "string" + }, + "id": { + "description": "Id of Maas Vlan", + "type": "integer" + }, + "name": { + "description": "Name of Maas Vlan", + "type": "string" + } + }, + "type": "object" + }, + "v1MaasZone": { + "description": "Maas zone", + "properties": { + "description": { + "description": "Description of Maas domain", + "type": "string" + }, + "name": { + "description": "Name of Maas zone", + "type": "string" + } + }, + "type": "object" + }, + "v1MaasZones": { + "description": "List of Maas zones", + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1MaasZone" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1MachineCertificate": { + "description": "K8 Certificates for control plane nodes", + "properties": { + "certificateAuthorities": { + "description": "Applicable certificate authorities", + "items": { + "$ref": "#/definitions/v1CertificateAuthority" + }, + "type": "array" + }, + "name": { + "type": "string" + } + }, + "type": "object" + }, + "v1MachineCertificates": { + "description": "K8 Certificates for all the cluster's control plane nodes", + "properties": { + "machineCertificates": { + "items": { + "$ref": "#/definitions/v1MachineCertificate" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1MachineHealth": { + "description": "Machine health state", + "properties": { + "conditions": { + "items": { + "$ref": "#/definitions/v1MachineHealthCondition" + }, + "type": "array" + }, + "lastHeartBeatTimestamp": { + "$ref": "#/definitions/v1Time" + }, + "state": { + "type": "string" + } + }, + "type": "object" + }, + "v1MachineHealthCheckConfig": { + "properties": { + "healthCheckMaxUnhealthy": { + "description": "HealthCheckMaxUnhealthy is the value above which, if current nodes are unhealthy remediation will not be triggered Can be an absolute int64 number or a percentage string Default value is 100%, i.e by default it is disabled", + "type": "string" + }, + "networkReadyHealthCheckDuration": { + "description": "NetworkReadyHealthCheckDuration is the timeout to check for the network availability. If the network is not available in the given available time, beyond the timeout check a node will be killed and a new node will be created. Default time is 10m", + "type": "string" + }, + "nodeReadyHealthCheckDuration": { + "description": "NodeReadyHealthCheckDuration is the timeout to check for the node ready state. If the node is not ready within the time out set, the node will be deleted and a new node will be launched. Default time is 10m", + "type": "string" + } + }, + "type": "object" + }, + "v1MachineHealthCondition": { + "description": "Machine health condition", + "properties": { + "message": { + "type": "string" + }, + "reason": { + "type": "string" + }, + "status": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "type": "object" + }, + "v1MachineMaintenance": { + "properties": { + "action": { + "description": "Machine maintenance mode action", + "enum": [ + "cordon", + "uncordon" + ], + "type": "string" + } + }, + "type": "object" + }, + "v1MachineMaintenanceStatus": { + "description": "Machine maintenance status", + "properties": { + "action": { + "type": "string" + }, + "message": { + "type": "string" + }, + "state": { + "type": "string" + } + }, + "type": "object" + }, + "v1MachineManagementConfig": { + "properties": { + "osPatchConfig": { + "$ref": "#/definitions/v1OsPatchConfig", + "description": "OS patch config contains properties to patch node os with latest security packages. \nIf OsPatchConfig is not provided then node os will not be patched with latest security updates.\nNote: For edge based cluster (like edge-native type) the osPatchConfig is NOT applicable, the values will be ignored.\n" + } + }, + "type": "object" + }, + "v1MachinePoolConfigEntity": { + "description": "Machine pool configuration for the cluster", + "properties": { + "additionalLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "Additional labels to be part of the machine pool", + "type": "object" + }, + "additionalTags": { + "additionalProperties": { + "type": "string" + }, + "description": "AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole", + "type": "object" + }, + "isControlPlane": { + "description": "Whether this pool is for control plane", + "type": "boolean", + "x-omitempty": false + }, + "labels": { + "description": "Labels for this machine pool, example: control-plane/worker, gpu, windows", + "items": { + "type": "string" + }, + "type": "array" + }, + "machinePoolProperties": { + "$ref": "#/definitions/v1MachinePoolProperties" + }, + "maxSize": { + "description": "Max size of the pool, for scaling", + "format": "int32", + "type": "integer" + }, + "minSize": { + "description": "Min size of the pool, for scaling", + "format": "int32", + "type": "integer" + }, + "name": { + "type": "string" + }, + "nodeRepaveInterval": { + "description": "Minimum number of seconds a node should be Ready, before the next node is selected for repave. Applicable only for workerpools in infrastructure cluster", + "format": "int32", + "type": "integer" + }, + "size": { + "description": "Size of the pool, number of nodes/machines", + "format": "int32", + "type": "integer" + }, + "taints": { + "description": "control plane or worker taints", + "items": { + "$ref": "#/definitions/v1Taint" + }, + "type": "array", + "uniqueItems": true + }, + "updateStrategy": { + "$ref": "#/definitions/v1UpdateStrategy", + "description": "Rolling update strategy for this machine pool if not specified, will use ScaleOut" + }, + "useControlPlaneAsWorker": { + "description": "If IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", + "type": "boolean", + "x-omitempty": false + } + }, + "required": [ + "name", + "size", + "labels" + ], + "type": "object" + }, + "v1MachinePoolMeta": { + "properties": { + "cloudType": { + "type": "string" + }, + "healthy": { + "description": "number of healthy machines", + "format": "int32", + "type": "integer", + "x-omitempty": false + }, + "infraProfileTemplate": { + "$ref": "#/definitions/v1ClusterProfileTemplateMeta", + "description": "InfraClusterProfile contains OS/Kernel for this NodePool" + }, + "isControlPlane": { + "description": "whether this pool is for control plane", + "type": "boolean", + "x-omitempty": false + }, + "labels": { + "description": "labels for this pool, example: control-plane/worker, gpu, windows", + "items": { + "type": "string" + }, + "type": "array" + }, + "maintenanceMode": { + "description": "number of machines under maintenance", + "format": "int32", + "type": "integer", + "x-omitempty": false + }, + "size": { + "description": "size of the pool, number of machines", + "format": "int32", + "type": "integer", + "x-omitempty": false + } + }, + "type": "object" + }, + "v1MachinePoolProperties": { + "description": "Machine pool specific properties", + "properties": { + "archType": { + "$ref": "#/definitions/v1ArchType", + "description": "Architecture type of the pool. Default value is 'amd64'", + "x-omitempty": false + } + }, + "type": "object" + }, + "v1MachinePoolRate": { + "description": "Machine pool estimated rate information", + "properties": { + "name": { + "type": "string" + }, + "nodesCount": { + "format": "int32", + "type": "integer" + }, + "rate": { + "$ref": "#/definitions/v1CloudRate" + } + }, + "type": "object" + }, + "v1MachinePoolsMachineUids": { + "properties": { + "machinePools": { + "additionalProperties": { + "$ref": "#/definitions/v1MachineUids" + }, + "type": "object" + } + } + }, + "v1MachineUids": { + "properties": { + "machineUids": { + "items": { + "type": "string" + }, + "type": "array" + } + } + }, + "v1Macro": { + "properties": { + "name": { + "type": "string" + }, + "value": { + "type": "string" + } + } + }, + "v1Macros": { + "properties": { + "macros": { + "items": { + "$ref": "#/definitions/v1Macro" + }, + "type": "array", + "uniqueItems": true + } + } + }, + "v1ManagedDisk": { + "properties": { + "storageAccountType": { + "type": "string" + } + }, + "type": "object" + }, + "v1Manifest": { + "description": "Manifest object", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1ManifestPublishedSpec" + } + } + }, + "v1ManifestData": { + "description": "Published manifest object", + "properties": { + "content": { + "description": "Manifest content in yaml", + "type": "string" + }, + "digest": { + "description": "Manifest digest", + "type": "string" + } + }, + "type": "object" + }, + "v1ManifestEntities": { + "properties": { + "items": { + "description": "Manifests array", + "items": { + "$ref": "#/definitions/v1ManifestEntity" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1ManifestEntity": { + "description": "Manifest object", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1ManifestSpec" + } + } + }, + "v1ManifestInputEntity": { + "description": "Manifest request payload", + "properties": { + "content": { + "description": "Manifest content", + "type": "string" + }, + "name": { + "description": "Manifest name", + "type": "string" + } + } + }, + "v1ManifestPublishedSpec": { + "description": "Manifest spec", + "properties": { + "published": { + "$ref": "#/definitions/v1ManifestData" + } + } + }, + "v1ManifestRefInputEntities": { + "description": "Pack manifests input params", + "properties": { + "manifests": { + "description": "Pack manifests array", + "items": { + "$ref": "#/definitions/v1ManifestRefInputEntity" + }, + "type": "array", + "uniqueItems": true + } + } + }, + "v1ManifestRefInputEntity": { + "description": "Manifest request payload", + "properties": { + "content": { + "description": "Manifest content in yaml", + "type": "string" + }, + "uid": { + "description": "Manifest uid", + "type": "string" + } + } + }, + "v1ManifestRefUpdateEntity": { + "description": "Manifest update request payload", + "properties": { + "content": { + "description": "Manifest content in yaml", + "type": "string" + }, + "name": { + "description": "Manifest name", + "type": "string" + }, + "uid": { + "description": "Manifest uid", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + "v1ManifestSpec": { + "description": "Manifest spec", + "properties": { + "draft": { + "$ref": "#/definitions/v1ManifestData" + }, + "published": { + "$ref": "#/definitions/v1ManifestData" + } + }, + "type": "object" + }, + "v1ManifestSummary": { + "description": "Manifest object", + "properties": { + "content": { + "description": "Manifest content in yaml", + "type": "string" + }, + "name": { + "description": "Manifest name", + "type": "string" + }, + "uid": { + "description": "Manifest uid", + "type": "string" + } + } + }, + "v1Memory": { + "properties": { + "sizeInMB": { + "description": "memory size in bytes", + "format": "int64", + "type": "integer" + } + }, + "type": "object" + }, + "v1MetricAggregation": { + "description": "Aggregation values", + "properties": { + "avg": { + "type": "number", + "x-omitempty": false + }, + "count": { + "format": "int64", + "type": "number", + "x-omitempty": false + }, + "max": { + "type": "number", + "x-omitempty": false + }, + "min": { + "type": "number", + "x-omitempty": false + }, + "sum": { + "type": "number", + "x-omitempty": false + } + }, + "type": "object" + }, + "v1MetricMetadata": { + "properties": { + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + }, + "type": "object" + }, + "v1MetricPoint": { + "description": "Metric Info", + "properties": { + "avg": { + "type": "number" + }, + "count": { + "format": "int64", + "type": "number" + }, + "max": { + "type": "number" + }, + "min": { + "type": "number" + }, + "sum": { + "type": "number" + }, + "timestamp": { + "format": "int64", + "type": "number" + }, + "value": { + "type": "number", + "x-omitempty": false + } + }, + "type": "object" + }, + "v1MetricTimeSeries": { + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1Metrics" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1MetricTimeSeriesList": { + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1MetricsList" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1Metrics": { + "properties": { + "aggregation": { + "$ref": "#/definitions/v1MetricAggregation" + }, + "kind": { + "type": "string" + }, + "points": { + "items": { + "$ref": "#/definitions/v1MetricPoint" + }, + "type": "array", + "uniqueItems": true + }, + "unit": { + "type": "string" + } + }, + "type": "object" + }, + "v1MetricsList": { + "properties": { + "metadata": { + "$ref": "#/definitions/v1MetricMetadata" + }, + "metrics": { + "items": { + "$ref": "#/definitions/v1Metrics" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "v1MfaAuthenticationExtensions": { + "additionalProperties": { + "type": "object" + }, + "type": "object" + }, + "v1MfaAuthenticatorSelection": { + "properties": { + "authenticatorAttachment": { + "type": "string" + }, + "requireResidentKey": { + "type": "boolean" + }, + "residentKey": { + "type": "string" + }, + "userVerification": { + "type": "string" + } + }, + "type": "object" + }, + "v1MfaConveyancePreference": { + "enum": [ + "none", + "indirect", + "direct", + "enterprise" + ], + "type": "string" + }, + "v1MfaCredentialCreationRequest": { + "properties": { + "_type": { + "type": "string" + }, + "authenticatorAttachment": { + "type": "string" + }, + "clientExtensionResults": { + "additionalProperties": { + "type": "object" + }, + "type": "object" + }, + "deviceName": { + "type": "string" + }, + "id": { + "type": "string" + }, + "rawId": { + "$ref": "#/definitions/URLEncodedBase64" + }, + "response": { + "properties": { + "attestationObject": { + "$ref": "#/definitions/URLEncodedBase64" + }, + "clientDataJSON": { + "$ref": "#/definitions/URLEncodedBase64" + }, + "transports": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "transports": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1MfaCredentialDescriptor": { + "properties": { + "attestationType": { + "type": "string" + }, + "id": { + "$ref": "#/definitions/urlEncodedBase64" + }, + "transports": { + "items": { + "type": "string" + }, + "type": "array" + }, + "type": { + "type": "string" + } + }, + "type": "object" + }, + "v1MfaCredentialParameter": { + "properties": { + "alg": { + "type": "integer" + }, + "type": { + "type": "string" + } + }, + "type": "object" + }, + "v1MfaDeviceMeta": { + "properties": { + "creationTimestamp": { + "$ref": "#/definitions/v1Time" + }, + "deviceName": { + "type": "string" + } + }, + "type": "object" + }, + "v1MfaDeviceName": { + "properties": { + "deviceName": { + "type": "string" + } + }, + "type": "object" + }, + "v1MfaDevices": { + "items": { + "$ref": "#/definitions/v1MfaDeviceMeta" + }, + "type": "array" + }, + "v1MfaLoginStart": { + "properties": { + "publicKey": { + "$ref": "#/definitions/v1MfaPublicKeyCredentialRequestOptions" + } + }, + "type": "object" + }, + "v1MfaPublicKeyCredentialCreationOptions": { + "properties": { + "attestation": { + "$ref": "#/definitions/v1MfaConveyancePreference" + }, + "authenticatorSelection": { + "$ref": "#/definitions/v1MfaAuthenticatorSelection" + }, + "challenge": { + "$ref": "#/definitions/URLEncodedBase64" + }, + "excludeCredentials": { + "items": { + "$ref": "#/definitions/v1MfaCredentialDescriptor" + }, + "type": "array" + }, + "extensions": { + "$ref": "#/definitions/v1MfaAuthenticationExtensions" + }, + "pubKeyCredParams": { + "items": { + "$ref": "#/definitions/v1MfaCredentialParameter" + }, + "type": "array" + }, + "rp": { + "$ref": "#/definitions/v1MfaRelyingPartyEntity" + }, + "timeout": { + "type": "integer" + }, + "user": { + "$ref": "#/definitions/v1MfaUserEntity" + } + }, + "type": "object" + }, + "v1MfaPublicKeyCredentialRequestOptions": { + "properties": { + "allowCredentials": { + "items": { + "$ref": "#/definitions/v1MfaCredentialDescriptor" + }, + "type": "array" + }, + "challenge": { + "$ref": "#/definitions/urlEncodedBase64" + }, + "extensions": { + "$ref": "#/definitions/v1MfaAuthenticationExtensions" + }, + "rpId": { + "type": "string" + }, + "timeout": { + "type": "integer" + }, + "userVerification": { + "type": "string" + } + }, + "type": "object" + }, + "v1MfaRegistrationStart": { + "properties": { + "publicKey": { + "$ref": "#/definitions/v1MfaPublicKeyCredentialCreationOptions" + } + }, + "type": "object" + }, + "v1MfaRelyingPartyEntity": { + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "type": "object" + }, + "v1MfaUserEntity": { + "properties": { + "displayName": { + "type": "string" + }, + "id": { + "type": "object" + }, + "name": { + "type": "string" + } + }, + "type": "object" + }, + "v1MgmtApp": { + "description": "Spectro application management data", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1MgmtAppSpec" + }, + "status": { + "$ref": "#/definitions/v1MgmtAppStatus" + } + }, + "type": "object" + }, + "v1MgmtAppContainersState": { + "properties": { + "running": { + "properties": { + "startedAt": { + "$ref": "#/definitions/v1Time" + } + }, + "type": "object" + }, + "terminated": { + "properties": { + "exitCode": { + "type": "integer" + }, + "finishedAt": { + "$ref": "#/definitions/v1Time" + }, + "reason": { + "type": "string" + }, + "signal": { + "type": "integer" + }, + "startedAt": { + "$ref": "#/definitions/v1Time" + } + }, + "type": "object" + }, + "waiting": { + "properties": { + "reason": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "v1MgmtAppContainersStatus": { + "properties": { + "isHealthy": { + "type": "boolean", + "x-omitempty": false + }, + "message": { + "type": "string" + }, + "name": { + "type": "string" + }, + "numberOfRestarts": { + "type": "integer" + }, + "state": { + "$ref": "#/definitions/v1MgmtAppContainersState" + } + }, + "type": "object" + }, + "v1MgmtAppCronJobStatus": { + "properties": { + "isHealthy": { + "type": "boolean", + "x-omitempty": false + }, + "lastScheduleTime": { + "$ref": "#/definitions/v1Time" + }, + "lastSuccessfulRunTime": { + "$ref": "#/definitions/v1Time" + }, + "messages": { + "items": { + "type": "string" + }, + "type": "array" + }, + "name": { + "type": "string" + }, + "pods": { + "additionalProperties": { + "$ref": "#/definitions/v1MgmtAppPodsStatus" + }, + "type": "object" + } + }, + "type": "object" + }, + "v1MgmtAppEnvHealthStatus": { + "properties": { + "isHealthy": { + "type": "boolean", + "x-omitempty": false + }, + "messages": { + "items": { + "type": "string" + }, + "type": "array" + }, + "namespaces": { + "additionalProperties": { + "$ref": "#/definitions/v1MgmtAppNameSpaceStatus" + }, + "type": "object" + } + }, + "type": "object" + }, + "v1MgmtAppHealth": { + "properties": { + "isHealthy": { + "type": "boolean" + }, + "podHealth": { + "items": { + "$ref": "#/definitions/v1MgmtPodHealth" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1MgmtAppNameSpaceStatus": { + "properties": { + "cronJobs": { + "additionalProperties": { + "$ref": "#/definitions/v1MgmtAppCronJobStatus" + }, + "type": "object" + }, + "deployments": { + "additionalProperties": { + "$ref": "#/definitions/v1MgmtAppObjectStatus" + }, + "type": "object" + }, + "isHealthy": { + "type": "boolean", + "x-omitempty": false + }, + "messages": { + "items": { + "type": "string" + }, + "type": "array" + }, + "statefulSets": { + "additionalProperties": { + "$ref": "#/definitions/v1MgmtAppObjectStatus" + }, + "type": "object" + } + }, + "type": "object" + }, + "v1MgmtAppObjectStatus": { + "properties": { + "availableReplicas": { + "type": "integer" + }, + "creationTime": { + "$ref": "#/definitions/v1Time" + }, + "desiredReplicaCount": { + "type": "integer" + }, + "isHealthy": { + "type": "boolean", + "x-omitempty": false + }, + "messages": { + "items": { + "type": "string" + }, + "type": "array" + }, + "name": { + "type": "string" + }, + "pods": { + "additionalProperties": { + "$ref": "#/definitions/v1MgmtAppPodsStatus" + }, + "type": "object" + } + }, + "type": "object" + }, + "v1MgmtAppPodsStatus": { + "properties": { + "containers": { + "additionalProperties": { + "$ref": "#/definitions/v1MgmtAppContainersStatus" + }, + "type": "object" + }, + "isHealthy": { + "type": "boolean", + "x-omitempty": false + }, + "messages": { + "items": { + "type": "string" + }, + "type": "array" + }, + "name": { + "type": "string" + }, + "phase": { + "type": "string" + }, + "pvcs": { + "additionalProperties": { + "$ref": "#/definitions/v1MgmtAppPvcStatus" + }, + "type": "object" + }, + "reason": { + "type": "string" + }, + "startTime": { + "$ref": "#/definitions/v1Time" + } + }, + "type": "object" + }, + "v1MgmtAppPvcStatus": { + "properties": { + "claimName": { + "type": "string" + }, + "creationTime": { + "$ref": "#/definitions/v1Time" + }, + "isHealthy": { + "type": "boolean", + "x-omitempty": false + }, + "message": { + "type": "string" + }, + "name": { + "type": "string" + }, + "state": { + "type": "string" + } + }, + "type": "object" + }, + "v1MgmtAppSpec": { + "description": "spectro application management specifications", + "properties": { + "appEnv": { + "type": "string" + }, + "cloudType": { + "type": "string" + }, + "installedVersion": { + "type": "string" + }, + "latestVersion": { + "type": "string" + }, + "spectroClusterUid": { + "type": "string" + } + } + }, + "v1MgmtAppStatus": { + "description": "spectro application management status", + "properties": { + "appVersions": { + "items": { + "$ref": "#/definitions/v1AppVersion" + }, + "type": "array", + "uniqueItems": true + }, + "isFailed": { + "type": "boolean", + "x-omitempty": false + }, + "message": { + "type": "string" + }, + "messageLogs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "state": { + "type": "string" + }, + "upgradeHistory": { + "items": { + "$ref": "#/definitions/v1SpectroMgmtUpgrade" + }, + "type": "array", + "uniqueItems": true + } + } + }, + "v1MgmtAppUpgrade": { + "properties": { + "spec": { + "properties": { + "currentVersion": { + "type": "string", + "x-omitempty": false + }, + "previousVersion": { + "type": "string", + "x-omitempty": false + }, + "toBeUpgradedVersion": { + "type": "string", + "x-omitempty": false + } + }, + "type": "object" + }, + "status": { + "properties": { + "action": { + "type": "string", + "x-omitempty": false + }, + "states": { + "properties": { + "imageUpdate": { + "$ref": "#/definitions/v1MgmtUpgradeState", + "x-omitempty": false, + "x-order": 1 + }, + "spectroClusterUpdate": { + "$ref": "#/definitions/v1MgmtUpgradeState", + "x-omitempty": false, + "x-order": 0 + }, + "spectroServiceResume": { + "$ref": "#/definitions/v1MgmtUpgradeState", + "x-omitempty": false, + "x-order": 4 + }, + "spectroVersionConfigMapUpdate": { + "$ref": "#/definitions/v1MgmtUpgradeState", + "x-omitempty": false, + "x-order": 3 + }, + "spectroVersionServiceSuspend": { + "$ref": "#/definitions/v1MgmtUpgradeState", + "x-omitempty": false, + "x-order": 2 + } + }, + "type": "object" + }, + "upgradeStatus": { + "type": "string", + "x-omitempty": false + }, + "versionHistory": { + "items": { + "type": "string" + }, + "type": "array", + "x-omitempty": false + } + }, + "type": "object" + } + }, + "type": "object" + }, + "v1MgmtAppVersion": { + "description": "spectro application management version", + "properties": { + "version": { + "properties": { + "appEnv": { + "type": "string" + }, + "cloudType": { + "type": "string" + }, + "installedVersion": { + "type": "string" + }, + "latestVersion": { + "type": "string" + } + }, + "type": "object" + } + } + }, + "v1MgmtBackupSpec": { + "description": "backup spec", + "properties": { + "backupUid": { + "type": "string" + }, + "mode": { + "type": "string" + }, + "modeUid": { + "type": "string" + }, + "proxy": { + "description": "proxy information if applicable", + "type": "string" + }, + "scheduleTime": { + "$ref": "#/definitions/v1Time" + }, + "scheduleType": { + "default": "Automated", + "enum": [ + "OnDemand", + "Automated" + ], + "type": "string" + } + }, + "type": "object" + }, + "v1MgmtDbCollectionIndexInfo": { + "description": "Database info", + "properties": { + "key": { + "additionalProperties": { + "type": "integer" + } + }, + "name": { + "type": "string" + }, + "size": { + "type": "integer" + }, + "version": { + "type": "string" + } + }, + "type": "object" + }, + "v1MgmtDbCollectionInfo": { + "description": "Database info", + "properties": { + "count": { + "type": "integer" + }, + "indexes": { + "items": { + "$ref": "#/definitions/v1MgmtDbCollectionIndexInfo" + }, + "type": "array" + }, + "isCapped": { + "type": "boolean" + }, + "isReadOnly": { + "type": "boolean" + }, + "name": { + "type": "string" + }, + "size": { + "type": "integer" + }, + "storageSize": { + "type": "integer" + }, + "totalIndexSize": { + "type": "integer" + } + }, + "type": "object" + }, + "v1MgmtDbHealth": { + "properties": { + "databases": { + "items": { + "$ref": "#/definitions/v1MgmtDbInfo" + }, + "type": "array" + }, + "totalIndexSize": { + "type": "integer" + }, + "totalSize": { + "type": "integer" + } + }, + "type": "object" + }, + "v1MgmtDbInfo": { + "description": "Database info", + "properties": { + "collections": { + "items": { + "$ref": "#/definitions/v1MgmtDbCollectionInfo" + }, + "type": "array" + }, + "isEmpty": { + "type": "boolean" + }, + "name": { + "type": "string" + }, + "size": { + "type": "integer" + }, + "totalIndexSize": { + "type": "integer" + } + }, + "type": "object" + }, + "v1MgmtDeleteBackupFtpEntity": { + "description": "delete backups based on retention period", + "properties": { + "fileTransferConfig": { + "$ref": "#/definitions/v1MgmtFileTransferFtpEntity" + }, + "retentionPeriod": { + "type": "integer" + } + }, + "type": "object" + }, + "v1MgmtDeleteBackupS3Entity": { + "description": "delete backups based on retention period", + "properties": { + "fileTransferConfig": { + "$ref": "#/definitions/v1MgmtFileTransferS3Entity" + }, + "retentionPeriod": { + "type": "integer" + } + }, + "type": "object" + }, + "v1MgmtErrLog": { + "properties": { + "ref": { + "type": "string" + }, + "spec": { + "$ref": "#/definitions/v1MgmtErrSpec" + } + }, + "type": "object" + }, + "v1MgmtErrLogs": { + "items": { + "$ref": "#/definitions/v1MgmtErrLog" + }, + "type": "array", + "uniqueItems": true + }, + "v1MgmtErrSpec": { + "properties": { + "causes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "data": { + "type": "string" + }, + "debug": { + "additionalProperties": { + "type": "object" + }, + "type": "object" + }, + "errCode": { + "type": "string" + }, + "errMsg": { + "type": "string" + }, + "stackTraces": { + "items": { + "type": "string" + }, + "type": "array" + }, + "userCtx": { + "properties": { + "projectUid": { + "type": "string" + }, + "serviceResUid": { + "type": "string" + }, + "tenantUid": { + "type": "string" + }, + "userUid": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "v1MgmtFileTransferFtpEntity": { + "description": "file transfer details", + "properties": { + "backupSpec": { + "$ref": "#/definitions/v1MgmtBackupSpec" + }, + "ftp": { + "$ref": "#/definitions/v1MgmtFtpConfig" + } + }, + "type": "object" + }, + "v1MgmtFileTransferS3Entity": { + "description": "file transfer details", + "properties": { + "backupSpec": { + "$ref": "#/definitions/v1MgmtBackupSpec" + }, + "s3": { + "$ref": "#/definitions/v1MgmtS3Config" + } + }, + "type": "object" + }, + "v1MgmtFtpConfig": { + "description": "ftp config", + "properties": { + "directory": { + "type": "string" + }, + "password": { + "type": "string" + }, + "server": { + "type": "string" + }, + "username": { + "type": "string" + } + }, + "type": "object" + }, + "v1MgmtHash": { + "properties": { + "hash": { + "type": "string" + } + }, + "required": [ + "hash" + ], + "type": "object" + }, + "v1MgmtListBackupFtpEntity": { + "description": "list ftp backups", + "properties": { + "fileTransferConfig": { + "$ref": "#/definitions/v1MgmtFileTransferFtpEntity" + } + }, + "type": "object" + }, + "v1MgmtListBackupS3Entity": { + "description": "list s3 backups", + "properties": { + "fileTransferConfig": { + "$ref": "#/definitions/v1MgmtFileTransferS3Entity" + } + }, + "type": "object" + }, + "v1MgmtMigrateEntity": { + "description": "SystemAdmin", + "properties": { + "db": { + "type": "string" + }, + "host": { + "type": "string" + }, + "isServiceRecord": { + "type": "boolean" + }, + "password": { + "type": "string" + }, + "port": { + "type": "integer" + }, + "uri": { + "type": "string" + }, + "username": { + "type": "string" + } + }, + "type": "object" + }, + "v1MgmtMigrationStatuses": { + "description": "SystemAdmin", + "properties": { + "finishTime": { + "$ref": "#/definitions/v1Time" + }, + "folderName": { + "type": "string" + }, + "isCompleted": { + "type": "boolean" + }, + "message": { + "items": { + "type": "string" + }, + "type": "array" + }, + "startTime": { + "$ref": "#/definitions/v1Time" + }, + "state": { + "type": "string", + "x-omitempty": false + }, + "status": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "v1MgmtMsgBrokerReinitStatus": { + "properties": { + "failures": { + "items": { + "$ref": "#/definitions/v1MgmtMsgBrokerReinitStatusEntity" + }, + "type": "array" + }, + "success": { + "items": { + "$ref": "#/definitions/v1MgmtMsgBrokerReinitStatusEntity" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1MgmtMsgBrokerReinitStatusEntity": { + "properties": { + "account": { + "type": "string" + }, + "isSuccess": { + "type": "boolean" + }, + "message": { + "type": "string" + } + }, + "type": "object" + }, + "v1MgmtPodHealth": { + "description": "SystemAdmin", + "properties": { + "isHealthy": { + "type": "boolean" + }, + "name": { + "type": "string" + } + }, + "type": "object" + }, + "v1MgmtS3Config": { + "description": "s3 config", + "properties": { + "accessKey": { + "type": "string" + }, + "bucket": { + "type": "string" + }, + "directory": { + "type": "string" + }, + "region": { + "type": "string" + }, + "secretKey": { + "type": "string" + } + }, + "type": "object" + }, + "v1MgmtUpgradeState": { + "properties": { + "description": { + "type": "string", + "x-omitempty": false + }, + "details": { + "items": { + "type": "string" + }, + "type": "array", + "x-omitempty": false + }, + "endTimestamp": { + "$ref": "#/definitions/v1Time", + "x-omitempty": false + }, + "isCompleted": { + "type": "boolean", + "x-omitempty": false + }, + "message": { + "type": "string", + "x-omitempty": false + }, + "startTimestamp": { + "$ref": "#/definitions/v1Time", + "x-omitempty": false + } + }, + "type": "object" + }, + "v1MonthlyUsage": { + "description": "Monthly usage object", + "properties": { + "month": { + "$ref": "#/definitions/v1Time", + "description": "Month of usage" + }, + "tenantUsages": { + "description": "List of tenants usage", + "items": { + "$ref": "#/definitions/v1TenantUsage" + }, + "type": "array", + "uniqueItems": true + }, + "usedAlloyCredits": { + "description": "Credits used by imported clusters", + "format": "float64", + "type": "number" + }, + "usedPureCredits": { + "description": "Credits used by managed clusters", + "format": "float64", + "type": "number" + } + } + }, + "v1MsgBrokerConnection": { + "properties": { + "account": { + "type": "string" + }, + "accountUid": { + "type": "string" + }, + "cid": { + "type": "integer" + }, + "cluster": { + "properties": { + "addr": { + "type": "string" + }, + "authTimeout": { + "type": "integer" + }, + "clusterPort": { + "type": "integer" + }, + "urls": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "cpu": { + "type": "number" + }, + "duplicationCount": { + "type": "integer" + }, + "iP": { + "type": "string" + }, + "idle": { + "type": "string" + }, + "inBytes": { + "type": "integer" + }, + "inMsgs": { + "type": "integer" + }, + "lang": { + "type": "string" + }, + "lastActivity": { + "$ref": "#/definitions/v1Time" + }, + "name": { + "type": "string" + }, + "outBytes": { + "type": "integer" + }, + "outMsgs": { + "type": "integer" + }, + "pendingBytes": { + "type": "integer" + }, + "port": { + "type": "integer" + }, + "rtt": { + "type": "string" + }, + "start": { + "$ref": "#/definitions/v1Time" + }, + "subscriptionList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "subscriptions": { + "type": "integer" + }, + "tLSCipherSuite": { + "type": "string" + }, + "tLSVersion": { + "type": "string" + }, + "uptime": { + "type": "string" + }, + "version": { + "type": "string" + } + }, + "type": "object" + }, + "v1MsgBrokerConnectionList": { + "items": { + "$ref": "#/definitions/v1MsgBrokerConnection" + }, + "type": "array" + }, + "v1MsgBrokerConnections": { + "properties": { + "connections": { + "items": { + "$ref": "#/definitions/v1MsgBrokerConnection" + }, + "type": "array", + "uniqueItems": true + }, + "limit": { + "type": "integer" + }, + "now": { + "$ref": "#/definitions/v1Time" + }, + "numOfConnections": { + "type": "integer" + }, + "offset": { + "type": "integer" + }, + "serverId": { + "type": "string" + }, + "totalConnections": { + "type": "integer" + } + }, + "type": "object" + }, + "v1MsgBrokerHealth": { + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta", + "type": "object" + }, + "spec": { + "$ref": "#/definitions/v1MsgBrokerNodesHealthSpec", + "type": "object" + }, + "status": { + "$ref": "#/definitions/v1MsgBrokerNodesHealthStatus", + "type": "object" + } + }, + "type": "object" + }, + "v1MsgBrokerNodeHealth": { + "properties": { + "allyPublishersByTenant": { + "additionalProperties": { + "$ref": "#/definitions/v1MsgBrokerConnectionList" + }, + "type": "object" + }, + "duplicateSubscribersCount": { + "additionalProperties": { + "type": "integer" + }, + "type": "object" + }, + "hubbleSubscribersByService": { + "additionalProperties": { + "$ref": "#/definitions/v1MsgBrokerConnectionList" + }, + "type": "object" + }, + "hubbleSubscribersByTenant": { + "additionalProperties": { + "$ref": "#/definitions/v1MsgBrokerConnectionList" + }, + "type": "object" + }, + "hubbleSubscribersByType": { + "additionalProperties": { + "$ref": "#/definitions/v1MsgBrokerConnectionList" + }, + "type": "object" + }, + "nodeId": { + "type": "string" + }, + "subscriberWithAbnormalRTT": { + "$ref": "#/definitions/v1MsgBrokerConnectionList" + }, + "subscribersWithAbnormalSubscriptions": { + "$ref": "#/definitions/v1MsgBrokerConnectionList" + }, + "uniqueSubscribers": { + "type": "integer" + }, + "unrecognizedClients": { + "$ref": "#/definitions/v1MsgBrokerConnectionList" + } + }, + "type": "object" + }, + "v1MsgBrokerNodeHealthSpec": { + "properties": { + "connections": { + "$ref": "#/definitions/v1MsgBrokerConnections", + "type": "object" + }, + "nodeId": { + "type": "string" + }, + "routes": { + "$ref": "#/definitions/v1MsgBrokerRoutes", + "type": "object" + }, + "variables": { + "$ref": "#/definitions/v1MsgBrokerVariables", + "type": "object" + } + }, + "type": "object" + }, + "v1MsgBrokerNodesHealthSpec": { + "properties": { + "nodes": { + "items": { + "$ref": "#/definitions/v1MsgBrokerNodeHealthSpec" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1MsgBrokerNodesHealthStatus": { + "properties": { + "nodes": { + "items": { + "$ref": "#/definitions/v1MsgBrokerNodeHealth" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1MsgBrokerRoutes": { + "properties": { + "numRoutes": { + "type": "integer" + }, + "routes": { + "items": { + "$ref": "#/definitions/v1NatsRoute" + }, + "type": "array" + }, + "serverId": { + "type": "string" + } + }, + "type": "object" + }, + "v1MsgBrokerVariables": { + "properties": { + "authRequired": { + "type": "boolean" + }, + "authTimeout": { + "type": "integer" + }, + "cluster": { + "properties": { + "addr": { + "type": "string" + }, + "authTimeout": { + "type": "integer" + }, + "clusterPort": { + "type": "integer" + }, + "urls": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "configLoadTime": { + "$ref": "#/definitions/v1Time" + }, + "connectUrls": { + "items": { + "type": "string" + }, + "type": "array" + }, + "connections": { + "type": "integer" + }, + "cores": { + "type": "integer" + }, + "cpu": { + "type": "number" + }, + "gitCommit": { + "type": "string" + }, + "go": { + "type": "string" + }, + "gomaxprocs": { + "type": "integer" + }, + "host": { + "type": "string" + }, + "httpHost": { + "type": "string" + }, + "httpPort": { + "type": "integer" + }, + "inBytes": { + "type": "integer" + }, + "inMsgs": { + "type": "integer" + }, + "leafNodes": { + "type": "integer" + }, + "maxConnections": { + "type": "integer" + }, + "maxControlLine": { + "type": "integer" + }, + "maxPayload": { + "type": "integer" + }, + "maxPending": { + "type": "integer" + }, + "mem": { + "type": "integer" + }, + "now": { + "$ref": "#/definitions/v1Time" + }, + "outBytes": { + "type": "integer" + }, + "outMsgs": { + "type": "integer" + }, + "pingInterval": { + "type": "integer" + }, + "pingMax": { + "type": "integer" + }, + "port": { + "type": "integer" + }, + "proto": { + "type": "integer" + }, + "remotes": { + "type": "integer" + }, + "routes": { + "type": "integer" + }, + "serverId": { + "type": "string" + }, + "serverName": { + "type": "string" + }, + "slowConsumers": { + "type": "integer" + }, + "start": { + "$ref": "#/definitions/v1Time" + }, + "subscriptions": { + "type": "integer" + }, + "tlsRequired": { + "type": "boolean" + }, + "tlsTimeout": { + "type": "integer" + }, + "totalConnections": { + "type": "integer" + }, + "uptime": { + "type": "string" + }, + "version": { + "type": "string" + }, + "writeDeadline": { + "type": "integer" + } + }, + "type": "object" + }, + "v1MsgSubscriber": { + "description": "Message subscriber request", + "properties": { + "accountId": { + "type": "string" + }, + "publisher": { + "type": "string" + }, + "service": { + "type": "string" + }, + "userId": { + "type": "string" + } + }, + "type": "object" + }, + "v1Nameserver": { + "description": "Nameserver define search domains and nameserver addresses", + "properties": { + "addresses": { + "items": { + "type": "string" + }, + "type": "array" + }, + "search": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1NatsConfiguration": { + "description": "Describes the response that contains the nats configuration to establish credentials", + "properties": { + "connectionString": { + "description": "Describes the preCalculated connection string, can be used directly to make connection", + "type": "string" + }, + "enableTls": { + "description": "Describes the NATs application option to use a TLS based custom dialer. Its enabled when external Certificate is used over the existing one.", + "type": "boolean" + }, + "insecureTls": { + "description": "Describes the NATs tls option to skip verifying the client certificate", + "type": "boolean" + }, + "password": { + "description": "Describes the NATs user's password", + "type": "string" + }, + "scheme": { + "description": "Describes the NATs protocol for the connection. Eg- 'tls', 'nats'", + "type": "string" + }, + "tlsCertificate": { + "description": "Describes the NATs tls certificate used for making a secure connection", + "type": "string" + }, + "tlsKey": { + "description": "Describes the NATs tls certificate key used for making a secure connection", + "type": "string" + }, + "urls": { + "description": "Describes the URLs of the nats nodes used in nats HA setup where the client will connect", + "type": "string" + }, + "userName": { + "description": "Describes the NATs user name", + "type": "string" + } + }, + "type": "object" + }, + "v1NatsCredentialRequest": { + "description": "Describes the request for resource's nats credential", + "properties": { + "clusterUid": { + "description": "Deprecated. please use resourceUid", + "type": "string" + }, + "isSystem": { + "description": "Describes if its a system request", + "type": "boolean" + }, + "resourceUid": { + "description": "Describes the resource for which credentials has to be fetched", + "type": "string" + }, + "serviceName": { + "description": "Describes the service for which credentials has to be fetched. Possible values [ally, jet]", + "enum": [ + "ally", + "jet" + ], + "type": "string" + }, + "tenantUid": { + "description": "Describes the tenant of the resource", + "type": "string" + } + }, + "type": "object" + }, + "v1NatsCredentials": { + "description": "Describes the response that contains the nats credentials", + "properties": { + "allowedPublisher": { + "description": "Describes the subject on which client is allowed to publish", + "type": "string" + }, + "allowedSubcriber": { + "description": "Describes the subject on which client is allowed to subscribe", + "type": "string" + }, + "jwt": { + "description": "Describes the jwt token which will be used as an credential for the nats", + "type": "string" + }, + "seed": { + "description": "Describes the seed for the jwt", + "type": "string" + } + }, + "type": "object" + }, + "v1NatsRoute": { + "properties": { + "didSolicit": { + "type": "boolean" + }, + "inBytes": { + "type": "integer" + }, + "inMsgs": { + "type": "integer" + }, + "isConfigured": { + "type": "boolean" + }, + "outBytes": { + "type": "integer" + }, + "outMsgs": { + "type": "integer" + }, + "pendingSize": { + "type": "integer" + }, + "port": { + "type": "integer" + }, + "remoteId": { + "type": "string" + }, + "rid": { + "type": "integer" + }, + "rtt": { + "type": "string" + }, + "subscriptions": { + "type": "integer" + } + }, + "type": "object" + }, + "v1NestedCloudConfigStatus": { + "description": "Defines the status of virtual cloud config", + "properties": { + "conditions": { + "items": { + "$ref": "#/definitions/v1ClusterCondition" + }, + "type": "array", + "x-kubernetes-patch-merge-key": "type", + "x-kubernetes-patch-strategy": "merge" + }, + "isAddonLayer": { + "description": "addon layers present in spc", + "type": "boolean" + } + }, + "type": "object" + }, + "v1Nic": { + "properties": { + "dns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "gateway": { + "type": "string" + }, + "ip": { + "type": "string" + }, + "isDefault": { + "type": "boolean" + }, + "macAddr": { + "type": "string" + }, + "nicName": { + "type": "string" + }, + "subnet": { + "type": "string" + } + }, + "type": "object" + }, + "v1NodesAutoRemediationSettings": { + "properties": { + "disableNodesAutoRemediation": { + "type": "boolean", + "x-omitempty": false + }, + "isEnabled": { + "type": "boolean", + "x-omitempty": false + } + } + }, + "v1NonFipsConfig": { + "description": "Non-FIPS configuration", + "properties": { + "mode": { + "default": "nonFipsDisabled", + "description": "enable or disable the non FIPS complaint", + "enum": [ + "nonFipsEnabled", + "nonFipsDisabled" + ], + "type": "string" + } + } + }, + "v1Notification": { + "description": "Describes event notification and action definition", + "properties": { + "action": { + "$ref": "#/definitions/v1NotificationAction", + "description": "Describes actions for the notification", + "type": "object" + }, + "metadata": { + "$ref": "#/definitions/v1ObjectMeta", + "type": "object" + }, + "relatedObject": { + "$ref": "#/definitions/v1RelatedObject", + "type": "object" + }, + "source": { + "$ref": "#/definitions/v1NotificationSource", + "description": "Describes origin info for the notification", + "type": "object" + }, + "type": { + "description": "Describes type of notification. Possible values [NotificationPackUpdate, NotificationPackRegistryUpdate, NotificationNone]", + "enum": [ + "NotificationPackUpdate", + "NotificationPackRegistryUpdate", + "NotificationNone" + ], + "type": "string" + } + }, + "type": "object" + }, + "v1NotificationAction": { + "description": "Describes actions for the notification", + "properties": { + "ack": { + "description": "Describes the acknowledgement status for the notification", + "type": "boolean", + "x-omitempty": false + }, + "actionMessage": { + "description": "Describes information related to notification action", + "type": "string" + }, + "actionType": { + "description": "Describes action type for the notification. Possible Values [NotifyActionPacksUpdate, NotifyActionClusterProfileUpdate, NotifyActionPackRegistryUpdate, NotifyActionClusterUpdate, NotifyActionNone]", + "enum": [ + "NotifyActionPacksUpdate", + "NotifyActionClusterProfileUpdate", + "NotifyActionPackRegistryUpdate", + "NotifyActionClusterUpdate", + "NotifyActionNone" + ], + "type": "string" + }, + "events": { + "additionalProperties": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "description": "Describes the events happened for the notifications", + "type": "object" + }, + "isDone": { + "description": "Describes the \"Done\" status for the notification", + "type": "boolean", + "x-omitempty": false + }, + "isInfo": { + "description": "Describes the notification as a information", + "type": "boolean", + "x-omitempty": false + }, + "link": { + "type": "string" + } + }, + "type": "object" + }, + "v1NotificationEvent": { + "description": "Describes notification event details", + "properties": { + "component": { + "description": "Describes component of notification event", + "type": "string" + }, + "digest": { + "description": "Describes notification event digest", + "type": "string" + }, + "message": { + "description": "Describes a information for the notification event", + "type": "string" + }, + "meta": { + "additionalProperties": { + "type": "string" + }, + "description": "Describes a event messages with meta digest as the key", + "type": "object" + }, + "type": { + "description": "Describes notification event type", + "enum": [ + "NotificationPackSync", + "NotificationClusterProfileSync" + ], + "type": "string" + } + }, + "type": "object" + }, + "v1NotificationSource": { + "description": "Describes origin info for the notification", + "properties": { + "component": { + "description": "Describes component where notification originated", + "type": "string" + } + }, + "type": "object" + }, + "v1Notifications": { + "description": "Describe a list of generated notifications", + "properties": { + "items": { + "description": "Describe a list of generated notifications", + "items": { + "$ref": "#/definitions/v1Notification" + }, + "type": "array", + "uniqueItems": true + }, + "listmeta": { + "$ref": "#/definitions/v1ListMetaData", + "description": "Describes the meta information about the notification lists" + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1OS": { + "properties": { + "family": { + "type": "string" + }, + "version": { + "type": "string" + } + }, + "type": "object" + }, + "v1ObjectEntity": { + "description": "Object identity meta", + "properties": { + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + }, + "type": "object" + }, + "v1ObjectMeta": { + "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", + "properties": { + "annotations": { + "additionalProperties": { + "type": "string" + }, + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", + "type": "object" + }, + "creationTimestamp": { + "$ref": "#/definitions/v1Time", + "description": "CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.\n\nPopulated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata" + }, + "deletionTimestamp": { + "$ref": "#/definitions/v1Time", + "description": "DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.\n\nPopulated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", + "type": "object" + }, + "lastModifiedTimestamp": { + "$ref": "#/definitions/v1Time", + "description": "LastModifiedTimestamp is a timestamp representing the server time when this object was last modified. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.\n\nPopulated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata" + }, + "name": { + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + }, + "uid": { + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", + "type": "string" + } + }, + "type": "object" + }, + "v1ObjectMetaInputEntity": { + "description": "ObjectMeta input entity for object creation", + "properties": { + "annotations": { + "additionalProperties": { + "type": "string" + }, + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", + "type": "object" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", + "type": "object" + }, + "name": { + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + } + }, + "type": "object" + }, + "v1ObjectMetaInputEntitySchema": { + "description": "Resource metadata", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMetaInputEntity" + } + }, + "required": [ + "metadata" + ], + "type": "object" + }, + "v1ObjectMetaUpdateEntity": { + "description": "ObjectMeta update entity with uid as input", + "properties": { + "annotations": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + }, + "type": "object" + }, + "v1ObjectReference": { + "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", + "properties": { + "kind": { + "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "uid": { + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", + "type": "string" + } + }, + "type": "object" + }, + "v1ObjectResReference": { + "description": "Object resource reference", + "properties": { + "kind": { + "type": "string" + }, + "name": { + "type": "string" + }, + "projectUid": { + "type": "string" + }, + "tenantUid": { + "type": "string" + }, + "uid": { + "type": "string" + } + }, + "type": "object" + }, + "v1ObjectScopeEntity": { + "description": "Object scope identity meta", + "properties": { + "name": { + "type": "string" + }, + "scope": { + "type": "string" + }, + "uid": { + "type": "string" + } + }, + "type": "object" + }, + "v1ObjectTagsEntity": { + "description": "Object identity meta with tags", + "properties": { + "labels": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + }, + "type": "object" + }, + "v1OciImageRegistry": { + "description": "Oci Image Registry", + "properties": { + "baseContentPath": { + "description": "baseContentPath is the root path for the registry content", + "type": "string" + }, + "caCert": { + "type": "string" + }, + "endpoint": { + "type": "string" + }, + "insecureSkipVerify": { + "type": "boolean" + }, + "mirrorRegistries": { + "description": "mirrorRegistries contains the array of image sources like gcr.io, ghcr.io, docker.io", + "type": "string" + }, + "name": { + "type": "string" + }, + "password": { + "type": "string" + }, + "username": { + "type": "string" + } + }, + "type": "object" + }, + "v1OciRegistries": { + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1OciRegistry" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1OciRegistry": { + "description": "Oci registry information", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1OciRegistrySpec" + }, + "status": { + "$ref": "#/definitions/v1OciRegistryStatusSummary" + } + }, + "type": "object" + }, + "v1OciRegistryAuth": { + "description": "Auth credentials of the oci registry", + "properties": { + "password": { + "description": "Password in the credentials", + "format": "password", + "type": "string" + }, + "username": { + "description": "Username in the credentials", + "type": "string" + } + }, + "type": "object" + }, + "v1OciRegistryEntity": { + "description": "Oci registry credentials", + "properties": { + "auth": { + "$ref": "#/definitions/v1RegistryAuth" + }, + "defaultRegion": { + "type": "string" + }, + "endpoint": { + "type": "string" + }, + "providerType": { + "type": "string" + }, + "scope": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "type": "object" + }, + "v1OciRegistrySpec": { + "description": "Image registry spec", + "properties": { + "defaultRegion": { + "type": "string" + }, + "endpoint": { + "type": "string" + }, + "isPrivate": { + "type": "boolean" + }, + "providerType": { + "type": "string" + }, + "registryType": { + "type": "string" + }, + "scope": { + "type": "string" + } + }, + "type": "object" + }, + "v1OciRegistryStatusSummary": { + "description": "OCI registry status summary", + "properties": { + "sync": { + "$ref": "#/definitions/v1RegistrySyncStatus" + } + } + }, + "v1OidcAuth": { + "properties": { + "oidcToken": { + "type": "string" + }, + "org": { + "type": "string" + } + }, + "type": "object" + }, + "v1OidcAuthLogin": { + "properties": { + "emailId": { + "type": "string" + }, + "password": { + "format": "password", + "type": "string" + } + }, + "type": "object" + }, + "v1OidcAuthorizationTokenResponse": { + "properties": { + "access_token": { + "type": "string" + }, + "error": { + "type": "string" + }, + "error_description": { + "type": "string" + }, + "expires_in": { + "type": "integer" + }, + "id_token": { + "type": "string" + }, + "raw": { + "type": "object" + }, + "refresh_token": { + "type": "string" + }, + "scope": { + "type": "string" + } + }, + "type": "object" + }, + "v1OidcLogins": { + "description": "loginsDetails", + "properties": { + "systemLogins": { + "items": { + "$ref": "#/definitions/v1SsoLogin" + }, + "type": "array", + "uniqueItems": true + }, + "tenantLogin": { + "properties": { + "authType": { + "type": "string" + }, + "redirectUrl": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "v1OidcRefreshToken": { + "description": "oidc request with token", + "properties": { + "token": { + "type": "string" + } + }, + "type": "object" + }, + "v1OpenIDProviderMetadataResponse": { + "properties": { + "authorization_endpoint": { + "description": "REQUIRED. URL of the OP's OAuth 2.0 Authorization Endpoint", + "type": "string" + }, + "claims_supported": { + "description": "RECOMMENDED. JSON array containing a list of the Claim Names of the Claims that the OpenID Provider MAY be able to supply values for", + "type": "string" + }, + "id_token_signing_alg_values_supported": { + "description": "REQUIRED. JSON array containing a list of the JWS signing algorithms (alg values) supported by the OP for the ID Token to encode the Claims in a JWT", + "type": "object" + }, + "issuer": { + "description": "REQUIRED. URL using the https scheme with no query or fragment component that the OP asserts as its Issuer Identifier", + "type": "string" + }, + "jwks_uri": { + "description": "REQUIRED. URL of the OP's JSON Web Key Set [JWK] document.", + "type": "string" + }, + "registration_endpoint": { + "description": "RECOMMENDED. URL of the OP's Dynamic Client Registration Endpoint", + "type": "string" + }, + "response_types_supported": { + "description": "REQUIRED. JSON array containing a list of the OAuth 2.0 response_type values that this OP supports", + "type": "string" + }, + "scopes_supported": { + "description": "RECOMMENDED. JSON array containing a list of the OAuth 2.0 [RFC6749] scope values that this server supports", + "type": "string" + }, + "subject_types_supported": { + "description": "REQUIRED. JSON array containing a list of the Subject Identifier types that this OP supports", + "type": "string" + }, + "token_endpoint": { + "description": "URL of the OP's OAuth 2.0 Token Endpoint", + "type": "string" + }, + "userinfo_endpoint": { + "description": "RECOMMENDED. URL of the OP's UserInfo Endpoint", + "type": "string" + } + }, + "type": "object" + }, + "v1OpenStackAccount": { + "description": "OpenStack account information", + "properties": { + "apiVersion": { + "description": "Cloud account api version", + "type": "string" + }, + "kind": { + "description": "Cloud account kind", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1OpenStackCloudAccount" + }, + "status": { + "$ref": "#/definitions/v1CloudAccountStatus" + } + }, + "type": "object" + }, + "v1OpenStackAccounts": { + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1OpenStackAccount" + }, + "type": "array", + "uniqueItems": true + }, + "listmeta": { + "$ref": "#/definitions/v1ListMetaData" + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1OpenStackAz": { + "description": "OpenStack az entity", + "properties": { + "name": { + "description": "Name of OpenStack az", + "type": "string" + } + }, + "type": "object" + }, + "v1OpenStackAzs": { + "description": "List of OpenStack azs", + "properties": { + "azs": { + "items": { + "$ref": "#/definitions/v1OpenStackAz" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "azs" + ], + "type": "object" + }, + "v1OpenStackCloudAccount": { + "description": "auth-url,project,username,password,domain,cacert etc", + "properties": { + "caCert": { + "description": "Ca cert for OpenStack", + "type": "string" + }, + "defaultDomain": { + "description": "Default Domain name", + "type": "string" + }, + "defaultProject": { + "description": "Default Project name", + "type": "string" + }, + "identityEndpoint": { + "description": "Identity endpoint for OpenStack", + "type": "string" + }, + "insecure": { + "description": "For self signed certs in IdentityEndpoint", + "type": "boolean" + }, + "parentRegion": { + "description": "Parent region of OpenStack", + "type": "string" + }, + "password": { + "description": "Password of OpenStack account", + "type": "string" + }, + "username": { + "description": "Username of OpenStack account", + "type": "string" + } + }, + "required": [ + "identityEndpoint", + "username", + "password" + ], + "type": "object" + }, + "v1OpenStackCloudClusterConfigEntity": { + "description": "Openstack cloud cluster config entity", + "properties": { + "clusterConfig": { + "$ref": "#/definitions/v1OpenStackClusterConfig" + } + }, + "type": "object" + }, + "v1OpenStackCloudConfig": { + "description": "OpenStackCloudConfig is the Schema for the OpenStackcloudconfigs API", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1OpenStackCloudConfigSpec" + }, + "status": { + "$ref": "#/definitions/v1OpenStackCloudConfigStatus" + } + }, + "type": "object" + }, + "v1OpenStackCloudConfigSpec": { + "description": "OpenStackCloudConfigSpec defines the cloud configuration input by user This will translate to clusterspec/machinespec for cluster-api", + "properties": { + "cloudAccountRef": { + "$ref": "#/definitions/v1ObjectReference", + "description": "cloudAccountRef should point to the secret which contains OpenStackCloudAccount" + }, + "clusterConfig": { + "$ref": "#/definitions/v1OpenStackClusterConfig" + }, + "machinePoolConfig": { + "items": { + "$ref": "#/definitions/v1OpenStackMachinePoolConfig" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1OpenStackCloudConfigStatus": { + "description": "OpenStackCloudConfigStatus defines the observed state of OpenStackCloudConfig The cloudimage info built by Mold is stored here image should be mapped to a specific machinepool", + "properties": { + "conditions": { + "items": { + "$ref": "#/definitions/v1ClusterCondition" + }, + "type": "array" + }, + "nodeImage": { + "type": "string" + }, + "sourceImageId": { + "description": "sourceImageId, it can be from packref's annotations or from pack.json", + "type": "string" + }, + "useCapiImage": { + "type": "boolean" + } + }, + "type": "object" + }, + "v1OpenStackClusterConfig": { + "description": "Cluster level configuration for OpenStack cloud and applicable for all the machine pools", + "properties": { + "bastionDisabled": { + "description": "Create bastion node option we have earlier supported creation of bastion by default", + "type": "boolean" + }, + "dnsNameservers": { + "description": "DNSNameservers is the list of nameservers for OpenStack Subnet being created. Set this value when you need create a new network/subnet while the access through DNS is required.", + "items": { + "type": "string" + }, + "type": "array" + }, + "domain": { + "$ref": "#/definitions/v1OpenStackResource" + }, + "network": { + "$ref": "#/definitions/v1OpenStackResource", + "description": "For static placement" + }, + "nodeCidr": { + "description": "For dynamic provision NodeCIDR is the OpenStack Subnet to be created. Cluster actuator will create a network, a subnet with NodeCIDR, and a router connected to this subnet. If you leave this empty, no network will be created.", + "type": "string" + }, + "project": { + "$ref": "#/definitions/v1OpenStackResource" + }, + "region": { + "type": "string" + }, + "sshKeyName": { + "type": "string" + }, + "subnet": { + "$ref": "#/definitions/v1OpenStackResource" + } + }, + "type": "object" + }, + "v1OpenStackDomain": { + "description": "OpenStack domain. A Domain is a collection of projects, users, and roles", + "properties": { + "description": { + "description": "Description is the description of the Domain", + "type": "string" + }, + "id": { + "description": "ID is the unique ID of the domain", + "type": "string" + }, + "name": { + "description": "Name is the name of the domain", + "type": "string" + } + }, + "type": "object" + }, + "v1OpenStackFlavor": { + "description": "OpenStack flavor entity. Flavor represent (virtual) hardware configurations for server resources", + "properties": { + "disk": { + "description": "Disk is the amount of root disk, measured in GB", + "type": "integer" + }, + "ephemeral": { + "description": "Ephemeral is the amount of ephemeral disk space, measured in GB", + "type": "integer" + }, + "id": { + "description": "ID is the flavor's unique ID", + "type": "string" + }, + "memory": { + "description": "Amount of memory, measured in MB", + "type": "integer" + }, + "name": { + "description": "Name is the name of the flavor", + "type": "string" + }, + "vcpus": { + "description": "VCPUs indicates how many (virtual) CPUs are available for this flavor", + "type": "integer" + } + }, + "type": "object" + }, + "v1OpenStackFlavors": { + "description": "List of OpenStack flavours", + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1OpenStackFlavor" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1OpenStackKeypair": { + "description": "OpenStack keypair. KeyPair is an SSH key known to the OpenStack Cloud that is available to be injected into servers", + "properties": { + "name": { + "description": "Name is used to refer to this keypair from other services within this region", + "type": "string" + }, + "publicKey": { + "description": "PublicKey is the public key from this pair, in OpenSSH format", + "type": "string" + } + }, + "type": "object" + }, + "v1OpenStackKeypairs": { + "description": "List of OpenStack keypairs", + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1OpenStackKeypair" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1OpenStackMachine": { + "description": "OpenStack cloud VM definition", + "properties": { + "apiVersion": { + "type": "string" + }, + "kind": { + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1OpenStackMachineSpec" + }, + "status": { + "$ref": "#/definitions/v1CloudMachineStatus" + } + }, + "type": "object" + }, + "v1OpenStackMachineConfigEntity": { + "properties": { + "azs": { + "description": "for control plane pool, this will be the failure domains for kcp", + "items": { + "type": "string" + }, + "type": "array" + }, + "flavorConfig": { + "$ref": "#/definitions/v1OpenstackFlavorConfig" + } + }, + "required": [ + "flavorConfig" + ], + "type": "object" + }, + "v1OpenStackMachinePoolCloudConfigEntity": { + "properties": { + "azs": { + "description": "for control plane pool, this will be the failure domains for kcp", + "items": { + "type": "string" + }, + "type": "array" + }, + "diskGiB": { + "description": "Root disk size", + "format": "int32", + "type": "integer" + }, + "flavorConfig": { + "$ref": "#/definitions/v1OpenstackFlavorConfig" + }, + "subnet": { + "$ref": "#/definitions/v1OpenStackResource" + } + }, + "required": [ + "flavorConfig" + ], + "type": "object" + }, + "v1OpenStackMachinePoolConfig": { + "properties": { + "additionalLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "additionalLabels", + "type": "object" + }, + "additionalTags": { + "additionalProperties": { + "type": "string" + }, + "description": "AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole", + "type": "object" + }, + "azs": { + "description": "for control plane pool, this will be the failure domains for kcp", + "items": { + "type": "string" + }, + "type": "array" + }, + "diskGiB": { + "description": "DiskGiB is used to configure rootVolume, the volume metadata to boot from", + "format": "int32", + "type": "integer" + }, + "flavor": { + "description": "Openstack flavor name, only return argument", + "type": "string" + }, + "flavorConfig": { + "$ref": "#/definitions/v1OpenstackFlavorConfig", + "description": "Openstack flavor configuration, input argument" + }, + "image": { + "type": "string" + }, + "isControlPlane": { + "description": "whether this pool is for control plane", + "type": "boolean" + }, + "labels": { + "description": "labels for this pool, example: control-plane/worker, gpu, windows", + "items": { + "type": "string" + }, + "type": "array" + }, + "machinePoolProperties": { + "$ref": "#/definitions/v1MachinePoolProperties" + }, + "maxSize": { + "description": "max size of the pool, for scaling", + "format": "int32", + "type": "integer" + }, + "minSize": { + "description": "min size of the pool, for scaling", + "format": "int32", + "type": "integer" + }, + "name": { + "type": "string" + }, + "nodeRepaveInterval": { + "description": "Minimum number of seconds a node should be Ready, before the next node is selected for repave. Applicable only for workerpools in infrastructure cluster", + "format": "int32", + "type": "integer" + }, + "size": { + "description": "size of the pool, number of machines", + "format": "int32", + "type": "integer" + }, + "subnet": { + "$ref": "#/definitions/v1OpenStackResource" + }, + "taints": { + "description": "control plane or worker taints", + "items": { + "$ref": "#/definitions/v1Taint" + }, + "type": "array", + "uniqueItems": true + }, + "updateStrategy": { + "$ref": "#/definitions/v1UpdateStrategy", + "description": "rolling update strategy for this machinepool if not specified, will use ScaleOut" + }, + "useControlPlaneAsWorker": { + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", + "type": "boolean" + } + }, + "required": [ + "flavorConfig" + ], + "type": "object" + }, + "v1OpenStackMachinePoolConfigEntity": { + "properties": { + "cloudConfig": { + "$ref": "#/definitions/v1OpenStackMachinePoolCloudConfigEntity" + }, + "poolConfig": { + "$ref": "#/definitions/v1MachinePoolConfigEntity" + } + }, + "required": [ + "cloudConfig" + ], + "type": "object" + }, + "v1OpenStackMachineSpec": { + "description": "OpenStack cloud VM definition spec", + "properties": { + "az": { + "type": "string" + }, + "image": { + "type": "string" + }, + "instanceType": { + "$ref": "#/definitions/v1GenericInstanceType", + "description": "Instance flavor of the machine with cpu and memory info" + }, + "nics": { + "items": { + "$ref": "#/definitions/v1OpenStackNic" + }, + "type": "array" + }, + "projectId": { + "type": "string" + }, + "securityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "sshKeyName": { + "type": "string" + } + }, + "required": [ + "instanceType", + "nics" + ], + "type": "object" + }, + "v1OpenStackMachines": { + "description": "OpenStack machine list", + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1OpenStackMachine" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1OpenStackNetwork": { + "description": "OpenStack network", + "properties": { + "description": { + "description": "Description of OpenStack network", + "type": "string" + }, + "id": { + "description": "Id of OpenStack network", + "type": "string" + }, + "name": { + "description": "Name of OpenStack network", + "type": "string" + }, + "subnets": { + "description": "Subnets associated with OpenStack network", + "items": { + "$ref": "#/definitions/v1OpenStackSubnet" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "v1OpenStackNetworks": { + "description": "List of OpenStack networks", + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1OpenStackNetwork" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1OpenStackNic": { + "description": "OpenStack network interface", + "properties": { + "index": { + "format": "int8", + "type": "integer" + }, + "networkName": { + "type": "string" + }, + "privateIPs": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "networkName" + ], + "type": "object" + }, + "v1OpenStackProject": { + "description": "Project represents an OpenStack Identity Project", + "properties": { + "description": { + "description": "Description is the description of the project", + "type": "string" + }, + "domainId": { + "description": "DomainID is the domain ID the project belongs to", + "type": "string" + }, + "id": { + "description": "ID is the unique ID of the project", + "type": "string" + }, + "name": { + "description": "Name is the name of the project", + "type": "string" + }, + "parentProjectId": { + "description": "ParentID is the parent_id of the project", + "type": "string" + } + }, + "type": "object" + }, + "v1OpenStackProjects": { + "description": "Array of OpenStack projects", + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1OpenStackProject" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1OpenStackRegion": { + "description": "OpenStack region entity", + "properties": { + "description": { + "description": "Description of OpenStack region", + "type": "string" + }, + "id": { + "description": "Id of OpenStack region", + "type": "string" + }, + "parentRegionId": { + "description": "Parent region id of OpenStack region", + "type": "string" + } + }, + "type": "object" + }, + "v1OpenStackRegions": { + "description": "List of OpenStack regions and domains", + "properties": { + "domains": { + "description": "List of OpenStack domains", + "items": { + "$ref": "#/definitions/v1OpenStackDomain" + }, + "type": "array", + "uniqueItems": true + }, + "regions": { + "description": "List of OpenStack regions", + "items": { + "$ref": "#/definitions/v1OpenStackRegion" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "regions", + "domains" + ], + "type": "object" + }, + "v1OpenStackResource": { + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "type": "object" + }, + "v1OpenStackSubnet": { + "description": "OpenStack subnet entity", + "properties": { + "description": { + "description": "Description for the network", + "type": "string" + }, + "id": { + "description": "UUID for the network", + "type": "string" + }, + "name": { + "description": "Human-readable name for the network. Might not be unique", + "type": "string" + } + }, + "type": "object" + }, + "v1OpenstackFlavorConfig": { + "properties": { + "diskGiB": { + "description": "DiskGiB is the size of a virtual machine's disk, in GiB.", + "format": "int32", + "type": "integer" + }, + "memoryMiB": { + "description": "MemoryMiB is the size of a virtual machine's memory, in MiB.", + "format": "int64", + "type": "integer" + }, + "name": { + "description": "Openstack flavor name", + "type": "string" + }, + "numCPUs": { + "description": "NumCPUs is the number of virtual processors in a virtual machine.", + "format": "int32", + "type": "integer" + } + }, + "required": [ + "name" + ] + }, + "v1OrgState": { + "description": "Org state", + "properties": { + "state": { + "type": "string" + } + }, + "type": "object" + }, + "v1Organization": { + "description": "Describes user's organization details", + "properties": { + "authType": { + "description": "Describes user's enabled authorization mode", + "type": "string" + }, + "name": { + "description": "Describes user's organization name", + "type": "string" + }, + "redirectUrl": { + "description": "Describes user's organization authentication url", + "type": "string" + }, + "ssoLogins": { + "$ref": "#/definitions/v1SsoLogins", + "description": "Describes a list of allowed social logins for the organization" + } + }, + "type": "object" + }, + "v1Organizations": { + "description": "Returns a list of user's organizations details and login methods", + "properties": { + "organizations": { + "description": "Describes a list of user's organization", + "items": { + "$ref": "#/definitions/v1Organization" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "v1OsPatchConfig": { + "properties": { + "onDemandPatchAfter": { + "$ref": "#/definitions/v1Time", + "description": "OnDemandPatchAfter is the desired time for one time on-demand patch" + }, + "patchOnBoot": { + "description": "PatchOnBoot indicates need to do patch when node first boot up, only once", + "type": "boolean", + "x-omitempty": false + }, + "rebootIfRequired": { + "description": "Reboot once the OS patch is applied", + "type": "boolean", + "x-omitempty": false + }, + "schedule": { + "description": "The schedule at which security patches will be applied to OS. Schedule should be in Cron format, see https://en.wikipedia.org/wiki/Cron for more help.", + "type": "string" + } + }, + "type": "object" + }, + "v1OsPatchEntity": { + "properties": { + "osPatchConfig": { + "$ref": "#/definitions/v1OsPatchConfig" + } + }, + "type": "object" + }, + "v1OsType": { + "default": "Linux", + "enum": [ + "Linux", + "Windows" + ], + "type": "string" + }, + "v1OverloadSpec": { + "description": "Overload spec", + "properties": { + "cloudAccountUid": { + "type": "string", + "x-omitempty": false + }, + "ipAddress": { + "type": "string" + }, + "ipPools": { + "items": { + "$ref": "#/definitions/v1IpPoolEntity" + }, + "type": "array" + }, + "isSelfHosted": { + "type": "boolean" + }, + "isSystem": { + "type": "boolean" + }, + "spectroClusterUid": { + "type": "string", + "x-omitempty": false + }, + "tenantUid": { + "type": "string" + } + }, + "type": "object" + }, + "v1OverloadStatus": { + "description": "Overload status", + "properties": { + "health": { + "$ref": "#/definitions/v1SpectroClusterHealthStatus" + }, + "isActive": { + "type": "boolean", + "x-omitempty": false + }, + "isReady": { + "type": "boolean", + "x-omitempty": false + }, + "kubectlCommands": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "notifications": { + "$ref": "#/definitions/v1ClusterNotificationStatus" + }, + "state": { + "type": "string" + } + }, + "type": "object" + }, + "v1OverloadVsphereOva": { + "description": "Overload ova details", + "properties": { + "location": { + "type": "string", + "x-omitempty": false + } + }, + "type": "object" + }, + "v1Overlord": { + "description": "Overlord defintiion", + "properties": { + "kind": { + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1OverloadSpec" + }, + "status": { + "$ref": "#/definitions/v1OverloadStatus" + } + }, + "type": "object" + }, + "v1OverlordMaasAccountCreate": { + "properties": { + "account": { + "$ref": "#/definitions/v1MaasCloudAccount" + }, + "name": { + "description": "Name for the private gateway \u0026 cloud account", + "type": "string" + }, + "shareWithProjects": { + "type": "boolean", + "x-omitempty": false + } + } + }, + "v1OverlordMaasAccountEntity": { + "properties": { + "account": { + "$ref": "#/definitions/v1MaasCloudAccount" + }, + "shareWithProjects": { + "type": "boolean", + "x-omitempty": false + } + } + }, + "v1OverlordMaasCloudConfig": { + "properties": { + "clusterConfig": { + "$ref": "#/definitions/v1MaasClusterConfig" + }, + "clusterProfiles": { + "description": "Cluster profiles pack configuration for private gateway cluster", + "items": { + "$ref": "#/definitions/v1SpectroClusterProfileEntity" + }, + "type": "array" + }, + "clusterSettings": { + "$ref": "#/definitions/v1ClusterConfigEntity", + "description": "clusterSettings is the generic configuration related to a cluster like OS patch, Rbac, Namespace allocation" + }, + "machineConfig": { + "$ref": "#/definitions/v1MaasMachineConfigEntity" + }, + "size": { + "description": "size of the pool, number of machines", + "format": "int32", + "type": "integer" + } + } + }, + "v1OverlordManifest": { + "description": "overlord manifest", + "properties": { + "manifest": { + "type": "string" + } + }, + "type": "object" + }, + "v1OverlordMigrateEntity": { + "properties": { + "sourceUid": { + "type": "string" + }, + "targetUid": { + "type": "string" + } + } + }, + "v1OverlordOpenStackAccountCreate": { + "properties": { + "account": { + "$ref": "#/definitions/v1OpenStackCloudAccount" + }, + "name": { + "description": "Name for the private gateway \u0026 cloud account", + "type": "string" + }, + "shareWithProjects": { + "type": "boolean", + "x-omitempty": false + } + } + }, + "v1OverlordOpenStackAccountEntity": { + "properties": { + "account": { + "$ref": "#/definitions/v1OpenStackCloudAccount" + }, + "shareWithProjects": { + "type": "boolean", + "x-omitempty": false + } + } + }, + "v1OverlordOpenStackCloudConfig": { + "properties": { + "clusterConfig": { + "$ref": "#/definitions/v1OpenStackClusterConfig" + }, + "clusterProfiles": { + "description": "Cluster profiles pack configuration for private gateway cluster", + "items": { + "$ref": "#/definitions/v1SpectroClusterProfileEntity" + }, + "type": "array" + }, + "clusterSettings": { + "$ref": "#/definitions/v1ClusterConfigEntity", + "description": "clusterSettings is the generic configuration related to a cluster like OS patch, Rbac, Namespace allocation" + }, + "machineConfig": { + "$ref": "#/definitions/v1OpenStackMachineConfigEntity" + }, + "size": { + "description": "size of the pool, number of machines", + "format": "int32", + "type": "integer" + } + } + }, + "v1OverlordVsphereAccountCreate": { + "properties": { + "account": { + "$ref": "#/definitions/v1VsphereCloudAccount" + }, + "name": { + "description": "Name for the private gateway \u0026 cloud account", + "type": "string" + }, + "shareWithProjects": { + "type": "boolean", + "x-omitempty": false + } + } + }, + "v1OverlordVsphereAccountEntity": { + "properties": { + "account": { + "$ref": "#/definitions/v1VsphereCloudAccount" + }, + "shareWithProjects": { + "type": "boolean", + "x-omitempty": false + } + } + }, + "v1OverlordVsphereCloudConfig": { + "properties": { + "clusterConfig": { + "$ref": "#/definitions/v1VsphereOverlordClusterConfigEntity" + }, + "clusterProfiles": { + "description": "Cluster profiles pack configuration for private gateway cluster", + "items": { + "$ref": "#/definitions/v1SpectroClusterProfileEntity" + }, + "type": "array" + }, + "clusterSettings": { + "$ref": "#/definitions/v1ClusterConfigEntity", + "description": "clusterSettings is the generic configuration related to a cluster like OS patch, Rbac, Namespace allocation" + }, + "size": { + "description": "size of the pool, number of machines", + "format": "int32", + "type": "integer" + } + } + }, + "v1Overlords": { + "description": "Array of Overlords", + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1Overlord" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1PackConfig": { + "description": "Pack configuration", + "properties": { + "spec": { + "$ref": "#/definitions/v1PackConfigSpec" + } + }, + "type": "object" + }, + "v1PackConfigSpec": { + "properties": { + "associatedObject": { + "type": "string" + }, + "isValuesOverridden": { + "type": "boolean", + "x-omitempty": false + }, + "manifests": { + "items": { + "$ref": "#/definitions/v1PackManifestRef" + }, + "type": "array" + }, + "name": { + "type": "string" + }, + "packUid": { + "type": "string" + }, + "scope": { + "type": "string" + }, + "tag": { + "type": "string" + }, + "type": { + "type": "string" + }, + "values": { + "type": "string" + }, + "version": { + "type": "string" + } + }, + "type": "object" + }, + "v1PackDependency": { + "description": "Pack template dependency", + "properties": { + "layer": { + "description": "Pack template dependency pack layer", + "type": "string" + }, + "name": { + "description": "Pack template dependency pack name", + "type": "string" + }, + "readOnly": { + "description": "If true then dependency pack values can't be overridden", + "type": "boolean" + } + }, + "type": "object" + }, + "v1PackDependencyMeta": { + "description": "Pack dependency metadata", + "properties": { + "displayName": { + "description": "Pack display name", + "type": "string" + }, + "logoUrl": { + "description": "Pack logo url", + "type": "string" + }, + "name": { + "description": "Pack name", + "type": "string" + }, + "registryUid": { + "description": "Pack registry uid", + "type": "string" + }, + "uid": { + "description": "Pack uid", + "type": "string" + }, + "version": { + "description": "Pack version", + "type": "string" + } + }, + "type": "object" + }, + "v1PackEntity": { + "description": "Pack object", + "properties": { + "layer": { + "description": "Pack layer", + "type": "string" + }, + "name": { + "description": "Pack name", + "type": "string" + }, + "tag": { + "description": "Pack tag", + "type": "string" + }, + "type": { + "$ref": "#/definitions/v1PackType" + }, + "uid": { + "description": "Pack uid", + "type": "string" + }, + "values": { + "description": "values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", + "type": "string" + } + }, + "required": [ + "uid", + "name" + ], + "type": "object" + }, + "v1PackFilterSpec": { + "description": "Packs filter spec", + "properties": { + "addOnSubType": { + "description": "Pack add-on sub type such as monitoring, db etc", + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "addOnType": { + "description": "Pack add-on type such as logging, monitoring, security etc", + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "displayName": { + "$ref": "#/definitions/v1FilterString" + }, + "environment": { + "description": "Pack supported cloud types", + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "isFips": { + "description": "isFips compliant", + "type": "boolean" + }, + "layer": { + "description": "Pack layer", + "items": { + "$ref": "#/definitions/v1PackLayer" + }, + "type": "array", + "uniqueItems": true + }, + "name": { + "$ref": "#/definitions/v1FilterString" + }, + "registryUid": { + "description": "Pack registry uid", + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "source": { + "description": "The source filter describes the creation origin/source of the pack. Ex. source can be \"spectrocloud\" or \"community\"", + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "state": { + "description": "Pack state such as deprecated or disabled", + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "type": { + "description": "Pack type", + "items": { + "$ref": "#/definitions/v1PackType" + }, + "type": "array", + "uniqueItems": true + } + } + }, + "v1PackImportEntity": { + "description": "Pack import request payload", + "properties": { + "layer": { + "description": "Pack layer [ \"os\", \"k8s\", \"cni\", \"csi\", \"addon\" ]", + "type": "string" + }, + "manifests": { + "description": "Pack manifests array", + "items": { + "$ref": "#/definitions/v1PackManifestImportEntity" + }, + "type": "array" + }, + "name": { + "description": "Pack name", + "type": "string" + }, + "registry": { + "$ref": "#/definitions/v1PackRegistryImportEntity" + }, + "tag": { + "description": "Pack version tag", + "type": "string" + }, + "type": { + "description": "Pack type [ \"spectro\", \"helm\", \"manifest\", \"oci\" ]", + "type": "string" + }, + "values": { + "description": "Pack values are the customizable configurations for the pack", + "type": "string" + }, + "version": { + "description": "Pack version", + "type": "string" + } + }, + "type": "object" + }, + "v1PackInputEntity": { + "description": "Pack request payload", + "properties": { + "pack": { + "$ref": "#/definitions/v1PackManifestEntity" + } + } + }, + "v1PackLayer": { + "enum": [ + "kernel", + "os", + "k8s", + "cni", + "csi", + "addon" + ], + "type": "string" + }, + "v1PackManifestEntity": { + "description": "Pack request payload", + "properties": { + "layer": { + "description": "Pack layer", + "type": "string" + }, + "manifests": { + "description": "Pack manifests are additional content as part of the profile", + "items": { + "$ref": "#/definitions/v1ManifestInputEntity" + }, + "type": "array" + }, + "name": { + "description": "Pack name", + "type": "string" + }, + "registryUid": { + "description": "Pack registry uid", + "type": "string" + }, + "tag": { + "description": "Pack tag", + "type": "string" + }, + "type": { + "$ref": "#/definitions/v1PackType" + }, + "uid": { + "description": "Pack uid", + "type": "string" + }, + "values": { + "description": "Pack values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + }, + "v1PackManifestImportEntity": { + "description": "Pack manifest import objct", + "properties": { + "content": { + "description": "Pack manifest content in yaml", + "type": "string" + }, + "name": { + "description": "Pack manifest name", + "type": "string" + } + }, + "type": "object" + }, + "v1PackManifestRef": { + "properties": { + "digest": { + "type": "string" + }, + "isOverridden": { + "type": "boolean", + "x-omitempty": false + }, + "name": { + "type": "string" + }, + "parentUid": { + "type": "string" + }, + "uid": { + "type": "string" + } + }, + "type": "object" + }, + "v1PackManifestUpdateEntity": { + "description": "Pack input entity with values to overwrite and manifests for the intial creation", + "properties": { + "layer": { + "description": "Pack layer", + "type": "string" + }, + "manifests": { + "description": "Pack manifests are additional content as part of the profile", + "items": { + "$ref": "#/definitions/v1ManifestRefUpdateEntity" + }, + "type": "array" + }, + "name": { + "description": "Pack name", + "type": "string" + }, + "registryUid": { + "description": "Pack registry uid", + "type": "string" + }, + "tag": { + "description": "Pack tag", + "type": "string" + }, + "type": { + "$ref": "#/definitions/v1PackType" + }, + "uid": { + "description": "Pack uid", + "type": "string" + }, + "values": { + "description": "Pack values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + }, + "v1PackManifests": { + "properties": { + "items": { + "description": "Manifests array", + "items": { + "$ref": "#/definitions/v1Manifest" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1PackManifestsSpec": { + "description": "Pack manifests spec", + "properties": { + "addonType": { + "description": "Pack add-on type such as logging, monitoring, security etc", + "type": "string" + }, + "annotations": { + "additionalProperties": { + "type": "string" + }, + "description": "Pack annotations is used to allow pack to add more arbitrary configurations", + "type": "object" + }, + "cloudTypes": { + "description": "Pack supported cloud types", + "items": { + "type": "string" + }, + "type": "array" + }, + "digest": { + "description": "Pack digest", + "type": "string" + }, + "displayName": { + "description": "Pack display name", + "type": "string" + }, + "eol": { + "description": "Pack end of life, date format: yyyy-MM-dd", + "type": "string" + }, + "group": { + "description": "Pack group", + "type": "string" + }, + "layer": { + "$ref": "#/definitions/v1PackLayer" + }, + "logoUrl": { + "description": "Pack logo url", + "type": "string" + }, + "manifests": { + "description": "Pack manifests are additional content as part of the cluster profile", + "items": { + "$ref": "#/definitions/v1ManifestSummary" + }, + "type": "array" + }, + "name": { + "description": "Pack name", + "type": "string" + }, + "presets": { + "description": "Pack presets are the set of configurations applied on user selection of presets", + "items": { + "$ref": "#/definitions/v1PackPreset" + }, + "type": "array" + }, + "registryUid": { + "description": "Pack registry uid", + "type": "string" + }, + "schema": { + "description": "Pack schema contains constraints such as data type, format, hints for the pack values", + "items": { + "$ref": "#/definitions/v1PackSchema" + }, + "type": "array" + }, + "type": { + "$ref": "#/definitions/v1PackType" + }, + "values": { + "description": "Pack values", + "type": "string" + }, + "version": { + "description": "Pack version", + "type": "string" + } + }, + "type": "object" + }, + "v1PackMetadata": { + "description": "Pack metadata object", + "properties": { + "apiVersion": { + "description": "Pack api version", + "type": "string" + }, + "kind": { + "description": "Pack kind", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1PackMetadataSpec" + } + }, + "type": "object" + }, + "v1PackMetadataList": { + "description": "List of packs metadata", + "properties": { + "items": { + "description": "Packs metadata array", + "items": { + "$ref": "#/definitions/v1PackMetadata" + }, + "type": "array", + "uniqueItems": true + }, + "listmeta": { + "$ref": "#/definitions/v1ListMetaData" + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1PackMetadataSpec": { + "description": "Pack metadata spec", + "properties": { + "addonSubType": { + "description": "Pack add-on sub type such as monitoring, db etc", + "type": "string" + }, + "addonType": { + "description": "Pack add-on type such as logging, monitoring, security etc", + "type": "string" + }, + "cloudTypes": { + "description": "Pack supported cloud types", + "items": { + "type": "string" + }, + "type": "array" + }, + "displayName": { + "description": "Pack display name", + "type": "string" + }, + "group": { + "description": "Pack group", + "type": "string" + }, + "layer": { + "$ref": "#/definitions/v1PackLayer" + }, + "name": { + "description": "Pack name", + "type": "string" + }, + "registries": { + "description": "Pack registries array", + "items": { + "$ref": "#/definitions/v1RegistryPackMetadata" + }, + "type": "array" + }, + "type": { + "$ref": "#/definitions/v1PackType" + } + }, + "type": "object" + }, + "v1PackParamsEntity": { + "description": "Pack params request payload", + "properties": { + "references": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + } + }, + "v1PackPreset": { + "description": "PackPreset defines the preset pack values", + "properties": { + "add": { + "type": "string", + "x-omitempty": false + }, + "displayName": { + "type": "string", + "x-omitempty": false + }, + "group": { + "type": "string", + "x-omitempty": false + }, + "name": { + "type": "string", + "x-omitempty": false + }, + "remove": { + "items": { + "type": "string" + }, + "type": "array", + "x-omitempty": false + } + }, + "type": "object" + }, + "v1PackReadme": { + "properties": { + "readme": { + "description": "Readme describes the documentation of the specified pack", + "type": "string" + } + } + }, + "v1PackRef": { + "description": "PackRef server/name:tag to point to a pack PackRef is used when construct a ClusterProfile PackSpec is used for UI to render the parameters form ClusterProfile will not know inner details of a pack ClusterProfile only contain pack name:tag, and the param values user entered for it", + "properties": { + "annotations": { + "additionalProperties": { + "type": "string" + }, + "description": "Annotations is used to allow packref to add more arbitrary information one example is to add git reference for values.yaml", + "type": "object" + }, + "digest": { + "description": "digest is used to specify the version should be installed by palette when pack upgrade available, change this digest to trigger upgrade", + "type": "string" + }, + "inValidReason": { + "type": "string" + }, + "isInvalid": { + "description": "pack is invalid when the associated tag is deleted from the registry", + "type": "boolean" + }, + "layer": { + "enum": [ + "kernel", + "os", + "k8s", + "cni", + "csi", + "addon" + ], + "type": "string" + }, + "logo": { + "description": "path to the pack logo", + "type": "string" + }, + "manifests": { + "items": { + "$ref": "#/definitions/v1ObjectReference" + }, + "type": "array" + }, + "name": { + "description": "pack name", + "type": "string" + }, + "packUid": { + "description": "PackUID is Hubble packUID, not palette Pack.UID It is used by Hubble only.", + "type": "string" + }, + "params": { + "additionalProperties": { + "type": "string" + }, + "description": "params passed as env variables to be consumed at installation time", + "type": "object" + }, + "presets": { + "items": { + "$ref": "#/definitions/v1PackPreset" + }, + "type": "array" + }, + "registryUid": { + "description": "pack registry uid", + "type": "string" + }, + "schema": { + "items": { + "$ref": "#/definitions/v1PackSchema" + }, + "type": "array" + }, + "server": { + "description": "pack registry server or helm repo", + "type": "string" + }, + "tag": { + "description": "pack tag", + "type": "string" + }, + "type": { + "description": "type of the pack", + "enum": [ + "spectro", + "helm", + "manifest" + ], + "type": "string" + }, + "values": { + "description": "values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", + "type": "string" + }, + "version": { + "description": "pack version", + "type": "string" + } + }, + "required": [ + "layer", + "name" + ], + "type": "object" + }, + "v1PackRefSummary": { + "description": "Pack ref summary", + "properties": { + "addonType": { + "type": "string" + }, + "annotations": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "displayName": { + "type": "string" + }, + "layer": { + "$ref": "#/definitions/v1PackLayer" + }, + "logoUrl": { + "type": "string" + }, + "name": { + "type": "string" + }, + "packUid": { + "type": "string" + }, + "tag": { + "type": "string" + }, + "type": { + "type": "string" + }, + "version": { + "type": "string" + } + } + }, + "v1PackRefSummaryResponse": { + "description": "Pack summary response", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1PackRefSummarySpec" + } + }, + "type": "object" + }, + "v1PackRefSummarySpec": { + "description": "Pack summary spec", + "properties": { + "macros": { + "$ref": "#/definitions/v1PackResolvedValues" + }, + "pack": { + "$ref": "#/definitions/v1PackSummarySpec" + }, + "registry": { + "$ref": "#/definitions/v1RegistryMetadata" + } + } + }, + "v1PackRegistries": { + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1PackRegistry" + }, + "type": "array", + "uniqueItems": true + }, + "listmeta": { + "$ref": "#/definitions/v1ListMetaData" + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1PackRegistriesSummary": { + "description": "Pack Registries Summary", + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1PackRegistrySummary" + }, + "type": "array", + "uniqueItems": true + }, + "listmeta": { + "$ref": "#/definitions/v1ListMetaData" + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1PackRegistry": { + "description": "Pack registry information", + "properties": { + "apiVersion": { + "type": "string" + }, + "kind": { + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1PackRegistrySpec" + }, + "status": { + "$ref": "#/definitions/v1PackRegistryStatus" + } + }, + "type": "object" + }, + "v1PackRegistryImportEntity": { + "description": "Pack registry import entity", + "properties": { + "matchingRegistries": { + "items": { + "$ref": "#/definitions/v1PackRegistryMetadata" + }, + "type": "array" + }, + "metadata": { + "$ref": "#/definitions/v1PackRegistryMetadata" + } + }, + "type": "object" + }, + "v1PackRegistryMetadata": { + "description": "Pack registry metadata", + "properties": { + "isPrivate": { + "description": "If true then pack registry is private and is not accessible for the pack sync", + "type": "boolean", + "x-omitempty": false + }, + "kind": { + "description": "Pack registry kind [ \"pack\", \"helm\", \"oci\" ]", + "type": "string" + }, + "name": { + "description": "Pack registry name", + "type": "string" + }, + "providerType": { + "description": "OCI registry provider type [ \"helm\", \"pack\", \"zarf\" ]", + "type": "string" + }, + "uid": { + "description": "Pack registry uid", + "type": "string" + } + }, + "type": "object" + }, + "v1PackRegistrySpec": { + "description": "Pack registry credentials spec", + "properties": { + "auth": { + "$ref": "#/definitions/v1RegistryAuth" + }, + "endpoint": { + "type": "string" + }, + "name": { + "type": "string" + }, + "private": { + "type": "boolean", + "x-omitempty": false + }, + "registryUid": { + "description": "Pack registry uid", + "type": "string" + }, + "scope": { + "type": "string" + } + }, + "required": [ + "endpoint", + "auth" + ], + "type": "object" + }, + "v1PackRegistrySpecSummary": { + "description": "Pack Registry spec summary", + "properties": { + "endpoint": { + "type": "string" + }, + "private": { + "type": "boolean", + "x-omitempty": false + }, + "scope": { + "type": "string" + } + }, + "type": "object" + }, + "v1PackRegistryStatus": { + "description": "Status of the pack registry", + "properties": { + "packSyncStatus": { + "$ref": "#/definitions/v1RegistrySyncStatus" + } + }, + "type": "object" + }, + "v1PackRegistryStatusSummary": { + "description": "Pack registry status summary", + "properties": { + "sync": { + "$ref": "#/definitions/v1RegistrySyncStatus" + } + }, + "type": "object" + }, + "v1PackRegistrySummary": { + "description": "Pack Registry summary", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1PackRegistrySpecSummary" + }, + "status": { + "$ref": "#/definitions/v1PackRegistryStatusSummary" + } + }, + "type": "object" + }, + "v1PackResolvedValues": { + "description": "Pack resolved values", + "properties": { + "resolved": { + "additionalProperties": { + "type": "string" + }, + "description": "Pack resolved values map", + "type": "object" + } + } + }, + "v1PackSchema": { + "description": "PackSchema defines the schema definition, hints for the pack values", + "properties": { + "format": { + "type": "string", + "x-omitempty": false + }, + "hints": { + "items": { + "type": "string" + }, + "type": "array", + "x-omitempty": false + }, + "listOptions": { + "items": { + "type": "string" + }, + "type": "array", + "x-omitempty": false + }, + "name": { + "type": "string", + "x-omitempty": false + }, + "readonly": { + "type": "boolean", + "x-omitempty": false + }, + "regex": { + "type": "string", + "x-omitempty": false + }, + "required": { + "type": "boolean", + "x-omitempty": false + }, + "type": { + "type": "string", + "x-omitempty": false + } + }, + "type": "object" + }, + "v1PackSortFields": { + "description": "Packs sort by fields", + "enum": [ + "name", + "type", + "layer", + "addOnType", + "displayName" + ], + "type": "string", + "x-nullable": true + }, + "v1PackSortSpec": { + "description": "Packs sort spec", + "properties": { + "field": { + "$ref": "#/definitions/v1PackSortFields" + }, + "order": { + "$ref": "#/definitions/v1SortOrder" + } + } + }, + "v1PackSummaries": { + "description": "List of packs", + "properties": { + "items": { + "description": "Packs array", + "items": { + "$ref": "#/definitions/v1PackSummary" + }, + "type": "array", + "uniqueItems": true + }, + "listmeta": { + "$ref": "#/definitions/v1ListMetaData" + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1PackSummary": { + "description": "Pack summary object", + "properties": { + "apiVersion": { + "description": "Pack api version", + "type": "string" + }, + "kind": { + "description": "Pack kind", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1PackSummarySpec" + }, + "status": { + "$ref": "#/definitions/v1PackSummaryStatus" + } + }, + "type": "object" + }, + "v1PackSummarySpec": { + "description": "Pack object", + "properties": { + "addonSubType": { + "description": "Pack add-on sub type such as monitoring, db etc", + "type": "string" + }, + "addonType": { + "description": "Pack add-on type such as logging, monitoring, security etc", + "type": "string" + }, + "annotations": { + "additionalProperties": { + "type": "string" + }, + "description": "Pack annotations is used to allow pack to add more arbitrary configurations", + "type": "object" + }, + "cloudTypes": { + "description": "Pack supported cloud types", + "items": { + "type": "string" + }, + "type": "array" + }, + "digest": { + "description": "Pack digest", + "type": "string" + }, + "displayName": { + "description": "Pack display name", + "type": "string" + }, + "eol": { + "description": "Pack end of life, date format: yyyy-MM-dd", + "type": "string" + }, + "group": { + "description": "Pack group", + "type": "string" + }, + "layer": { + "$ref": "#/definitions/v1PackLayer" + }, + "logoUrl": { + "description": "Pack logo url", + "type": "string" + }, + "manifests": { + "description": "Pack manifests are additional content as part of the cluster profile", + "items": { + "$ref": "#/definitions/v1ObjectReference" + }, + "type": "array" + }, + "name": { + "description": "Pack name", + "type": "string" + }, + "presets": { + "description": "Pack presets are the set of configurations applied on user selection of presets", + "items": { + "$ref": "#/definitions/v1PackPreset" + }, + "type": "array" + }, + "registryUid": { + "description": "Pack registry uid", + "type": "string" + }, + "schema": { + "description": "Pack schema contains constraints such as data type, format, hints for the pack values", + "items": { + "$ref": "#/definitions/v1PackSchema" + }, + "type": "array" + }, + "template": { + "$ref": "#/definitions/v1PackTemplate" + }, + "type": { + "$ref": "#/definitions/v1PackType" + }, + "values": { + "description": "Pack values", + "type": "string" + }, + "version": { + "description": "Pack version", + "type": "string" + } + }, + "type": "object" + }, + "v1PackSummaryStatus": { + "description": "Pack status", + "type": "object" + }, + "v1PackTagEntity": { + "description": "Pack object", + "properties": { + "addonSubType": { + "description": "Pack add-on sub type such as monitoring, db etc", + "type": "string" + }, + "addonType": { + "description": "Pack add-on type such as logging, monitoring, security etc", + "type": "string" + }, + "cloudTypes": { + "description": "Pack supported cloud types", + "items": { + "type": "string" + }, + "type": "array" + }, + "displayName": { + "description": "Pack display name", + "type": "string" + }, + "layer": { + "$ref": "#/definitions/v1PackLayer" + }, + "logoUrl": { + "description": "Pack logo url", + "type": "string" + }, + "name": { + "description": "Pack name", + "type": "string" + }, + "packValues": { + "description": "Pack values array", + "items": { + "$ref": "#/definitions/v1PackUidValues" + }, + "type": "array" + }, + "registryUid": { + "description": "Pack registry uid", + "type": "string" + }, + "tags": { + "description": "Pack version tags array", + "items": { + "$ref": "#/definitions/v1PackTags" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1PackTags": { + "properties": { + "group": { + "description": "Pack group", + "type": "string" + }, + "packUid": { + "description": "Pack uid", + "type": "string" + }, + "parentTags": { + "description": "Pack version parent tags", + "items": { + "type": "string" + }, + "type": "array" + }, + "tag": { + "description": "Pack version tag", + "type": "string" + }, + "version": { + "description": "Pack version", + "type": "string" + } + }, + "type": "object" + }, + "v1PackTemplate": { + "description": "Pack template configuration", + "properties": { + "manifest": { + "description": "Pack template manifest content", + "type": "string" + }, + "parameters": { + "$ref": "#/definitions/v1PackTemplateParameters" + }, + "values": { + "description": "Pack template values", + "type": "string" + } + } + }, + "v1PackTemplateParameter": { + "description": "Pack template parameter", + "properties": { + "description": { + "description": "Pack template parameter description", + "type": "string" + }, + "displayName": { + "description": "Pack template parameter display name", + "type": "string" + }, + "format": { + "description": "Pack template parameter format", + "type": "string" + }, + "hidden": { + "description": "Pack template parameter hidden flag, if true then the parameter is hidden in the UI", + "type": "boolean" + }, + "listOptions": { + "description": "Pack template parameter list options as string array", + "items": { + "type": "string" + }, + "type": "array" + }, + "name": { + "description": "Pack template parameter name", + "type": "string" + }, + "optional": { + "description": "Pack template parameter optional flag, if true then the parameter value is not mandatory", + "type": "boolean" + }, + "options": { + "additionalProperties": { + "$ref": "#/definitions/v1PackTemplateParameterOption", + "type": "object" + }, + "description": "Pack template parameter options array", + "type": "object" + }, + "readOnly": { + "description": "Pack template parameter readonly flag, if true then the parameter value can't be overridden", + "type": "boolean" + }, + "regex": { + "description": "Pack template parameter regex, if set then parameter value must match with specified regex", + "type": "string" + }, + "targetKey": { + "description": "Pack template parameter target key which is mapped to the key defined in the pack values", + "type": "string" + }, + "type": { + "description": "Pack template parameter data type", + "type": "string" + }, + "value": { + "description": "Pack template parameter value", + "type": "string" + } + } + }, + "v1PackTemplateParameterOption": { + "description": "Pack template parameter option", + "properties": { + "dependencies": { + "description": "Pack template parameter dependencies", + "items": { + "$ref": "#/definitions/v1PackDependency" + }, + "type": "array" + }, + "description": { + "description": "Pack template parameter description", + "type": "string" + }, + "label": { + "description": "Pack template parameter label", + "type": "string" + } + }, + "type": "object" + }, + "v1PackTemplateParameters": { + "description": "Pack template parameters", + "properties": { + "inputParameters": { + "description": "Pack template input parameters array", + "items": { + "$ref": "#/definitions/v1PackTemplateParameter" + }, + "type": "array" + }, + "outputParameters": { + "description": "Pack template output parameters array", + "items": { + "$ref": "#/definitions/v1PackTemplateParameter" + }, + "type": "array" + } + } + }, + "v1PackType": { + "default": "spectro", + "enum": [ + "spectro", + "helm", + "manifest", + "oci" + ], + "type": "string" + }, + "v1PackUidValues": { + "properties": { + "annotations": { + "additionalProperties": { + "type": "string" + }, + "description": "Pack annotations is used to allow pack to add more arbitrary configurations", + "type": "object" + }, + "dependencies": { + "description": "Pack dependencies array", + "items": { + "$ref": "#/definitions/v1PackDependencyMeta" + }, + "type": "array" + }, + "packUid": { + "description": "Pack uid", + "type": "string" + }, + "presets": { + "description": "Pack presets are the set of configurations applied on user selection of presets", + "items": { + "$ref": "#/definitions/v1PackPreset" + }, + "type": "array" + }, + "readme": { + "description": "Readme describes the documentation of the specified pack", + "type": "string" + }, + "schema": { + "description": "Pack schema contains constraints such as data type, format, hints for the pack values", + "items": { + "$ref": "#/definitions/v1PackSchema" + }, + "type": "array" + }, + "template": { + "$ref": "#/definitions/v1PackTemplate" + }, + "values": { + "description": "Pack values represents the values.yaml used as input parameters", + "type": "string" + } + }, + "type": "object" + }, + "v1PackUpdateEntity": { + "description": "Pack update request payload", + "properties": { + "pack": { + "$ref": "#/definitions/v1PackEntity" + } + } + }, + "v1PackValuesEntity": { + "description": "Pack values entity to refer the existing pack for the values override", + "properties": { + "manifests": { + "description": "Pack manifests are additional content as part of the profile", + "items": { + "$ref": "#/definitions/v1ManifestRefUpdateEntity" + }, + "type": "array" + }, + "name": { + "description": "Pack name", + "type": "string" + }, + "tag": { + "description": "Pack version tag", + "type": "string" + }, + "type": { + "$ref": "#/definitions/v1PackType" + }, + "values": { + "description": "Pack values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + }, + "v1PacksFilterSpec": { + "description": "Packs filter spec", + "properties": { + "filter": { + "$ref": "#/definitions/v1PackFilterSpec" + }, + "sort": { + "items": { + "$ref": "#/definitions/v1PackSortSpec" + }, + "type": "array", + "uniqueItems": true + } + } + }, + "v1PairingCode": { + "description": "Pairing code response", + "properties": { + "pairingCode": { + "type": "string" + } + }, + "type": "object" + }, + "v1Partition": { + "properties": { + "fileSystemType": { + "type": "string" + }, + "freeSpace": { + "format": "int32", + "type": "integer" + }, + "mountPoint": { + "type": "string" + }, + "totalSpace": { + "format": "int32", + "type": "integer" + }, + "usedSpace": { + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "v1PasswordsBlockListEntity": { + "description": "List of block listed passwords", + "properties": { + "passwords": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1PaymentIntent": { + "description": "Payment setup object", + "properties": { + "clientSecret": { + "description": "Payment client secret", + "type": "string" + }, + "paymentIntentId": { + "description": "Payment intent id", + "type": "string" + }, + "status": { + "description": "Status of payment intent", + "type": "string" + } + } + }, + "v1PaymentMethod": { + "description": "Payment method object", + "properties": { + "card": { + "$ref": "#/definitions/v1Card" + }, + "customerId": { + "description": "Customer uid", + "type": "string" + }, + "firstName": { + "description": "First name of the user", + "type": "string" + }, + "lastName": { + "description": "Last name of the user", + "type": "string" + }, + "paymentMethodId": { + "description": "Payment method uid", + "type": "string" + } + } + }, + "v1PaymentMethods": { + "description": "Payment Method list", + "properties": { + "defaultPaymentMethod": { + "description": "Default payment method", + "type": "string" + }, + "paymentMethods": { + "description": "List of payment method", + "items": { + "$ref": "#/definitions/v1PaymentMethod" + }, + "type": "array", + "uniqueItems": true + } + } + }, + "v1PaymentPlan": { + "description": "Stripe price detail object", + "properties": { + "billingScheme": { + "description": "Billing scheme", + "type": "string" + }, + "currency": { + "description": "Unit of currency", + "type": "string" + }, + "id": { + "description": "Stripe payment plan id", + "type": "string" + }, + "name": { + "description": "Name of the stripe plan", + "type": "string" + }, + "productId": { + "description": "Product identifier", + "type": "string" + }, + "type": { + "description": "Type of payment plan", + "type": "string" + }, + "unitAmount": { + "description": "Unit amount for the product", + "format": "int64", + "type": "number" + } + } + }, + "v1PaymentPlans": { + "description": "Payment plan object model", + "properties": { + "stripePlanDetails": { + "description": "List of Stripe plan details", + "items": { + "$ref": "#/definitions/v1PaymentPlan" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "stripePlanDetails" + ], + "type": "object" + }, + "v1PaymentSecrets": { + "description": "payment secrets", + "properties": { + "publishableKey": { + "type": "string" + }, + "secretKey": { + "type": "string" + } + } + }, + "v1PaymentSubscription": { + "description": "Payment subscription object", + "properties": { + "customerId": { + "description": "Customer uid", + "type": "string" + }, + "paymentIntent": { + "$ref": "#/definitions/v1PaymentIntent", + "description": "Payment intent" + }, + "paymentMethodIds": { + "description": "List of payment method uids", + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "planType": { + "description": "Plan type", + "type": "string" + }, + "priceId": { + "description": "Price uid", + "type": "string" + }, + "subscriptionId": { + "description": "Subscription uid", + "type": "string" + }, + "subscriptionState": { + "description": "Plan subscription state", + "type": "string" + } + } + }, + "v1PcgSelfHostedParams": { + "properties": { + "cloudType": { + "type": "string" + }, + "name": { + "type": "string" + } + } + }, + "v1PcgServiceKubectlCommands": { + "description": "Array of kubectl commands", + "properties": { + "kubectlCommands": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "overlordUid": { + "type": "string" + } + }, + "required": [ + "kubectlCommands" + ], + "type": "object" + }, + "v1PcgsSummary": { + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1Overlord" + }, + "type": "array", + "uniqueItems": true + }, + "listmeta": { + "$ref": "#/definitions/v1ListMetaData" + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1Permission": { + "description": "Permission information", + "properties": { + "name": { + "type": "string" + }, + "permissions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "scope": { + "$ref": "#/definitions/v1Scope" + } + }, + "type": "object" + }, + "v1Permissions": { + "description": "Array of permissions", + "items": { + "$ref": "#/definitions/v1Permission" + }, + "type": "array" + }, + "v1Plan": { + "description": "Plan", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1PlanSpec" + }, + "status": { + "$ref": "#/definitions/v1PlanStatus" + } + } + }, + "v1PlanAddFreeCreditUpdate": { + "description": "Plan add free credit update entity", + "properties": { + "credit": { + "$ref": "#/definitions/v1PlanCreditEntity" + } + } + }, + "v1PlanAddSlaCreditUpdate": { + "description": "Plan add sla credit update entity", + "properties": { + "credit": { + "$ref": "#/definitions/v1PlanCreditEntity" + } + } + }, + "v1PlanChangeUpdate": { + "description": "Plan change update entity", + "properties": { + "expiry": { + "$ref": "#/definitions/v1Time", + "description": "plan expiry time" + }, + "isPaymentGateway": { + "type": "boolean" + }, + "planLimit": { + "$ref": "#/definitions/v1PlanLimit" + }, + "start": { + "$ref": "#/definitions/v1Time", + "description": "plan start time" + }, + "tierPrice": { + "$ref": "#/definitions/v1TierPrice" + }, + "type": { + "enum": [ + "Trial", + "MonthlyOnDemand", + "AnnualSubscription" + ], + "type": "string" + } + }, + "required": [ + "type", + "start", + "expiry" + ] + }, + "v1PlanCost": { + "description": "Plan Cost", + "properties": { + "discount": { + "format": "float", + "type": "number", + "x-omitempty": false + }, + "price": { + "format": "float", + "type": "number", + "x-omitempty": false + } + } + }, + "v1PlanCpuCoreHoursUsages": { + "properties": { + "hourlyUsages": { + "items": { + "$ref": "#/definitions/v1ResourceUsage" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "v1PlanCredit": { + "description": "Plan Credit", + "properties": { + "cpuCoreHours": { + "format": "int64", + "type": "number", + "x-omitempty": false + }, + "creditUid": { + "type": "string" + }, + "expiry": { + "$ref": "#/definitions/v1Time", + "description": "credit expiry time" + }, + "name": { + "type": "string" + }, + "start": { + "$ref": "#/definitions/v1Time", + "description": "credit start time" + }, + "type": { + "enum": [ + "Pure", + "Alloy" + ], + "type": "string" + } + }, + "required": [ + "type" + ] + }, + "v1PlanCreditEntity": { + "description": "Plan Credit entity for create/update request", + "properties": { + "cpuCoreHours": { + "format": "int64", + "type": "number", + "x-omitempty": false + }, + "expiry": { + "$ref": "#/definitions/v1Time" + }, + "name": { + "type": "string" + }, + "start": { + "$ref": "#/definitions/v1Time" + }, + "type": { + "enum": [ + "Pure", + "Alloy" + ], + "type": "string" + } + }, + "required": [ + "type" + ] + }, + "v1PlanCreditUpdate": { + "description": "Plan credit update entity", + "properties": { + "credit": { + "$ref": "#/definitions/v1PlanCreditEntity" + } + } + }, + "v1PlanExpiry": { + "description": "Plan expiry", + "properties": { + "expiry": { + "$ref": "#/definitions/v1Time", + "description": "plan expiry time" + } + }, + "required": [ + "expiry" + ] + }, + "v1PlanLimit": { + "description": "Monthly Plan Limit", + "properties": { + "alloy": { + "$ref": "#/definitions/v1PlanLimitSpec" + }, + "isOnDemand": { + "description": "is onDemand plan and has no limit", + "type": "boolean", + "x-omitempty": false + }, + "isUnlimited": { + "description": "is unlimited cpu core hours", + "type": "boolean", + "x-omitempty": false + }, + "pure": { + "$ref": "#/definitions/v1PlanLimitSpec" + } + } + }, + "v1PlanLimitSpec": { + "description": "Monthly Plan Limit spec", + "properties": { + "cpuCoreHours": { + "description": "cpu cores hours", + "format": "int64", + "type": "integer", + "x-omitempty": false + }, + "overageLimitPercentage": { + "default": 25, + "description": "overage limit in percentage", + "format": "int8", + "type": "integer", + "x-omitempty": false + }, + "warnLimitPercentage": { + "default": 90, + "description": "warning limit in percentage", + "format": "int8", + "type": "integer", + "x-omitempty": false + } + } + }, + "v1PlanLimitUpdate": { + "description": "Plan limit change update entity", + "properties": { + "planLimit": { + "$ref": "#/definitions/v1PlanLimit" + } + }, + "required": [ + "planLimit" + ] + }, + "v1PlanMonthlyUsage": { + "description": "Plan monthly usage entity", + "properties": { + "dailyUsages": { + "items": { + "$ref": "#/definitions/v1ResourceUsage" + }, + "type": "array", + "uniqueItems": true + }, + "month": { + "$ref": "#/definitions/v1Time", + "description": "usage month" + }, + "planLimit": { + "$ref": "#/definitions/v1PlanLimit" + }, + "planType": { + "enum": [ + "Trial", + "MonthlyOnDemand", + "AnnualSubscription" + ], + "type": "string" + }, + "planUid": { + "type": "string" + }, + "totalMonthlyUsage": { + "$ref": "#/definitions/v1TotalResourceUsage" + } + } + }, + "v1PlanMonthlyUsages": { + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1PlanMonthlyUsage" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1PlanRenewal": { + "description": "Plan Renewal", + "properties": { + "expiry": { + "$ref": "#/definitions/v1Time", + "description": "credit expiry time" + }, + "planLimit": { + "$ref": "#/definitions/v1PlanLimit" + }, + "start": { + "$ref": "#/definitions/v1Time", + "description": "credit start time" + }, + "type": { + "enum": [ + "Trial", + "MonthlyOnDemand", + "AnnualSubscription" + ], + "type": "string" + } + }, + "required": [ + "type", + "start", + "expiry" + ] + }, + "v1PlanRenewalUpdate": { + "description": "Plan add renawal update entity", + "properties": { + "renewal": { + "$ref": "#/definitions/v1PlanRenewal" + } + } + }, + "v1PlanSpec": { + "description": "Plan specifications", + "properties": { + "cost": { + "$ref": "#/definitions/v1PlanCost" + }, + "developerCredits": { + "$ref": "#/definitions/v1DeveloperCredit" + }, + "expiry": { + "$ref": "#/definitions/v1Time", + "description": "plan expiry time" + }, + "freeCredits": { + "items": { + "$ref": "#/definitions/v1PlanCredit" + }, + "type": "array" + }, + "planLimit": { + "$ref": "#/definitions/v1PlanLimit" + }, + "renewal": { + "$ref": "#/definitions/v1PlanRenewal" + }, + "slaCredits": { + "items": { + "$ref": "#/definitions/v1PlanCredit" + }, + "type": "array" + }, + "start": { + "$ref": "#/definitions/v1Time", + "description": "plan start time" + }, + "tierPricing": { + "$ref": "#/definitions/v1TierPrice" + }, + "type": { + "enum": [ + "Trial", + "MonthlyOnDemand", + "AnnualSubscription" + ], + "type": "string" + } + }, + "required": [ + "type", + "start", + "expiry" + ] + }, + "v1PlanStatus": { + "properties": { + "changeLogs": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1Plans": { + "description": "Array of Plans", + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1Plan" + }, + "type": "array", + "uniqueItems": true + }, + "listmeta": { + "$ref": "#/definitions/v1ListMetaData" + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1PlansUsageComputeSpec": { + "description": "Plans usage compute spec", + "properties": { + "startTime": { + "$ref": "#/definitions/v1Time" + }, + "tenantUids": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "v1PodAntiAffinity": { + "description": "Pod anti affinity is a group of inter pod anti affinity scheduling rules.", + "properties": { + "preferredDuringSchedulingIgnoredDuringExecution": { + "description": "The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding \"weight\" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred.", + "items": { + "$ref": "#/definitions/v1VmWeightedPodAffinityTerm" + }, + "type": "array" + }, + "requiredDuringSchedulingIgnoredDuringExecution": { + "description": "If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.", + "items": { + "$ref": "#/definitions/v1VmPodAffinityTerm" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1Pool": { + "description": "Pool defines IP ranges or with CIDR for available IPs Gateway, Prefix and Nameserver if provided, will overwrite values in IPPool", + "properties": { + "end": { + "description": "End is the last IP address that can be rendered. It is used as a validation that the rendered IP is in bound.", + "type": "string" + }, + "gateway": { + "description": "Gateway is the gateway ip address", + "type": "string" + }, + "nameserver": { + "$ref": "#/definitions/v1Nameserver", + "description": "Nameserver provide information for dns resolvation" + }, + "prefix": { + "description": "Prefix is the mask of the network as integer (max 128)", + "format": "int32", + "type": "integer" + }, + "start": { + "description": "Start is the first ip address that can be rendered", + "type": "string" + }, + "subnet": { + "description": "Subnet is used to validate that the rendered IP is in bounds. eg: 192.168.0.0/24 If Start value is not given, start value is derived from the subnet ip incremented by 1 (start value is `192.168.0.1` for subnet `192.168.0.0/24`)", + "type": "string" + } + }, + "type": "object" + }, + "v1PriceRange": { + "description": "tier price range", + "properties": { + "discount": { + "format": "int64", + "type": "number" + }, + "startFrom": { + "format": "float64", + "type": "number" + }, + "unitAmount": { + "format": "float64", + "type": "number" + }, + "upTo": { + "format": "float64", + "type": "number" + }, + "upToInfinity": { + "type": "boolean" + } + } + }, + "v1PrivateCloudRateConfig": { + "description": "Private cloud rate config", + "properties": { + "cpuUnitPricePerHour": { + "format": "float64", + "type": "number" + }, + "gpuUnitPricePerHour": { + "format": "float64", + "type": "number" + }, + "memoryUnitPriceGiBPerHour": { + "format": "float64", + "type": "number" + }, + "storageUnitPriceGiBPerHour": { + "format": "float64", + "type": "number" + } + } + }, + "v1ProductUsage": { + "description": "Product usage", + "properties": { + "alloyUsage": { + "$ref": "#/definitions/v1SystemProductUsage" + }, + "pureUsage": { + "$ref": "#/definitions/v1SystemProductUsage" + } + } + }, + "v1ProfileMetaEntity": { + "description": "Cluster profile metadata request payload", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMetaInputEntity" + }, + "spec": { + "$ref": "#/definitions/v1ClusterProfileSpecEntity" + } + }, + "required": [ + "metadata" + ], + "type": "object" + }, + "v1ProfileResolvedValues": { + "description": "Cluster profile resolved pack values", + "properties": { + "resolved": { + "additionalProperties": { + "type": "string" + }, + "description": "Cluster profile pack resolved values", + "type": "object" + }, + "uid": { + "description": "Cluster profile uid", + "type": "string" + } + } + }, + "v1ProfileStatus": { + "properties": { + "hasUserMacros": { + "description": "If it is true then profile pack values has a reference to user defined macros", + "type": "boolean", + "x-omitempty": false + } + }, + "type": "object" + }, + "v1ProfileTemplateSummary": { + "description": "Edge host clusterprofile template summary", + "properties": { + "cloudType": { + "type": "string" + }, + "name": { + "type": "string" + }, + "packs": { + "items": { + "$ref": "#/definitions/v1PackRefSummary" + }, + "type": "array" + }, + "type": { + "type": "string" + }, + "uid": { + "type": "string" + }, + "version": { + "type": "string" + } + }, + "type": "object" + }, + "v1ProfileType": { + "default": "cluster", + "enum": [ + "cluster", + "infra", + "add-on", + "system" + ], + "type": "string" + }, + "v1Project": { + "description": "Project information", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1ProjectSpec" + }, + "status": { + "$ref": "#/definitions/v1ProjectStatus" + } + }, + "type": "object" + }, + "v1ProjectActiveAppDeployment": { + "description": "Active app deployment", + "properties": { + "appRef": { + "$ref": "#/definitions/v1ObjectEntity" + }, + "state": { + "type": "string" + } + }, + "type": "object" + }, + "v1ProjectActiveAppDeployments": { + "description": "Active app deployment", + "properties": { + "apps": { + "items": { + "$ref": "#/definitions/v1ProjectActiveAppDeployment" + }, + "type": "array" + }, + "count": { + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "v1ProjectActiveCluster": { + "description": "Active clusters", + "properties": { + "clusterRef": { + "$ref": "#/definitions/v1ObjectEntity" + }, + "state": { + "type": "string" + } + }, + "type": "object" + }, + "v1ProjectActiveClusters": { + "description": "Active clusters", + "properties": { + "clusters": { + "items": { + "$ref": "#/definitions/v1ProjectActiveCluster" + }, + "type": "array" + }, + "count": { + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "v1ProjectActiveResources": { + "description": "Active project resources", + "properties": { + "appDeployments": { + "$ref": "#/definitions/v1ProjectActiveAppDeployments" + }, + "clusters": { + "$ref": "#/definitions/v1ProjectActiveClusters" + }, + "virtualClusters": { + "$ref": "#/definitions/v1ProjectActiveClusters" + } + }, + "type": "object" + }, + "v1ProjectAlertComponent": { + "description": "Project alert component", + "properties": { + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "supportedChannels": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1ProjectAlertComponents": { + "description": "Supported project alerts component", + "properties": { + "components": { + "items": { + "$ref": "#/definitions/v1ProjectAlertComponent" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1ProjectCleanUpStatus": { + "description": "Project cleanup status", + "properties": { + "cleanedResources": { + "items": { + "type": "string" + }, + "type": "array" + }, + "msg": { + "type": "string" + }, + "state": { + "type": "string" + } + }, + "type": "object" + }, + "v1ProjectCleanup": { + "description": "Project delete request payload", + "properties": { + "deletingClusterDurationThresholdInMin": { + "format": "int32", + "type": "integer" + }, + "provisioningClusterDurationThresholdInMin": { + "format": "int32", + "type": "integer" + } + } + }, + "v1ProjectClusterSettings": { + "properties": { + "nodesAutoRemediationSetting": { + "$ref": "#/definitions/v1NodesAutoRemediationSettings" + }, + "tenantClusterSettings": { + "$ref": "#/definitions/v1TenantClusterSettings" + } + } + }, + "v1ProjectEntity": { + "description": "Project information", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1ProjectEntitySpec" + } + }, + "type": "object" + }, + "v1ProjectEntitySpec": { + "description": "Project specifications", + "properties": { + "logoUid": { + "type": "string" + }, + "teams": { + "items": { + "$ref": "#/definitions/v1TeamRoleMap" + }, + "type": "array", + "uniqueItems": true + }, + "users": { + "items": { + "$ref": "#/definitions/v1UserRoleMap" + }, + "type": "array", + "uniqueItems": true + } + } + }, + "v1ProjectFilterSortFields": { + "enum": [ + "name", + "creationTimestamp", + "lastModifiedTimestamp" + ], + "type": "string", + "x-nullable": true + }, + "v1ProjectFilterSortSpec": { + "properties": { + "field": { + "$ref": "#/definitions/v1ProjectFilterSortFields" + }, + "order": { + "$ref": "#/definitions/v1SortOrder" + } + } + }, + "v1ProjectFilterSpec": { + "description": "Project filter spec", + "properties": { + "name": { + "$ref": "#/definitions/v1FilterString" + } + } + }, + "v1ProjectMeta": { + "properties": { + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + }, + "type": "object" + }, + "v1ProjectMetadata": { + "description": "Project metadata", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectEntity" + } + } + }, + "v1ProjectPatch": { + "items": { + "$ref": "#/definitions/v1HttpPatch" + }, + "type": "array" + }, + "v1ProjectResourceUsage": { + "description": "project resource usage", + "properties": { + "alloyCpuCoreHours": { + "type": "number", + "x-omitempty": false + }, + "project": { + "$ref": "#/definitions/v1ProjectMeta" + }, + "pureCpuCoreHours": { + "type": "number", + "x-omitempty": false + } + } + }, + "v1ProjectRolesEntity": { + "properties": { + "projects": { + "items": { + "$ref": "#/definitions/v1UidRoleSummary" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1ProjectRolesPatch": { + "properties": { + "projects": { + "items": { + "properties": { + "projectUid": { + "type": "string" + }, + "roles": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1ProjectSpec": { + "description": "Project specifications", + "properties": { + "alerts": { + "items": { + "$ref": "#/definitions/v1Alert" + }, + "type": "array", + "uniqueItems": true + }, + "logoUrl": { + "type": "string" + }, + "teams": { + "items": { + "$ref": "#/definitions/v1TeamRoleMap" + }, + "type": "array", + "uniqueItems": true + }, + "users": { + "items": { + "$ref": "#/definitions/v1UserRoleMap" + }, + "type": "array", + "uniqueItems": true + } + } + }, + "v1ProjectSpecSummary": { + "properties": { + "logoUrl": { + "type": "string" + }, + "teams": { + "items": { + "$ref": "#/definitions/v1UidSummary" + }, + "type": "array" + }, + "users": { + "items": { + "$ref": "#/definitions/v1UidSummary" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1ProjectStatus": { + "description": "Project status", + "properties": { + "cleanUpStatus": { + "$ref": "#/definitions/v1ProjectCleanUpStatus" + }, + "isDisabled": { + "type": "boolean" + } + } + }, + "v1ProjectStatusSummary": { + "description": "Project status summary", + "properties": { + "clustersHealth": { + "$ref": "#/definitions/v1SpectroClustersHealth" + }, + "status": { + "$ref": "#/definitions/v1ProjectStatus" + }, + "usage": { + "$ref": "#/definitions/v1ProjectUsageSummary" + } + }, + "type": "object" + }, + "v1ProjectSummary": { + "description": "Project summary", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "specSummary": { + "$ref": "#/definitions/v1ProjectSpecSummary", + "description": "Project spec summary" + }, + "status": { + "$ref": "#/definitions/v1ProjectStatusSummary", + "description": "Project status summary" + } + }, + "type": "object" + }, + "v1ProjectTeamsEntity": { + "properties": { + "teams": { + "items": { + "$ref": "#/definitions/v1TeamRoleMap" + }, + "type": "array", + "uniqueItems": true + } + } + }, + "v1ProjectUsage": { + "description": "Project usage object", + "properties": { + "alloy": { + "$ref": "#/definitions/v1ProjectUsageData" + }, + "pure": { + "$ref": "#/definitions/v1ProjectUsageData" + } + } + }, + "v1ProjectUsageData": { + "description": "Project usage data object", + "properties": { + "amount": { + "description": "Billing amount for the project", + "format": "float64", + "type": "number" + }, + "tierPrice": { + "description": "Tier price based on the usage", + "format": "float64", + "type": "number" + }, + "usedCredits": { + "description": "Project used credits", + "format": "float64", + "type": "number" + } + } + }, + "v1ProjectUsageSummary": { + "description": "Project usage summary", + "properties": { + "alloyCpuCores": { + "type": "number", + "x-omitempty": false + }, + "clusters": { + "items": { + "$ref": "#/definitions/v1ClusterUsageSummary" + }, + "type": "array" + }, + "pureCpuCores": { + "type": "number", + "x-omitempty": false + } + }, + "type": "object" + }, + "v1ProjectUsersEntity": { + "properties": { + "users": { + "items": { + "$ref": "#/definitions/v1UserRoleMap" + }, + "type": "array", + "uniqueItems": true + } + } + }, + "v1Projects": { + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1Project" + }, + "type": "array", + "uniqueItems": true + }, + "listmeta": { + "$ref": "#/definitions/v1ListMetaData" + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1ProjectsFilterSpec": { + "description": "Project filter summary spec", + "properties": { + "filter": { + "$ref": "#/definitions/v1ProjectFilterSpec" + }, + "sort": { + "items": { + "$ref": "#/definitions/v1ProjectFilterSortSpec" + }, + "type": "array", + "uniqueItems": true + } + } + }, + "v1ProjectsMetadata": { + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1ProjectMetadata" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1ProjectsSummary": { + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1ProjectSummary" + }, + "type": "array", + "uniqueItems": true + }, + "listmeta": { + "$ref": "#/definitions/v1ListMetaData" + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1ProjectsWorkspaces": { + "description": "List projects and its workspaces", + "properties": { + "name": { + "type": "string" + }, + "uid": { + "type": "string" + }, + "workspaces": { + "items": { + "$ref": "#/definitions/v1WorkspacesRoles" + }, + "type": "array", + "uniqueItems": true + } + } + }, + "v1PublicCloudRateConfig": { + "description": "Public cloud rate config", + "properties": { + "computeOptimized": { + "$ref": "#/definitions/v1CloudInstanceRateConfig" + }, + "memoryOptimized": { + "$ref": "#/definitions/v1CloudInstanceRateConfig" + } + } + }, + "v1RateConfig": { + "description": "Rate config", + "properties": { + "aws": { + "$ref": "#/definitions/v1PublicCloudRateConfig" + }, + "azure": { + "$ref": "#/definitions/v1PublicCloudRateConfig" + }, + "coxedge": { + "$ref": "#/definitions/v1PublicCloudRateConfig" + }, + "custom": { + "items": { + "$ref": "#/definitions/v1CustomCloudRateConfig" + }, + "type": "array", + "uniqueItems": true + }, + "edge": { + "$ref": "#/definitions/v1PrivateCloudRateConfig" + }, + "edgeNative": { + "$ref": "#/definitions/v1PrivateCloudRateConfig" + }, + "gcp": { + "$ref": "#/definitions/v1PublicCloudRateConfig" + }, + "generic": { + "$ref": "#/definitions/v1PrivateCloudRateConfig" + }, + "libvirt": { + "$ref": "#/definitions/v1PrivateCloudRateConfig" + }, + "maas": { + "$ref": "#/definitions/v1PrivateCloudRateConfig" + }, + "openstack": { + "$ref": "#/definitions/v1PrivateCloudRateConfig" + }, + "vsphere": { + "$ref": "#/definitions/v1PrivateCloudRateConfig" + } + } + }, + "v1RegistriesMetadata": { + "description": "Pack Registries Metadata", + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1RegistryMetadata" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1RegistryAuth": { + "description": "Auth credentials of the registry", + "properties": { + "password": { + "format": "password", + "type": "string" + }, + "tls": { + "$ref": "#/definitions/v1TlsConfiguration" + }, + "token": { + "format": "password", + "type": "string" + }, + "type": { + "enum": [ + "noAuth", + "basic", + "token" + ], + "type": "string" + }, + "username": { + "type": "string" + } + }, + "type": "object" + }, + "v1RegistryConf": { + "description": "Registry configuration", + "properties": { + "auth": { + "$ref": "#/definitions/v1RegistryAuth" + }, + "endpoint": { + "type": "string" + } + }, + "type": "object" + }, + "v1RegistryConfigEntity": { + "description": "Registry configuration entity", + "properties": { + "config": { + "$ref": "#/definitions/v1RegistryConfiguration" + } + }, + "type": "object" + }, + "v1RegistryConfiguration": { + "description": "Registry configuration", + "properties": { + "auth": { + "$ref": "#/definitions/v1RegistryAuth" + }, + "endpoint": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "type": "object" + }, + "v1RegistryMetadata": { + "description": "Registry meta", + "properties": { + "isDefault": { + "type": "boolean", + "x-omitempty": false + }, + "isPrivate": { + "type": "boolean", + "x-omitempty": false + }, + "kind": { + "type": "string" + }, + "name": { + "type": "string" + }, + "scope": { + "type": "string" + }, + "uid": { + "type": "string" + } + }, + "type": "object" + }, + "v1RegistryPackMetadata": { + "description": "Registry metadata information", + "properties": { + "annotations": { + "additionalProperties": { + "type": "string" + }, + "description": "Pack annotations is used to allow pack to add more arbitrary configurations", + "type": "object" + }, + "latestPackUid": { + "description": "Latest pack uid", + "type": "string" + }, + "latestVersion": { + "description": "Pack latest version", + "type": "string" + }, + "logoUrl": { + "description": "Pack logo url", + "type": "string" + }, + "name": { + "description": "Pack registry name", + "type": "string" + }, + "scope": { + "description": "Pack registry scope", + "type": "string" + }, + "uid": { + "description": "Pack registry uid", + "type": "string" + } + } + }, + "v1RegistrySyncStatus": { + "description": "Status of the registry sync", + "properties": { + "lastRunTime": { + "$ref": "#/definitions/v1Time" + }, + "lastSyncedTime": { + "$ref": "#/definitions/v1Time" + }, + "message": { + "type": "string" + }, + "status": { + "type": "string" + } + }, + "type": "object" + }, + "v1RelatedObject": { + "description": "Object for which the resource is related", + "properties": { + "kind": { + "enum": [ + "spectrocluster", + "machine", + "cloudconfig", + "clusterprofile", + "pack", + "appprofile", + "appdeployment", + "edgehost" + ], + "type": "string" + }, + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + }, + "type": "object" + }, + "v1ReleaseDescription": { + "description": "spectro application management release description", + "properties": { + "details": { + "type": "string" + }, + "title": { + "type": "string" + }, + "version": { + "type": "string" + } + } + }, + "v1ReleaseVersion": { + "description": "spectro application management release version information", + "properties": { + "date": { + "$ref": "#/definitions/v1Time" + }, + "description": { + "type": "string" + }, + "releaseNotes": { + "items": { + "$ref": "#/definitions/v1ReleaseDescription" + }, + "type": "array" + }, + "version": { + "type": "string" + } + } + }, + "v1ResourceCloudCostSummary": { + "description": "Resource cloud cost summary information", + "properties": { + "data": { + "items": { + "$ref": "#/definitions/v1CloudCostDataPoint" + }, + "type": "array", + "uniqueItems": true + }, + "entity": { + "$ref": "#/definitions/v1ResourceReference" + }, + "total": { + "$ref": "#/definitions/v1ResourceTotalCloudCost" + } + }, + "type": "object" + }, + "v1ResourceConsumption": { + "description": "Resource consumption information", + "properties": { + "associatedResources": { + "items": { + "$ref": "#/definitions/v1ResourceReference" + }, + "type": "array" + }, + "data": { + "items": { + "$ref": "#/definitions/v1ResourceConsumptionDataPoint" + }, + "type": "array", + "uniqueItems": true + }, + "entity": { + "$ref": "#/definitions/v1ResourceReference" + }, + "total": { + "$ref": "#/definitions/v1ResourceTotalConsumptionData" + } + }, + "type": "object" + }, + "v1ResourceConsumptionData": { + "description": "Resource cosumption data", + "properties": { + "cpu": { + "format": "float64", + "type": "number", + "x-omitempty": false + }, + "memory": { + "format": "float64", + "type": "number", + "x-omitempty": false + } + }, + "type": "object" + }, + "v1ResourceConsumptionDataPoint": { + "description": "Resource cosumption data point", + "properties": { + "allotted": { + "$ref": "#/definitions/v1ResourceConsumptionData" + }, + "timestamp": { + "format": "int64", + "type": "number" + }, + "usage": { + "$ref": "#/definitions/v1ResourceConsumptionData" + } + }, + "type": "object" + }, + "v1ResourceConsumptionFilter": { + "description": "Resource consumption filter", + "properties": { + "clouds": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "clusters": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "endTime": { + "$ref": "#/definitions/v1Time" + }, + "includeControlPlaneMachines": { + "type": "boolean" + }, + "includeMasterMachines": { + "description": "Deprecated. Use includeControlPlaneMachines", + "type": "boolean" + }, + "namespaces": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "projects": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "startTime": { + "$ref": "#/definitions/v1Time" + }, + "workspaces": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "v1ResourceConsumptionOptions": { + "description": "Resource consumption options", + "properties": { + "enableSummaryView": { + "default": true, + "type": "boolean" + }, + "groupBy": { + "default": "namespace", + "enum": [ + "tenant", + "project", + "workspace", + "cluster", + "namespace", + "cloud" + ], + "type": "string" + }, + "period": { + "default": 60, + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "v1ResourceConsumptionSpec": { + "description": "Resource consumption spec", + "properties": { + "filter": { + "$ref": "#/definitions/v1ResourceConsumptionFilter" + }, + "options": { + "$ref": "#/definitions/v1ResourceConsumptionOptions" + } + }, + "type": "object" + }, + "v1ResourceCost": { + "description": "Resource Cost information", + "properties": { + "cloud": { + "$ref": "#/definitions/v1CloudCost" + }, + "total": { + "format": "float64", + "type": "number", + "x-omitempty": false + } + }, + "type": "object" + }, + "v1ResourceCostDataPoint": { + "description": "Resource cost data point", + "properties": { + "cpu": { + "format": "float64", + "type": "number", + "x-omitempty": false + }, + "memory": { + "format": "float64", + "type": "number", + "x-omitempty": false + }, + "storage": { + "format": "float64", + "type": "number", + "x-omitempty": false + }, + "timestamp": { + "format": "int64", + "type": "number" + }, + "total": { + "format": "float64", + "type": "number", + "x-omitempty": false + } + }, + "type": "object" + }, + "v1ResourceCostSummary": { + "description": "Resource cost summary information", + "properties": { + "associatedResources": { + "items": { + "$ref": "#/definitions/v1ResourceReference" + }, + "type": "array" + }, + "data": { + "items": { + "$ref": "#/definitions/v1ResourceCostDataPoint" + }, + "type": "array", + "uniqueItems": true + }, + "entity": { + "$ref": "#/definitions/v1ResourceReference" + }, + "total": { + "$ref": "#/definitions/v1ResourceTotalCost" + } + }, + "type": "object" + }, + "v1ResourceCostSummaryFilter": { + "description": "Resource cost summary filter", + "properties": { + "clouds": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "clusters": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "endTime": { + "$ref": "#/definitions/v1Time" + }, + "includeControlPlaneMachines": { + "type": "boolean" + }, + "includeMasterMachines": { + "description": "Deprecated. Use includeControlPlaneMachines", + "type": "boolean" + }, + "namespaces": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "projects": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "startTime": { + "$ref": "#/definitions/v1Time" + }, + "workspaces": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "v1ResourceCostSummaryOptions": { + "description": "Resource cost summary options", + "properties": { + "enableSummaryView": { + "default": true, + "type": "boolean" + }, + "groupBy": { + "default": "cluster", + "enum": [ + "tenant", + "project", + "workspace", + "cluster", + "namespace", + "deployment", + "cloud" + ], + "type": "string" + }, + "period": { + "default": 60, + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "v1ResourceCostSummarySpec": { + "description": "Resource cost summary spec", + "properties": { + "filter": { + "$ref": "#/definitions/v1ResourceCostSummaryFilter" + }, + "options": { + "$ref": "#/definitions/v1ResourceCostSummaryOptions" + } + }, + "type": "object" + }, + "v1ResourceEntity": { + "properties": { + "checks": { + "items": { + "type": "string" + }, + "type": "array" + }, + "data": { + "additionalProperties": { + "type": "object" + }, + "type": "object" + } + }, + "type": "object" + }, + "v1ResourceGroup": { + "description": "Azure resource Group is a container that holds related resources for an Azure solution", + "properties": { + "id": { + "description": "The ID of the resource group", + "type": "string" + }, + "location": { + "description": "The location of the resource group. It cannot be changed after the resource group has been created", + "type": "string" + }, + "name": { + "description": "The type of the resource group", + "type": "string" + } + }, + "type": "object" + }, + "v1ResourceLimitType": { + "enum": [ + "user", + "project", + "apiKey", + "team", + "role", + "cloudaccount", + "clusterprofile", + "workspace", + "registry", + "privategateway", + "location", + "certificate", + "macro", + "sshkey", + "alert", + "spectrocluster", + "edgehost", + "appprofile", + "appdeployment", + "edgetoken", + "clustergroup", + "filter", + "systemadmin" + ], + "type": "string" + }, + "v1ResourceReference": { + "properties": { + "kind": { + "type": "string" + }, + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + }, + "required": [ + "uid" + ], + "type": "object" + }, + "v1ResourceRoles": { + "properties": { + "resourceRoles": { + "items": { + "$ref": "#/definitions/v1ResourceRolesEntity" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1ResourceRolesEntity": { + "properties": { + "filterRefs": { + "items": { + "$ref": "#/definitions/v1UidSummary" + }, + "type": "array" + }, + "projectUids": { + "items": { + "$ref": "#/definitions/v1UidSummary" + }, + "type": "array" + }, + "roles": { + "items": { + "$ref": "#/definitions/v1UidSummary" + }, + "type": "array" + }, + "uid": { + "type": "string" + } + }, + "type": "object" + }, + "v1ResourceRolesUpdateEntity": { + "properties": { + "filterRefs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "projectUids": { + "items": { + "type": "string" + }, + "type": "array" + }, + "roles": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1ResourceTotalCloudCost": { + "description": "Resource total cloud cost information", + "properties": { + "compute": { + "format": "float64", + "type": "number", + "x-omitempty": false + }, + "storage": { + "format": "float64", + "type": "number", + "x-omitempty": false + }, + "total": { + "format": "float64", + "type": "number", + "x-omitempty": false + } + }, + "type": "object" + }, + "v1ResourceTotalConsumptionData": { + "description": "Resource total cosumption data", + "properties": { + "allotted": { + "$ref": "#/definitions/v1ResourceConsumptionData" + }, + "usage": { + "$ref": "#/definitions/v1ResourceConsumptionData" + } + }, + "type": "object" + }, + "v1ResourceTotalCost": { + "description": "Resource total cost information", + "properties": { + "cpu": { + "format": "float64", + "type": "number", + "x-omitempty": false + }, + "memory": { + "format": "float64", + "type": "number", + "x-omitempty": false + }, + "storage": { + "format": "float64", + "type": "number", + "x-omitempty": false + }, + "total": { + "format": "float64", + "type": "number", + "x-omitempty": false + } + }, + "type": "object" + }, + "v1ResourceUsage": { + "description": "ResourceUsage", + "properties": { + "projects": { + "items": { + "$ref": "#/definitions/v1ProjectResourceUsage" + }, + "type": "array", + "uniqueItems": true + }, + "timestamp": { + "$ref": "#/definitions/v1Time", + "description": "resource usage time" + }, + "totalAlloyCpuCoreHours": { + "type": "number", + "x-omitempty": false + }, + "totalPureCpuCoreHours": { + "type": "number", + "x-omitempty": false + } + } + }, + "v1ResourceUsageDataPoint": { + "description": "Resource usage data point", + "properties": { + "baremetal": { + "$ref": "#/definitions/v1ResourceUsageMeteringDataPoint" + }, + "cpu": { + "format": "float64", + "type": "number", + "x-omitempty": false + }, + "edgehost": { + "$ref": "#/definitions/v1ResourceUsageMeteringDataPoint" + }, + "memory": { + "format": "float64", + "type": "number", + "x-omitempty": false + }, + "timestamp": { + "format": "int64", + "type": "number" + } + }, + "type": "object" + }, + "v1ResourceUsageMeteringDataPoint": { + "description": "min and max count for machines \u0026 edgehost for the given period", + "properties": { + "activeEdgehosts": { + "format": "int64", + "type": "number" + }, + "activeMachines": { + "format": "int64", + "type": "number" + }, + "maxEdgehosts": { + "format": "int64", + "type": "number" + }, + "maxMachines": { + "format": "int64", + "type": "number" + } + }, + "type": "object" + }, + "v1ResourceUsageSummary": { + "description": "Resource usage summary information", + "properties": { + "associatedResources": { + "items": { + "$ref": "#/definitions/v1ResourceReference" + }, + "type": "array" + }, + "data": { + "items": { + "$ref": "#/definitions/v1ResourceUsageDataPoint" + }, + "type": "array", + "uniqueItems": true + }, + "entity": { + "$ref": "#/definitions/v1ResourceReference" + } + }, + "type": "object" + }, + "v1ResourceUsageSummaryFilter": { + "description": "Resource usage summary filter", + "properties": { + "clouds": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "clusters": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "endTime": { + "$ref": "#/definitions/v1Time" + }, + "includeControlPlaneMachines": { + "type": "boolean" + }, + "includeMasterMachines": { + "description": "Deprecated. Use includeControlPlaneMachines", + "type": "boolean" + }, + "namespaces": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "pods": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "projects": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "startTime": { + "$ref": "#/definitions/v1Time" + }, + "workload": { + "$ref": "#/definitions/v1ResourceWorkloadFilter" + }, + "workspaces": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "v1ResourceUsageSummaryOptions": { + "description": "Resource usage summary options", + "properties": { + "enableSummaryView": { + "default": true, + "type": "boolean" + }, + "groupBy": { + "default": "cluster", + "enum": [ + "tenant", + "project", + "workspace", + "cluster", + "namespace", + "deployment", + "statefulset", + "daemonset", + "pod", + "cloud" + ], + "type": "string" + }, + "includeMeteringInfo": { + "default": false, + "type": "boolean" + }, + "period": { + "default": 60, + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "v1ResourceUsageSummarySpec": { + "description": "Resource usage summary spec", + "properties": { + "filter": { + "$ref": "#/definitions/v1ResourceUsageSummaryFilter" + }, + "options": { + "$ref": "#/definitions/v1ResourceUsageSummaryOptions" + } + }, + "type": "object" + }, + "v1ResourceWorkloadFilter": { + "description": "Workload resource filter", + "properties": { + "names": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "type": { + "default": "all", + "enum": [ + "deployment", + "statefulset", + "daemonset", + "all" + ], + "type": "string" + } + }, + "type": "object" + }, + "v1Resources": { + "properties": { + "resources": { + "additionalProperties": { + "$ref": "#/definitions/v1ResourceEntity", + "type": "object" + }, + "type": "object" + } + }, + "type": "object" + }, + "v1ResourcesCloudCostSummary": { + "description": "Resources cloud cost summary information", + "properties": { + "resources": { + "items": { + "$ref": "#/definitions/v1ResourceCloudCostSummary" + }, + "type": "array" + }, + "total": { + "$ref": "#/definitions/v1ResourceTotalCloudCost" + } + }, + "type": "object" + }, + "v1ResourcesConsumption": { + "description": "Resources consumption information", + "properties": { + "cpuUnit": { + "type": "string" + }, + "memoryUnit": { + "type": "string" + }, + "resources": { + "items": { + "$ref": "#/definitions/v1ResourceConsumption" + }, + "type": "array" + }, + "total": { + "$ref": "#/definitions/v1ResourceTotalConsumptionData" + } + }, + "type": "object" + }, + "v1ResourcesCostSummary": { + "description": "Resources cost summary information", + "properties": { + "resources": { + "items": { + "$ref": "#/definitions/v1ResourceCostSummary" + }, + "type": "array" + }, + "total": { + "$ref": "#/definitions/v1ResourceTotalCost" + } + }, + "type": "object" + }, + "v1ResourcesUsageSummary": { + "description": "Resources usage summary information", + "properties": { + "cpuUnit": { + "type": "string" + }, + "memoryUnit": { + "type": "string" + }, + "resources": { + "items": { + "$ref": "#/definitions/v1ResourceUsageSummary" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1RestoreStatusMeta": { + "description": "Restore status meta", + "properties": { + "isSucceeded": { + "type": "boolean" + }, + "msg": { + "type": "string" + }, + "restoreTime": { + "$ref": "#/definitions/v1Time" + } + } + }, + "v1Role": { + "description": "Role", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1RoleSpec" + }, + "status": { + "$ref": "#/definitions/v1RoleStatus" + } + } + }, + "v1RoleClone": { + "description": "Role clone specifications", + "properties": { + "metadata": { + "$ref": "#/definitions/v1RoleCloneMetadata" + } + } + }, + "v1RoleCloneMetadata": { + "description": "Role clone metadata", + "properties": { + "name": { + "type": "string" + } + } + }, + "v1RolePatch": { + "items": { + "$ref": "#/definitions/v1HttpPatch" + }, + "type": "array" + }, + "v1RoleSpec": { + "description": "Role specifications", + "properties": { + "permissions": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "scope": { + "$ref": "#/definitions/v1Scope" + }, + "type": { + "enum": [ + "system", + "user" + ], + "type": "string" + } + } + }, + "v1RoleStatus": { + "description": "Role status", + "properties": { + "isEnabled": { + "description": "Specifies if role account is enabled/disabled", + "type": "boolean", + "x-omitempty": false + } + } + }, + "v1Roles": { + "description": "Array of Roles", + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1Role" + }, + "type": "array", + "uniqueItems": true + }, + "listmeta": { + "$ref": "#/definitions/v1ListMetaData" + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1S3StorageConfig": { + "description": "S3 storage config object", + "properties": { + "bucketName": { + "description": "S3 storage bucket name", + "type": "string" + }, + "caCert": { + "description": "CA Certificate", + "type": "string" + }, + "credentials": { + "$ref": "#/definitions/v1AwsCloudAccount", + "description": "AWS cloud account credentials" + }, + "region": { + "description": "AWS region name", + "type": "string" + }, + "s3ForcePathStyle": { + "default": true, + "type": "boolean" + }, + "s3Url": { + "description": "Custom hosted S3 URL", + "type": "string" + }, + "useRestic": { + "default": true, + "description": "Set to 'true', to use Restic plugin for the backup", + "type": "boolean" + } + }, + "required": [ + "bucketName", + "region", + "credentials" + ], + "type": "object" + }, + "v1SchedulerJob": { + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta", + "type": "object", + "x-omitempty": false + }, + "spec": { + "properties": { + "cycles": { + "type": "integer", + "x-omitempty": false + }, + "interval": { + "type": "integer", + "x-omitempty": false + } + }, + "type": "object" + }, + "status": { + "properties": { + "cycleNumber": { + "type": "integer", + "x-omitempty": false + }, + "error": { + "type": "string", + "x-omitempty": false + }, + "forceNextRun": { + "type": "boolean", + "x-omitempty": false + }, + "isActive": { + "type": "boolean", + "x-omitempty": false + }, + "isDisabled": { + "type": "boolean", + "x-omitempty": false + }, + "isLocked": { + "type": "boolean", + "x-omitempty": false + }, + "lastRunTime": { + "$ref": "#/definitions/v1Time", + "x-omitempty": false + }, + "lastSuccessfulRunTime": { + "$ref": "#/definitions/v1Time", + "x-omitempty": false + }, + "nextRunTime": { + "$ref": "#/definitions/v1Time", + "x-omitempty": false + } + }, + "type": "object" + } + }, + "type": "object" + }, + "v1SchedulerJobs": { + "items": { + "$ref": "#/definitions/v1SchedulerJob" + }, + "type": "array", + "uniqueItems": true + }, + "v1SchedulerJobsHealth": { + "items": { + "$ref": "#/definitions/v1SchedulerJob" + }, + "type": "array", + "uniqueItems": true + }, + "v1Scope": { + "enum": [ + "system", + "tenant", + "project", + "resource" + ], + "type": "string" + }, + "v1SearchFilterBoolCondition": { + "properties": { + "value": { + "type": "boolean" + } + } + }, + "v1SearchFilterCondition": { + "properties": { + "bool": { + "$ref": "#/definitions/v1SearchFilterBoolCondition" + }, + "date": { + "$ref": "#/definitions/v1SearchFilterDateCondition" + }, + "float": { + "$ref": "#/definitions/v1SearchFilterFloatCondition" + }, + "int": { + "$ref": "#/definitions/v1SearchFilterIntegerCondition" + }, + "keyValue": { + "$ref": "#/definitions/v1SearchFilterKeyValueCondition" + }, + "string": { + "$ref": "#/definitions/v1SearchFilterStringCondition" + } + } + }, + "v1SearchFilterConjunctionOperator": { + "enum": [ + "and", + "or" + ], + "type": "string", + "x-nullable": true + }, + "v1SearchFilterDateCondition": { + "properties": { + "match": { + "$ref": "#/definitions/v1SearchFilterDateConditionMatch" + }, + "negation": { + "type": "boolean" + }, + "operator": { + "$ref": "#/definitions/v1SearchFilterDateOperator" + } + } + }, + "v1SearchFilterDateConditionMatch": { + "properties": { + "conjunction": { + "$ref": "#/definitions/v1SearchFilterConjunctionOperator" + }, + "values": { + "items": { + "$ref": "#/definitions/v1Time" + }, + "type": "array", + "uniqueItems": true + } + } + }, + "v1SearchFilterDateOperator": { + "enum": [ + "eq", + "gt", + "gte", + "lt", + "lte", + "range" + ], + "type": "string" + }, + "v1SearchFilterFloatCondition": { + "properties": { + "match": { + "$ref": "#/definitions/v1SearchFilterFloatConditionMatch" + }, + "negation": { + "type": "boolean" + }, + "operator": { + "$ref": "#/definitions/v1SearchFilterIntegerOperator" + } + } + }, + "v1SearchFilterFloatConditionMatch": { + "properties": { + "conjunction": { + "$ref": "#/definitions/v1SearchFilterConjunctionOperator" + }, + "values": { + "items": { + "format": "float64", + "type": "number" + }, + "type": "array", + "uniqueItems": true + } + } + }, + "v1SearchFilterGroup": { + "properties": { + "conjunction": { + "$ref": "#/definitions/v1SearchFilterConjunctionOperator" + }, + "filters": { + "items": { + "$ref": "#/definitions/v1SearchFilterItem" + }, + "type": "array", + "uniqueItems": true + } + } + }, + "v1SearchFilterIntegerCondition": { + "properties": { + "match": { + "$ref": "#/definitions/v1SearchFilterIntegerConditionMatch" + }, + "negation": { + "type": "boolean" + }, + "operator": { + "$ref": "#/definitions/v1SearchFilterIntegerOperator" + } + } + }, + "v1SearchFilterIntegerConditionMatch": { + "properties": { + "conjunction": { + "$ref": "#/definitions/v1SearchFilterConjunctionOperator" + }, + "values": { + "items": { + "type": "integer" + }, + "type": "array", + "uniqueItems": true + } + } + }, + "v1SearchFilterIntegerOperator": { + "enum": [ + "eq", + "gt", + "gte", + "lt", + "lte" + ], + "type": "string" + }, + "v1SearchFilterItem": { + "properties": { + "condition": { + "$ref": "#/definitions/v1SearchFilterCondition" + }, + "property": { + "type": "string" + }, + "type": { + "$ref": "#/definitions/v1SearchFilterPropertyType" + } + } + }, + "v1SearchFilterKeyValueCondition": { + "properties": { + "ignoreCase": { + "type": "boolean" + }, + "key": { + "type": "string" + }, + "match": { + "$ref": "#/definitions/v1SearchFilterKeyValueConditionMatch" + }, + "negation": { + "type": "boolean" + }, + "operator": { + "$ref": "#/definitions/v1SearchFilterStringOperator" + } + } + }, + "v1SearchFilterKeyValueConditionMatch": { + "properties": { + "conjunction": { + "$ref": "#/definitions/v1SearchFilterConjunctionOperator" + }, + "values": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + } + }, + "v1SearchFilterKeyValueOperator": { + "enum": [ + "eq" + ], + "type": "string" + }, + "v1SearchFilterPropertyType": { + "enum": [ + "string", + "int", + "float", + "bool", + "date", + "keyValue" + ], + "type": "string" + }, + "v1SearchFilterSchemaSpec": { + "properties": { + "schema": { + "$ref": "#/definitions/v1SearchFilterSchemaSpecProperties" + } + } + }, + "v1SearchFilterSchemaSpecEnumValue": { + "properties": { + "displayValue": { + "type": "string" + }, + "value": { + "type": "string" + } + } + }, + "v1SearchFilterSchemaSpecProperties": { + "properties": { + "properties": { + "items": { + "$ref": "#/definitions/v1SearchFilterSchemaSpecProperty" + }, + "type": "array" + } + } + }, + "v1SearchFilterSchemaSpecProperty": { + "properties": { + "default": { + "type": "string", + "x-order": 6 + }, + "displayName": { + "type": "string", + "x-order": 2 + }, + "enum": { + "items": { + "type": "string" + }, + "type": "array", + "x-omitempty": true, + "x-order": 4 + }, + "enumValues": { + "items": { + "$ref": "#/definitions/v1SearchFilterSchemaSpecEnumValue" + }, + "type": "array", + "x-omitempty": true, + "x-order": 5 + }, + "hideDisplay": { + "type": "boolean", + "x-order": 1 + }, + "maxFloatVal": { + "format": "float64", + "type": "number", + "x-order": 10 + }, + "maxIntVal": { + "format": "int32", + "type": "integer", + "x-order": 8 + }, + "minFloatVal": { + "format": "float64", + "type": "number", + "x-order": 9 + }, + "minIntVal": { + "format": "int32", + "type": "integer", + "x-order": 7 + }, + "name": { + "type": "string", + "x-order": 0 + }, + "type": { + "type": "string", + "x-order": 3 + } + } + }, + "v1SearchFilterSortSpec": { + "properties": { + "field": { + "$ref": "#/definitions/v1SearchSortFields" + }, + "order": { + "$ref": "#/definitions/v1SortOrder" + } + } + }, + "v1SearchFilterSpec": { + "properties": { + "conjunction": { + "$ref": "#/definitions/v1SearchFilterConjunctionOperator" + }, + "filterGroups": { + "items": { + "$ref": "#/definitions/v1SearchFilterGroup" + }, + "type": "array", + "uniqueItems": true + } + } + }, + "v1SearchFilterStringCondition": { + "properties": { + "ignoreCase": { + "type": "boolean" + }, + "match": { + "$ref": "#/definitions/v1SearchFilterStringConditionMatch" + }, + "negation": { + "type": "boolean" + }, + "operator": { + "$ref": "#/definitions/v1SearchFilterStringOperator" + } + } + }, + "v1SearchFilterStringConditionMatch": { + "properties": { + "conjunction": { + "$ref": "#/definitions/v1SearchFilterConjunctionOperator" + }, + "values": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + } + }, + "v1SearchFilterStringOperator": { + "enum": [ + "eq", + "contains", + "beginsWith" + ], + "type": "string" + }, + "v1SearchFilterSummarySpec": { + "description": "Spectro cluster search filter summary spec", + "properties": { + "filter": { + "$ref": "#/definitions/v1SearchFilterSpec" + }, + "sort": { + "items": { + "$ref": "#/definitions/v1SearchFilterSortSpec" + }, + "type": "array", + "uniqueItems": true + } + } + }, + "v1SearchSortFields": { + "enum": [ + "environment", + "clusterName", + "clusterState", + "healthState", + "creationTimestamp", + "lastModifiedTimestamp" + ], + "type": "string", + "x-nullable": true + }, + "v1SectroClusterK8sDashboardUrl": { + "description": "Service version information", + "properties": { + "url": { + "type": "string" + } + }, + "type": "object" + }, + "v1ServiceEncryptionKey": { + "description": "Returns the data encryption key for the session", + "properties": { + "encryptionKey": { + "description": "Encryption key to be used to decrypt the encrypted data in the response", + "type": "string" + } + }, + "type": "object" + }, + "v1ServiceImage": { + "description": "Service image entity", + "properties": { + "buildId": { + "type": "string" + }, + "image": { + "type": "string" + }, + "serviceName": { + "type": "string" + }, + "version": { + "type": "string" + } + }, + "type": "object" + }, + "v1ServiceManifest": { + "description": "Service manifest information", + "properties": { + "apiVersion": { + "type": "string" + }, + "kind": { + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1ServiceManifestSpec" + } + }, + "type": "object" + }, + "v1ServiceManifestSpec": { + "properties": { + "manifests": { + "items": { + "$ref": "#/definitions/v1GitRepoFileContent" + }, + "type": "array", + "uniqueItems": true + }, + "name": { + "type": "string" + }, + "version": { + "type": "string" + } + }, + "type": "object" + }, + "v1ServicePort": { + "properties": { + "port": { + "description": "The port that will be exposed by this service.", + "format": "int32", + "type": "integer" + }, + "protocol": { + "type": "string" + } + }, + "required": [ + "port" + ], + "type": "object" + }, + "v1ServiceSpec": { + "description": "ServiceSpec defines the specification of service registering edge", + "properties": { + "name": { + "type": "string" + }, + "version": { + "type": "string" + } + }, + "type": "object" + }, + "v1ServiceVersion": { + "description": "Service version information", + "properties": { + "apiVersion": { + "type": "string" + }, + "kind": { + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1ServiceVersionSpec" + } + }, + "type": "object" + }, + "v1ServiceVersionSpec": { + "properties": { + "latestVersion": { + "$ref": "#/definitions/v1GitRepoFileContent" + }, + "name": { + "type": "string" + } + }, + "type": "object" + }, + "v1ServicesImages": { + "properties": { + "serviceImages": { + "items": { + "$ref": "#/definitions/v1ServiceImage" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "v1SonobuoyEntity": { + "description": "Sonobuoy response", + "properties": { + "reports": { + "additionalProperties": { + "$ref": "#/definitions/v1SonobuoyReportEntity" + }, + "type": "object" + }, + "requestUid": { + "type": "string" + }, + "status": { + "enum": [ + "Completed", + "InProgress", + "Failed", + "Initiated" + ], + "type": "string" + } + }, + "required": [ + "requestUid", + "status", + "reports" + ] + }, + "v1SonobuoyLog": { + "description": "Compliance Scan Sonobuoy Log", + "properties": { + "description": { + "type": "string" + }, + "msg": { + "type": "string" + }, + "output": { + "type": "string" + }, + "path": { + "type": "string" + }, + "state": { + "type": "string" + } + } + }, + "v1SonobuoyLogEntity": { + "description": "Sonobuoy log", + "properties": { + "description": { + "type": "string" + }, + "msg": { + "type": "string" + }, + "output": { + "type": "string" + }, + "path": { + "type": "string" + }, + "state": { + "type": "string" + } + } + }, + "v1SonobuoyReport": { + "description": "Compliance Scan Sonobuoy Report", + "properties": { + "fail": { + "format": "int32", + "type": "integer" + }, + "logs": { + "items": { + "$ref": "#/definitions/v1SonobuoyLog" + }, + "type": "array" + }, + "node": { + "type": "string" + }, + "pass": { + "format": "int32", + "type": "integer" + }, + "plugin": { + "type": "string" + }, + "status": { + "type": "string" + }, + "total": { + "format": "int32", + "type": "integer" + } + } + }, + "v1SonobuoyReportEntity": { + "description": "Sonobuoy report", + "properties": { + "fail": { + "format": "int32", + "type": "integer" + }, + "logs": { + "items": { + "$ref": "#/definitions/v1SonobuoyLogEntity" + }, + "type": "array" + }, + "node": { + "type": "string" + }, + "pass": { + "format": "int32", + "type": "integer" + }, + "plugin": { + "type": "string" + }, + "status": { + "type": "string" + }, + "total": { + "format": "int32", + "type": "integer" + } + } + }, + "v1SortOrder": { + "default": "asc", + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + "v1SpcApply": { + "properties": { + "actionType": { + "enum": [ + "DownloadAndInstall", + "DownloadAndInstallLater" + ], + "type": "string" + }, + "canBeApplied": { + "description": "If it is true then Agent can apply the changes to the palette", + "type": "boolean", + "x-omitempty": false + }, + "crdDigest": { + "type": "string" + }, + "lastModifiedTime": { + "$ref": "#/definitions/v1Time" + }, + "patchAppliedTime": { + "$ref": "#/definitions/v1Time" + }, + "spcHash": { + "type": "string" + }, + "spcInfraHash": { + "type": "string" + } + }, + "type": "object" + }, + "v1SpcApplySettings": { + "properties": { + "actionType": { + "enum": [ + "DownloadAndInstall", + "DownloadAndInstallLater" + ], + "type": "string" + } + }, + "type": "object" + }, + "v1SpcPatchTimeEntity": { + "properties": { + "clusterHash": { + "type": "string" + }, + "patchTime": { + "$ref": "#/definitions/v1Time" + } + }, + "type": "object" + }, + "v1SpectroAppMgmtUpgrade": { + "description": "Spectro application management upgrade information", + "properties": { + "profiles": { + "items": { + "$ref": "#/definitions/v1ClusterProfileNotificationUpdateEntity" + }, + "type": "array", + "uniqueItems": true + }, + "version": { + "type": "string" + } + }, + "required": [ + "version" + ], + "type": "object" + }, + "v1SpectroAwsClusterEntity": { + "description": "AWS cluster request payload for create and update", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "properties": { + "cloudAccountUid": { + "description": "Cloud account uid to be used for cluster provisioning", + "type": "string" + }, + "cloudConfig": { + "$ref": "#/definitions/v1AwsClusterConfig" + }, + "clusterConfig": { + "$ref": "#/definitions/v1ClusterConfigEntity", + "description": "General cluster configuration like health, patching settings, namespace resource allocation, rbac" + }, + "machinepoolconfig": { + "items": { + "$ref": "#/definitions/v1AwsMachinePoolConfigEntity" + }, + "type": "array" + }, + "policies": { + "$ref": "#/definitions/v1SpectroClusterPolicies" + }, + "profiles": { + "items": { + "$ref": "#/definitions/v1SpectroClusterProfileEntity" + }, + "type": "array" + } + }, + "required": [ + "cloudType", + "cloudAccountUid", + "cloudConfig" + ], + "type": "object" + } + }, + "type": "object" + }, + "v1SpectroAwsClusterImportEntity": { + "description": "Spectro AWS cluster import request payload", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMetaInputEntity" + }, + "spec": { + "properties": { + "clusterConfig": { + "$ref": "#/definitions/v1ImportClusterConfig" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "v1SpectroAwsClusterRateEntity": { + "description": "Spectro AWS cluster request payload for estimating rate", + "properties": { + "cloudConfig": { + "$ref": "#/definitions/v1AwsClusterConfig" + }, + "machinepoolconfig": { + "items": { + "$ref": "#/definitions/v1AwsMachinePoolConfigEntity" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1SpectroAzureClusterEntity": { + "description": "Azure cluster request payload for create and update", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "properties": { + "cloudAccountUid": { + "description": "Cloud account uid to be used for cluster provisioning", + "type": "string" + }, + "cloudConfig": { + "$ref": "#/definitions/v1AzureClusterConfig" + }, + "clusterConfig": { + "$ref": "#/definitions/v1ClusterConfigEntity", + "description": "General cluster configuration like health, patching settings, namespace resource allocation, rbac" + }, + "machinepoolconfig": { + "items": { + "$ref": "#/definitions/v1AzureMachinePoolConfigEntity" + }, + "type": "array" + }, + "policies": { + "$ref": "#/definitions/v1SpectroClusterPolicies" + }, + "profiles": { + "items": { + "$ref": "#/definitions/v1SpectroClusterProfileEntity" + }, + "type": "array" + } + }, + "required": [ + "cloudType", + "cloudAccountUid", + "cloudConfig" + ], + "type": "object" + } + }, + "type": "object" + }, + "v1SpectroAzureClusterImportEntity": { + "description": "Spectro Azure cluster import request payload", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMetaInputEntity" + }, + "spec": { + "properties": { + "clusterConfig": { + "$ref": "#/definitions/v1ImportClusterConfig" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "v1SpectroAzureClusterRateEntity": { + "description": "Spectro Azure cluster request payload for estimating rate", + "properties": { + "cloudConfig": { + "$ref": "#/definitions/v1AzureClusterConfig" + }, + "machinepoolconfig": { + "items": { + "$ref": "#/definitions/v1AzureMachinePoolConfigEntity" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1SpectroCluster": { + "description": "SpectroCluster is the Schema for the spectroclusters API", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1SpectroClusterSpec" + }, + "status": { + "$ref": "#/definitions/v1SpectroClusterStatus" + } + }, + "type": "object" + }, + "v1SpectroClusterActiveAppDeployment": { + "description": "Active app deployment", + "properties": { + "appRef": { + "$ref": "#/definitions/v1ObjectEntity" + }, + "state": { + "type": "string" + } + }, + "type": "object" + }, + "v1SpectroClusterActiveCluster": { + "description": "Active clusters", + "properties": { + "clusterRef": { + "$ref": "#/definitions/v1ObjectEntity" + }, + "state": { + "type": "string" + } + }, + "type": "object" + }, + "v1SpectroClusterActiveResources": { + "description": "Active cluster resources", + "properties": { + "appDeployments": { + "items": { + "$ref": "#/definitions/v1SpectroClusterActiveAppDeployment" + }, + "type": "array" + }, + "clusters": { + "items": { + "$ref": "#/definitions/v1SpectroClusterActiveCluster" + }, + "type": "array" + }, + "virtualClusters": { + "items": { + "$ref": "#/definitions/v1SpectroClusterActiveCluster" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1SpectroClusterAddOnService": { + "description": "Spectro cluster addon service", + "properties": { + "endpoint": { + "type": "string" + }, + "name": { + "type": "string" + } + } + }, + "v1SpectroClusterAddOnServiceSummary": { + "description": "Spectro cluster status summary", + "properties": { + "endpoint": { + "type": "string" + }, + "name": { + "type": "string" + } + } + }, + "v1SpectroClusterAssetEntity": { + "description": "Cluster asset", + "properties": { + "spec": { + "properties": { + "frpKubeconfig": { + "type": "string" + }, + "kubeconfig": { + "type": "string" + }, + "kubeconfigclient": { + "type": "string" + }, + "manifest": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "v1SpectroClusterAssetFrpKubeConfig": { + "description": "Cluster asset Frp Kube Config", + "properties": { + "frpKubeconfig": { + "type": "string" + } + }, + "type": "object" + }, + "v1SpectroClusterAssetKubeConfig": { + "description": "Cluster asset Kube Config", + "properties": { + "kubeconfig": { + "type": "string" + } + }, + "type": "object" + }, + "v1SpectroClusterAssetKubeConfigClient": { + "description": "Cluster asset Kube Config Client", + "properties": { + "kubeconfigclient": { + "type": "string" + } + }, + "type": "object" + }, + "v1SpectroClusterAssetManifest": { + "description": "Cluster asset", + "properties": { + "manifest": { + "type": "string" + } + }, + "type": "object" + }, + "v1SpectroClusterCloudCost": { + "description": "Spectro cluster cloud cost information", + "properties": { + "cost": { + "$ref": "#/definitions/v1ResourceCost" + }, + "data": { + "items": { + "$ref": "#/definitions/v1CloudCostDataPoint" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1SpectroClusterCloudCostSummaryFilter": { + "description": "Spectro cluster cloud cost summary filter", + "properties": { + "clouds": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "endTime": { + "$ref": "#/definitions/v1Time" + }, + "projects": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "startTime": { + "$ref": "#/definitions/v1Time" + }, + "workspaces": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "v1SpectroClusterCloudCostSummaryOptions": { + "description": "Spectro cluster cloud cost summary options", + "properties": { + "groupBy": { + "default": "project", + "enum": [ + "tenant", + "project", + "cloud", + "cluster" + ], + "type": "string" + }, + "period": { + "default": 1440, + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "v1SpectroClusterCloudCostSummarySpec": { + "description": "Spectro cluster cloud cost summary spec", + "properties": { + "filter": { + "$ref": "#/definitions/v1SpectroClusterCloudCostSummaryFilter" + }, + "options": { + "$ref": "#/definitions/v1SpectroClusterCloudCostSummaryOptions" + } + }, + "type": "object" + }, + "v1SpectroClusterCost": { + "description": "Spectro cluster cost information", + "properties": { + "cloud": { + "$ref": "#/definitions/v1SpectroClusterCloudCost" + }, + "cost": { + "$ref": "#/definitions/v1ResourceCost" + }, + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + }, + "type": "object" + }, + "v1SpectroClusterCostSummary": { + "properties": { + "cluster": { + "$ref": "#/definitions/v1SpectroClusterCost" + }, + "endTime": { + "$ref": "#/definitions/v1Time" + }, + "period": { + "format": "int32", + "type": "integer" + }, + "startTime": { + "$ref": "#/definitions/v1Time" + } + }, + "type": "object" + }, + "v1SpectroClusterFilterSpec": { + "description": "Spectro cluster filter spec", + "properties": { + "cloudAccounts": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "clusterName": { + "$ref": "#/definitions/v1FilterString" + }, + "clusterProfiles": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "clusterState": { + "$ref": "#/definitions/v1ClusterState", + "description": "Deprecated. Use clusterStates" + }, + "clusterStates": { + "items": { + "$ref": "#/definitions/v1ClusterState" + }, + "type": "array", + "uniqueItems": true + }, + "cpuUsage": { + "$ref": "#/definitions/v1FilterIntRange" + }, + "environment": { + "description": "Deprecated. Use environments", + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "environments": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "healthState": { + "default": "all", + "enum": [ + "all", + "Healthy", + "UnHealthy" + ], + "type": "string" + }, + "isDeleted": { + "default": false, + "type": "boolean" + }, + "isHostCluster": { + "default": false, + "type": "boolean", + "x-omitempty": false + }, + "memoryUsage": { + "$ref": "#/definitions/v1FilterNumberRange" + }, + "metricPeriod": { + "default": 60, + "description": "Metric period in minutes defines latest metrics by period", + "format": "int32", + "type": "integer" + }, + "projectUids": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "tags": { + "$ref": "#/definitions/v1FilterArray" + } + } + }, + "v1SpectroClusterHealthCheck": { + "properties": { + "spec": { + "$ref": "#/definitions/v1SpectroClusterHealthCheckSpec", + "type": "object" + }, + "status": { + "$ref": "#/definitions/v1SpectroClusterHealthCheckStatus", + "type": "object" + } + }, + "type": "object" + }, + "v1SpectroClusterHealthCheckSpec": { + "properties": { + "name": { + "type": "string" + }, + "orgName": { + "type": "string" + }, + "ownerName": { + "type": "string" + }, + "ownerUid": { + "type": "string" + }, + "tenantUid": { + "type": "string" + } + }, + "type": "object" + }, + "v1SpectroClusterHealthCheckStatus": { + "properties": { + "machineHealthChecks": { + "items": { + "$ref": "#/definitions/v1HealthCheck" + }, + "type": "array" + }, + "msgBrokerHealthChecks": { + "items": { + "$ref": "#/definitions/v1HealthCheck" + }, + "type": "array" + }, + "spectroClusterHealthChecks": { + "items": { + "$ref": "#/definitions/v1HealthCheck" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1SpectroClusterHealthCondition": { + "description": "Spectro cluster health condition", + "properties": { + "message": { + "type": "string" + }, + "relatedObject": { + "$ref": "#/definitions/v1RelatedObject", + "type": "object" + }, + "type": { + "type": "string" + } + } + }, + "v1SpectroClusterHealthStatus": { + "description": "Spectro cluster health status", + "properties": { + "agentVersion": { + "type": "string" + }, + "conditions": { + "items": { + "$ref": "#/definitions/v1SpectroClusterHealthCondition" + }, + "type": "array", + "uniqueItems": true + }, + "lastHeartBeatTimestamp": { + "$ref": "#/definitions/v1Time" + }, + "state": { + "type": "string" + } + } + }, + "v1SpectroClusterKubeCtlRedirect": { + "description": "Active resources of tenant", + "properties": { + "redirectUri": { + "type": "string" + } + }, + "type": "object" + }, + "v1SpectroClusterLocationInputEntity": { + "description": "Cluster location", + "properties": { + "location": { + "$ref": "#/definitions/v1ClusterLocation" + } + }, + "type": "object" + }, + "v1SpectroClusterMetaSummary": { + "description": "Spectro cluster meta summary", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "specSummary": { + "description": "Spectro cluster meta summary", + "properties": { + "archType": { + "description": "Architecture type of the cluster", + "items": { + "default": "amd64", + "enum": [ + "arm64", + "amd64" + ], + "type": "string" + }, + "type": "array" + }, + "cloudAccountUid": { + "type": "string" + }, + "cloudRegion": { + "type": "string" + }, + "cloudType": { + "type": "string" + }, + "clusterType": { + "type": "string" + }, + "importMode": { + "type": "string" + }, + "location": { + "$ref": "#/definitions/v1ClusterMetaSpecLocation" + }, + "projectMeta": { + "$ref": "#/definitions/v1ProjectMeta" + }, + "tags": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "status": { + "description": "Spectro cluster meta status summary", + "properties": { + "cost": { + "$ref": "#/definitions/v1ClusterMetaStatusCost" + }, + "fips": { + "$ref": "#/definitions/v1ClusterFips" + }, + "health": { + "$ref": "#/definitions/v1ClusterMetaStatusHealth" + }, + "state": { + "type": "string" + }, + "updates": { + "$ref": "#/definitions/v1ClusterMetaStatusUpdates" + } + } + } + }, + "type": "object" + }, + "v1SpectroClusterMetadataFilterSpec": { + "description": "Spectro cluster filter spec", + "properties": { + "environment": { + "type": "string" + }, + "includeVirtual": { + "default": false, + "type": "boolean" + }, + "isAlloy": { + "default": false, + "description": "isAlloy is renamed to isImported", + "type": "boolean" + }, + "isImportReadOnly": { + "default": true, + "type": "boolean" + }, + "isImported": { + "default": false, + "type": "boolean" + }, + "name": { + "$ref": "#/definitions/v1FilterString" + }, + "state": { + "type": "string" + } + } + }, + "v1SpectroClusterMetadataSpec": { + "description": "Spectro cluster metadata spec", + "properties": { + "filter": { + "$ref": "#/definitions/v1SpectroClusterMetadataFilterSpec" + }, + "sort": { + "enum": [ + "environment", + "state", + "name" + ], + "type": "string", + "x-nullable": true + } + } + }, + "v1SpectroClusterMetrics": { + "description": "Spectro cluster metrics", + "properties": { + "cpu": { + "$ref": "#/definitions/v1ComputeMetrics" + }, + "memory": { + "$ref": "#/definitions/v1ComputeMetrics" + } + } + }, + "v1SpectroClusterMigration": { + "description": "Spectro cluster migration status", + "properties": { + "database": { + "$ref": "#/definitions/v1MgmtMigrationStatuses" + }, + "state": { + "type": "string", + "x-omitempty": false + }, + "tenant": { + "$ref": "#/definitions/v1SpectroTenantMigration" + } + }, + "type": "object" + }, + "v1SpectroClusterOidcClaims": { + "properties": { + "Email": { + "type": "string", + "x-omitempty": false + }, + "FirstName": { + "type": "string", + "x-omitempty": false + }, + "LastName": { + "type": "string", + "x-omitempty": false + }, + "SpectroTeam": { + "type": "string", + "x-omitempty": false + } + }, + "type": "object" + }, + "v1SpectroClusterOidcSpec": { + "properties": { + "clientId": { + "type": "string", + "x-omitempty": false + }, + "clientSecret": { + "type": "string", + "x-omitempty": false + }, + "issuerUrl": { + "description": "the issuer is the URL identifier for the service", + "type": "string", + "x-omitempty": false + }, + "requiredClaims": { + "$ref": "#/definitions/v1SpectroClusterOidcClaims" + }, + "scopes": { + "items": { + "type": "string" + }, + "type": "array", + "x-omitempty": false + } + }, + "type": "object" + }, + "v1SpectroClusterPackCondition": { + "properties": { + "message": { + "type": "string" + }, + "reason": { + "type": "string" + }, + "status": { + "type": "string" + }, + "type": { + "enum": [ + "ReadyForInstall", + "Installed", + "Ready", + "Error", + "UpgradeAvailable", + "WaitingForOtherLayers" + ], + "type": "string" + } + }, + "type": "object" + }, + "v1SpectroClusterPackConfigList": { + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1PackConfig" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1SpectroClusterPackDiff": { + "description": "Cluster pack difference", + "properties": { + "current": { + "$ref": "#/definitions/v1PackRef" + }, + "diffConfigKeys": { + "items": { + "type": "string" + }, + "type": "array" + }, + "target": { + "$ref": "#/definitions/v1PackRef" + } + }, + "type": "object" + }, + "v1SpectroClusterPackProperties": { + "description": "Cluster pack properties response", + "properties": { + "yaml": { + "type": "string", + "x-omitempty": false + } + }, + "type": "object" + }, + "v1SpectroClusterPackStatusEntity": { + "properties": { + "condition": { + "$ref": "#/definitions/v1SpectroClusterPackCondition", + "description": "Pack deployment status conditions" + }, + "endTime": { + "$ref": "#/definitions/v1Time", + "description": "Pack deployment end time" + }, + "name": { + "description": "Pack name", + "type": "string" + }, + "profileUid": { + "description": "Cluster profile uid", + "type": "string" + }, + "startTime": { + "$ref": "#/definitions/v1Time", + "description": "Pack deployment start time" + }, + "type": { + "$ref": "#/definitions/v1PackType" + }, + "version": { + "description": "pack version", + "type": "string" + } + }, + "type": "object" + }, + "v1SpectroClusterPacksEntity": { + "description": "Cluster entity for pack refs validate", + "properties": { + "profiles": { + "items": { + "$ref": "#/definitions/v1SpectroClusterProfileEntity" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1SpectroClusterPacksStatusEntity": { + "properties": { + "packs": { + "items": { + "$ref": "#/definitions/v1SpectroClusterPackStatusEntity" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1SpectroClusterPolicies": { + "description": "Cluster policies", + "properties": { + "backupPolicy": { + "$ref": "#/definitions/v1ClusterBackupConfig" + }, + "scanPolicy": { + "$ref": "#/definitions/v1ClusterComplianceScheduleConfig" + } + }, + "type": "object" + }, + "v1SpectroClusterProfile": { + "description": "Cluster profile response", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1SpectroClusterProfileSpec" + } + }, + "type": "object" + }, + "v1SpectroClusterProfileEntity": { + "description": "Cluster profile request payload", + "properties": { + "packValues": { + "description": "Cluster profile packs array", + "items": { + "$ref": "#/definitions/v1PackValuesEntity" + }, + "type": "array", + "uniqueItems": true + }, + "replaceWithProfile": { + "description": "Cluster profile uid to be replaced with new profile", + "type": "string" + }, + "uid": { + "description": "Cluster profile uid", + "type": "string" + }, + "variables": { + "items": { + "$ref": "#/definitions/v1SpectroClusterVariable" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1SpectroClusterProfileList": { + "properties": { + "profiles": { + "items": { + "$ref": "#/definitions/v1SpectroClusterProfile" + }, + "type": "array" + } + }, + "required": [ + "profiles" + ], + "type": "object" + }, + "v1SpectroClusterProfileSpec": { + "description": "Cluster profile spec response", + "properties": { + "cloudType": { + "description": "Cluster profile cloud type", + "type": "string" + }, + "packs": { + "description": "Cluster profile packs array", + "items": { + "$ref": "#/definitions/v1ClusterProfilePacksEntity" + }, + "type": "array", + "uniqueItems": true + }, + "relatedObject": { + "$ref": "#/definitions/v1ObjectReference", + "description": "RelatedObject refers to the type of object(clustergroup, cluster or edgeHost) the cluster profile is associated with" + }, + "type": { + "description": "Cluster profile type [ \"cluster\", \"infra\", \"add-on\", \"system\" ]", + "type": "string" + }, + "version": { + "description": "Cluster profile version", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "v1SpectroClusterProfileUpdates": { + "properties": { + "profiles": { + "items": { + "$ref": "#/definitions/v1ClusterProfileTemplate" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "v1SpectroClusterProfileValidatorResponse": { + "description": "Cluster profile validator response", + "properties": { + "packs": { + "$ref": "#/definitions/v1ConstraintValidatorResponse" + }, + "uid": { + "description": "Cluster profile uid", + "type": "string" + } + }, + "type": "object" + }, + "v1SpectroClusterProfiles": { + "properties": { + "profiles": { + "items": { + "$ref": "#/definitions/v1SpectroClusterProfileEntity" + }, + "type": "array" + }, + "spcApplySettings": { + "$ref": "#/definitions/v1SpcApplySettings" + } + }, + "required": [ + "profiles" + ], + "type": "object" + }, + "v1SpectroClusterProfilesDeleteEntity": { + "properties": { + "profileUids": { + "description": "Cluster's profile uid list", + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "v1SpectroClusterProfilesPacksManifests": { + "properties": { + "profiles": { + "items": { + "$ref": "#/definitions/v1ClusterProfilePacksManifests" + }, + "type": "array" + } + }, + "required": [ + "profiles" + ], + "type": "object" + }, + "v1SpectroClusterProfilesParamReferenceEntity": { + "description": "Cluster profiles param reference entity", + "properties": { + "references": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "v1SpectroClusterProfilesResolvedValues": { + "description": "Cluster profiles resolved values response", + "properties": { + "profiles": { + "items": { + "$ref": "#/definitions/v1ProfileResolvedValues" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "v1SpectroClusterProjectCleanedResource": { + "description": "List of cleaned project spectro cluster resources", + "properties": { + "resources": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1SpectroClusterProjectCleanupValidateEntity": { + "description": "Cluster duration thresholds", + "properties": { + "deletingClusterDurationThresholdInMin": { + "format": "int32", + "type": "integer" + }, + "provisioningClusterDurationThresholdInMin": { + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "v1SpectroClusterRate": { + "description": "Cluster estimated rate information", + "properties": { + "machinePools": { + "items": { + "$ref": "#/definitions/v1MachinePoolRate" + }, + "type": "array" + }, + "name": { + "type": "string" + }, + "rate": { + "$ref": "#/definitions/v1TotalClusterRate" + }, + "resourceMetadata": { + "$ref": "#/definitions/v1CloudResourceMetadata" + } + }, + "type": "object" + }, + "v1SpectroClusterRepave": { + "description": "Spectro cluster repave status information", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1SpectroClusterRepaveSpec" + }, + "status": { + "$ref": "#/definitions/v1SpectroClusterRepaveStatus" + } + }, + "type": "object" + }, + "v1SpectroClusterRepaveReason": { + "description": "Cluster repave reason description", + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "pack": { + "$ref": "#/definitions/v1SpectroClusterPackDiff" + } + }, + "type": "object" + }, + "v1SpectroClusterRepaveSpec": { + "properties": { + "reasons": { + "description": "Spectro cluster repave reasons", + "items": { + "$ref": "#/definitions/v1SpectroClusterRepaveReason" + }, + "type": "array" + }, + "source": { + "$ref": "#/definitions/v1ClusterRepaveSource" + }, + "spectroClusterUid": { + "type": "string" + } + }, + "type": "object" + }, + "v1SpectroClusterRepaveStatus": { + "properties": { + "message": { + "type": "string" + }, + "repaveTransitionTime": { + "$ref": "#/definitions/v1Time" + }, + "state": { + "$ref": "#/definitions/v1ClusterRepaveState" + } + }, + "type": "object" + }, + "v1SpectroClusterRepaveValidationResponse": { + "description": "Cluster repave validation response", + "properties": { + "isRepaveRequired": { + "description": "If true then the pack changes can cause cluster repave", + "type": "boolean", + "x-omitempty": false + }, + "reasons": { + "items": { + "$ref": "#/definitions/v1SpectroClusterRepaveReason" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1SpectroClusterRevision": { + "description": "Revision specification details for a cluster", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1SpectroClusterSpec" + } + }, + "type": "object" + }, + "v1SpectroClusterRevisionMeta": { + "description": "Revision spec uid along with the creationTimestamp for the revision", + "properties": { + "creationTimestamp": { + "$ref": "#/definitions/v1Time" + }, + "uid": { + "description": "The unique id of the spc revision document", + "type": "string" + } + }, + "type": "object" + }, + "v1SpectroClusterRevisionMetaList": { + "properties": { + "spcRevisions": { + "items": { + "$ref": "#/definitions/v1SpectroClusterRevisionMeta" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1SpectroClusterSortFields": { + "enum": [ + "environment", + "clusterName", + "healthState", + "creationTimestamp", + "lastModifiedTimestamp" + ], + "type": "string", + "x-nullable": true + }, + "v1SpectroClusterSortSpec": { + "properties": { + "field": { + "$ref": "#/definitions/v1SpectroClusterSortFields" + }, + "order": { + "$ref": "#/definitions/v1SortOrder" + } + } + }, + "v1SpectroClusterSpec": { + "description": "SpectroClusterSpec defines the desired state of SpectroCluster", + "properties": { + "cloudConfigRef": { + "$ref": "#/definitions/v1ObjectReference", + "description": "CloudConfigRef point to the cloud configuration for the cluster, input by user Ref types are: AwsCloudConfig/VsphereCloudConfig/BaremetalConfig/ etc this user config will be used to generate cloud specific cluster/machine spec for cluster-api For VM, it will contain information needed to launch VMs, like cloud account, instance type For BM, it will contain actual baremetal machines" + }, + "cloudType": { + "type": "string" + }, + "clusterConfig": { + "$ref": "#/definitions/v1ClusterConfig", + "description": "ClusterConfig is the configuration related to a general cluster. Configuration related to the health of the cluster." + }, + "clusterProfileTemplates": { + "description": "When a cluster created from a clusterprofile at t1, ClusterProfileTemplate is a copy of the draft version or latest published version of the clusterprofileSpec.clusterprofileTemplate then clusterprofile may evolve to v2 at t2, but before user decide to upgrade the cluster, it will stay as it is when user decide to upgrade, clusterProfileTemplate will be updated from the clusterprofile pointed by ClusterProfileRef", + "items": { + "$ref": "#/definitions/v1ClusterProfileTemplate" + }, + "type": "array" + }, + "clusterType": { + "enum": [ + "PureManage", + "AlloyMonitor", + "AlloyAssist", + "AlloyExtend" + ], + "type": "string" + } + }, + "type": "object" + }, + "v1SpectroClusterState": { + "description": "Spectrocluster state entity", + "properties": { + "state": { + "description": "Spectrocluster state", + "type": "string" + } + }, + "type": "object" + }, + "v1SpectroClusterStatus": { + "description": "SpectroClusterStatus", + "properties": { + "abortTimestamp": { + "$ref": "#/definitions/v1Time" + }, + "addOnServices": { + "items": { + "$ref": "#/definitions/v1SpectroClusterAddOnService" + }, + "type": "array" + }, + "apiEndpoints": { + "items": { + "$ref": "#/definitions/v1APIEndpoint" + }, + "type": "array" + }, + "clusterImport": { + "$ref": "#/definitions/v1ClusterImport" + }, + "conditions": { + "items": { + "$ref": "#/definitions/v1ClusterCondition" + }, + "type": "array" + }, + "fips": { + "$ref": "#/definitions/v1ClusterFips" + }, + "location": { + "$ref": "#/definitions/v1ClusterLocation" + }, + "packs": { + "items": { + "$ref": "#/definitions/v1ClusterPackStatus" + }, + "type": "array" + }, + "profileStatus": { + "$ref": "#/definitions/v1ProfileStatus" + }, + "repave": { + "$ref": "#/definitions/v1ClusterRepaveStatus" + }, + "services": { + "items": { + "$ref": "#/definitions/v1LoadBalancerService" + }, + "type": "array" + }, + "spcApply": { + "$ref": "#/definitions/v1SpcApply" + }, + "state": { + "description": "current operational state", + "type": "string" + }, + "upgrades": { + "items": { + "$ref": "#/definitions/v1Upgrades" + }, + "type": "array" + }, + "virtual": { + "$ref": "#/definitions/v1Virtual" + } + }, + "type": "object" + }, + "v1SpectroClusterStatusEntity": { + "description": "Spectrocluster status entity", + "properties": { + "status": { + "$ref": "#/definitions/v1SpectroClusterState" + } + }, + "type": "object" + }, + "v1SpectroClusterSummary": { + "description": "Spectro cluster summary", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "specSummary": { + "description": "Spectro cluster spec summary", + "properties": { + "archTypes": { + "description": "Architecture type of the cluster", + "items": { + "$ref": "#/definitions/v1ArchType" + }, + "type": "array" + }, + "cloudAccountMeta": { + "$ref": "#/definitions/v1CloudAccountMeta" + }, + "cloudConfig": { + "$ref": "#/definitions/v1CloudConfigMeta" + }, + "clusterConfig": { + "$ref": "#/definitions/v1ClusterConfigResponse" + }, + "clusterProfileTemplate": { + "$ref": "#/definitions/v1ClusterProfileTemplateMeta" + }, + "clusterProfileTemplates": { + "items": { + "$ref": "#/definitions/v1ClusterProfileTemplateMeta" + }, + "type": "array" + }, + "projectMeta": { + "$ref": "#/definitions/v1ProjectMeta" + } + }, + "type": "object" + }, + "status": { + "description": "Spectro cluster status summary", + "properties": { + "clusterImport": { + "$ref": "#/definitions/v1ClusterImport" + }, + "cost": { + "$ref": "#/definitions/v1ResourceCost" + }, + "fips": { + "$ref": "#/definitions/v1ClusterFips" + }, + "health": { + "$ref": "#/definitions/v1SpectroClusterHealthStatus" + }, + "hourlyRate": { + "$ref": "#/definitions/v1ResourceCost" + }, + "location": { + "$ref": "#/definitions/v1ClusterMetaSpecLocation" + }, + "metrics": { + "$ref": "#/definitions/v1SpectroClusterMetrics" + }, + "notifications": { + "$ref": "#/definitions/v1ClusterNotificationStatus" + }, + "repave": { + "$ref": "#/definitions/v1ClusterRepaveStatus" + }, + "state": { + "type": "string" + }, + "virtual": { + "$ref": "#/definitions/v1Virtual" + } + } + } + }, + "type": "object" + }, + "v1SpectroClusterSummarySpec": { + "description": "Spectro cluster filter summary spec", + "properties": { + "filter": { + "$ref": "#/definitions/v1SpectroClusterFilterSpec" + }, + "sort": { + "items": { + "$ref": "#/definitions/v1SpectroClusterSortSpec" + }, + "type": "array", + "uniqueItems": true + } + } + }, + "v1SpectroClusterUidStatusSummary": { + "description": "Spectro cluster status summary", + "properties": { + "abortTimestamp": { + "$ref": "#/definitions/v1Time" + }, + "addOnServices": { + "items": { + "$ref": "#/definitions/v1SpectroClusterAddOnServiceSummary" + }, + "type": "array" + }, + "apiEndpoints": { + "items": { + "$ref": "#/definitions/v1APIEndpoint" + }, + "type": "array" + }, + "clusterImport": { + "$ref": "#/definitions/v1ClusterImport" + }, + "conditions": { + "items": { + "$ref": "#/definitions/v1ClusterCondition" + }, + "type": "array" + }, + "cost": { + "$ref": "#/definitions/v1ResourceCost" + }, + "fips": { + "$ref": "#/definitions/v1ClusterFips" + }, + "health": { + "$ref": "#/definitions/v1SpectroClusterHealthStatus" + }, + "hourlyRate": { + "$ref": "#/definitions/v1ResourceCost" + }, + "kubeMeta": { + "$ref": "#/definitions/v1KubeMeta" + }, + "location": { + "$ref": "#/definitions/v1ClusterMetaSpecLocation" + }, + "metrics": { + "$ref": "#/definitions/v1SpectroClusterMetrics" + }, + "notifications": { + "$ref": "#/definitions/v1ClusterNotificationStatus" + }, + "packs": { + "items": { + "$ref": "#/definitions/v1ClusterPackStatus" + }, + "type": "array" + }, + "services": { + "items": { + "$ref": "#/definitions/v1LoadBalancerService" + }, + "type": "array" + }, + "spcApply": { + "$ref": "#/definitions/v1SpcApply" + }, + "state": { + "description": "current operational state", + "type": "string" + }, + "upgrades": { + "items": { + "$ref": "#/definitions/v1Upgrades" + }, + "type": "array" + }, + "virtual": { + "$ref": "#/definitions/v1Virtual" + }, + "workspaces": { + "items": { + "$ref": "#/definitions/v1ResourceReference" + }, + "type": "array" + } + } + }, + "v1SpectroClusterUidSummary": { + "description": "Spectro cluster summary", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "description": "Spectro cluster spec summary", + "properties": { + "archTypes": { + "description": "Architecture types of the cluster", + "items": { + "$ref": "#/definitions/v1ArchType" + }, + "type": "array" + }, + "cloudConfig": { + "$ref": "#/definitions/v1CloudConfigMeta" + }, + "cloudaccount": { + "$ref": "#/definitions/v1CloudAccountMeta" + }, + "clusterProfileTemplate": { + "$ref": "#/definitions/v1ClusterProfileTemplateMeta" + }, + "clusterProfileTemplates": { + "items": { + "$ref": "#/definitions/v1ClusterProfileTemplateMeta" + }, + "type": "array" + } + }, + "type": "object" + }, + "status": { + "$ref": "#/definitions/v1SpectroClusterUidStatusSummary" + } + }, + "type": "object" + }, + "v1SpectroClusterUidUpgrades": { + "description": "Cluster status upgrades", + "properties": { + "upgrades": { + "items": { + "$ref": "#/definitions/v1Upgrades" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1SpectroClusterVMCloneEntity": { + "properties": { + "annotationFilters": { + "description": "Annotation filters", + "items": { + "type": "string" + }, + "type": "array" + }, + "cloneName": { + "description": "Cloning Virtual machine's name", + "type": "string" + }, + "labelFilters": { + "description": "Label filters", + "items": { + "type": "string" + }, + "type": "array" + }, + "newMacAddresses": { + "additionalProperties": { + "type": "string" + }, + "description": "NewMacAddresses manually sets that target interfaces' mac addresses. The key is the interface name and the value is the new mac address. If this field is not specified, a new MAC address will be generated automatically, as for any interface that is not included in this map", + "type": "object" + }, + "newSMBiosSerial": { + "description": "NewSMBiosSerial manually sets that target's SMbios serial. If this field is not specified, a new serial will be generated automatically.", + "type": "string" + } + }, + "required": [ + "cloneName" + ], + "type": "object" + }, + "v1SpectroClusterValidatorResponse": { + "description": "Cluster validator response", + "properties": { + "machinePools": { + "$ref": "#/definitions/v1ConstraintValidatorResponse" + }, + "profiles": { + "items": { + "$ref": "#/definitions/v1SpectroClusterProfileValidatorResponse" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "v1SpectroClusterVariable": { + "description": "Variable with value which will be used within the packs of cluster profile", + "properties": { + "name": { + "description": "Variable name", + "type": "string" + }, + "value": { + "description": "Actual value of the variable to be used within the cluster", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + }, + "v1SpectroClusters": { + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1SpectroCluster" + }, + "type": "array", + "uniqueItems": true + }, + "listmeta": { + "$ref": "#/definitions/v1ListMetaData" + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1SpectroClustersAgentsNotifyEntity": { + "description": "SpectroClusters for which agents has to be notified", + "properties": { + "clusterUids": { + "items": { + "type": "string" + }, + "type": "array" + }, + "notifyAllClusters": { + "type": "boolean" + } + } + }, + "v1SpectroClustersCostComputeSpec": { + "description": "Cluster's cost compute spec", + "properties": { + "clusterUids": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "startTime": { + "$ref": "#/definitions/v1Time" + } + }, + "type": "object" + }, + "v1SpectroClustersHealth": { + "description": "Spectro Clusters health data", + "properties": { + "errored": { + "format": "int32", + "type": "integer", + "x-omitempty": false + }, + "healthy": { + "format": "int32", + "type": "integer", + "x-omitempty": false + }, + "running": { + "format": "int32", + "type": "integer", + "x-omitempty": false + }, + "unhealthy": { + "format": "int32", + "type": "integer", + "x-omitempty": false + } + }, + "type": "object" + }, + "v1SpectroClustersMetadata": { + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1SpectroClustersMetadataSearch": { + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1SpectroClusterMetaSummary" + }, + "type": "array", + "uniqueItems": true + }, + "listmeta": { + "$ref": "#/definitions/v1ListMetaData" + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1SpectroClustersSummary": { + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1SpectroClusterSummary" + }, + "type": "array", + "uniqueItems": true + }, + "listmeta": { + "$ref": "#/definitions/v1ListMetaData" + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1SpectroClustersUsageComputeSpec": { + "description": "Cluster's usage compute spec", + "properties": { + "clusterUids": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "startTime": { + "$ref": "#/definitions/v1Time" + } + }, + "type": "object" + }, + "v1SpectroCoxEdgeClusterEntity": { + "description": "CoxEdge cluster request payload for create and update", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "properties": { + "cloudAccountUid": { + "description": "Cloud account uid to be used for cluster provisioning", + "type": "string" + }, + "cloudConfig": { + "$ref": "#/definitions/v1CoxEdgeClusterConfig" + }, + "cloudType": { + "type": "string" + }, + "clusterConfig": { + "$ref": "#/definitions/v1ClusterConfigEntity", + "description": "General cluster configuration like health, patching settings, namespace resource allocation, rbac" + }, + "machinepoolconfig": { + "items": { + "$ref": "#/definitions/v1CoxEdgeMachinePoolConfigEntity" + }, + "type": "array" + }, + "policies": { + "$ref": "#/definitions/v1SpectroClusterPolicies" + }, + "profiles": { + "items": { + "$ref": "#/definitions/v1SpectroClusterProfileEntity" + }, + "type": "array" + } + }, + "required": [ + "cloudType", + "cloudAccountUid", + "cloudConfig" + ], + "type": "object" + } + }, + "type": "object" + }, + "v1SpectroCoxEdgeClusterRateEntity": { + "description": "Cox Edge cluster request payload for estimating rate", + "properties": { + "cloudConfig": { + "$ref": "#/definitions/v1CoxEdgeClusterConfig" + }, + "machinepoolconfig": { + "items": { + "$ref": "#/definitions/v1CoxEdgeMachinePoolConfigEntity" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1SpectroCustomClusterEntity": { + "description": "Custom cluster request payload for create and update", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMetaInputEntity" + }, + "spec": { + "properties": { + "cloudAccountUid": { + "description": "Cloud account uid to be used for cluster provisioning", + "type": "string" + }, + "cloudConfig": { + "$ref": "#/definitions/v1CustomClusterConfig" + }, + "clusterConfig": { + "$ref": "#/definitions/v1CustomClusterConfigEntity", + "description": "General cluster configuration like patching settings, namespace resource allocation, rbac" + }, + "machinepoolconfig": { + "items": { + "$ref": "#/definitions/v1CustomMachinePoolConfigEntity" + }, + "type": "array" + }, + "profiles": { + "items": { + "$ref": "#/definitions/v1SpectroClusterProfileEntity" + }, + "type": "array" + } + }, + "required": [ + "cloudType", + "cloudAccountUid", + "cloudConfig" + ], + "type": "object" + } + }, + "type": "object" + }, + "v1SpectroEdgeNativeClusterEntity": { + "description": "EdgeNative cluster create or update request payload", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "properties": { + "cloudConfig": { + "$ref": "#/definitions/v1EdgeNativeClusterConfig" + }, + "clusterConfig": { + "$ref": "#/definitions/v1ClusterConfigEntity", + "description": "General cluster configuration like health, patching settings, namespace resource allocation, rbac" + }, + "machinepoolconfig": { + "items": { + "$ref": "#/definitions/v1EdgeNativeMachinePoolConfigEntity" + }, + "type": "array" + }, + "policies": { + "$ref": "#/definitions/v1SpectroClusterPolicies" + }, + "profiles": { + "items": { + "$ref": "#/definitions/v1SpectroClusterProfileEntity" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "v1SpectroEdgeNativeClusterImportEntity": { + "description": "Spectro EdgeNative cluster import request payload", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMetaInputEntity" + }, + "spec": { + "properties": { + "clusterConfig": { + "$ref": "#/definitions/v1ImportClusterConfig" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "v1SpectroEdgeNativeClusterRateEntity": { + "description": "Edge-native cluster request payload for estimating rate", + "properties": { + "cloudConfig": { + "$ref": "#/definitions/v1EdgeNativeClusterConfig" + }, + "machinepoolconfig": { + "items": { + "$ref": "#/definitions/v1EdgeNativeMachinePoolConfigEntity" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1SpectroEksClusterEntity": { + "description": "Spectro EKS cluster request payload for create and update", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "properties": { + "cloudAccountUid": { + "description": "Cloud account uid to be used for cluster provisioning", + "type": "string" + }, + "cloudConfig": { + "$ref": "#/definitions/v1EksClusterConfig" + }, + "clusterConfig": { + "$ref": "#/definitions/v1ClusterConfigEntity", + "description": "General cluster configuration like health, patching settings, namespace resource allocation, rbac" + }, + "fargateProfiles": { + "items": { + "$ref": "#/definitions/v1FargateProfile" + }, + "type": "array" + }, + "machinepoolconfig": { + "items": { + "$ref": "#/definitions/v1EksMachinePoolConfigEntity" + }, + "type": "array" + }, + "policies": { + "$ref": "#/definitions/v1SpectroClusterPolicies" + }, + "profiles": { + "items": { + "$ref": "#/definitions/v1SpectroClusterProfileEntity" + }, + "type": "array" + } + }, + "required": [ + "cloudAccountUid", + "cloudConfig" + ], + "type": "object" + } + }, + "type": "object" + }, + "v1SpectroEksClusterRateEntity": { + "description": "Spectro EKS cluster request payload for estimating rate", + "properties": { + "cloudConfig": { + "$ref": "#/definitions/v1EksClusterConfig" + }, + "machinepoolconfig": { + "items": { + "$ref": "#/definitions/v1EksMachinePoolConfigEntity" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1SpectroGcpClusterEntity": { + "description": "GCP cluster request payload for create and update", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "properties": { + "cloudAccountUid": { + "description": "Cloud account uid to be used for cluster provisioning", + "type": "string" + }, + "cloudConfig": { + "$ref": "#/definitions/v1GcpClusterConfig" + }, + "clusterConfig": { + "$ref": "#/definitions/v1ClusterConfigEntity", + "description": "General cluster configuration like health, patching settings, namespace resource allocation, rbac" + }, + "machinepoolconfig": { + "items": { + "$ref": "#/definitions/v1GcpMachinePoolConfigEntity" + }, + "type": "array" + }, + "policies": { + "$ref": "#/definitions/v1SpectroClusterPolicies" + }, + "profiles": { + "items": { + "$ref": "#/definitions/v1SpectroClusterProfileEntity" + }, + "type": "array" + } + }, + "required": [ + "cloudType", + "cloudAccountUid", + "cloudConfig" + ], + "type": "object" + } + }, + "type": "object" + }, + "v1SpectroGcpClusterImportEntity": { + "description": "Spectro GCP cluster import request payload", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMetaInputEntity" + }, + "spec": { + "properties": { + "clusterConfig": { + "$ref": "#/definitions/v1ImportClusterConfig" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "v1SpectroGcpClusterRateEntity": { + "description": "Gcp cluster request payload for estimating rate", + "properties": { + "cloudConfig": { + "$ref": "#/definitions/v1GcpClusterConfig" + }, + "machinepoolconfig": { + "items": { + "$ref": "#/definitions/v1GcpMachinePoolConfigEntity" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1SpectroGenericClusterImportEntity": { + "description": "Spectro generic cluster import request payload", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMetaInputEntity" + }, + "spec": { + "properties": { + "clusterConfig": { + "$ref": "#/definitions/v1ImportClusterConfig" + }, + "edgeConfig": { + "$ref": "#/definitions/v1ImportEdgeHostConfig" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "v1SpectroGenericClusterRateEntity": { + "description": "Generic cluster request payload for estimating rate", + "properties": { + "cloudConfig": { + "$ref": "#/definitions/v1GenericClusterConfig" + }, + "machinepoolconfig": { + "items": { + "$ref": "#/definitions/v1GenericMachinePoolConfigEntity" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1SpectroInstallerEntity": { + "description": "Spectro installer entity for create", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "properties": { + "cloudAccountUid": { + "type": "string" + }, + "privateGatewayUid": { + "type": "string" + }, + "spectroClusterUid": { + "type": "string" + } + }, + "type": "object" + }, + "status": { + "$ref": "#/definitions/v1InstallerStatus" + } + }, + "type": "object" + }, + "v1SpectroInstallerInputEntity": { + "description": "Spectro installer entity for create", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMetaInputEntity" + } + }, + "type": "object" + }, + "v1SpectroInstallerStatus": { + "description": "spectro installer status", + "properties": { + "status": { + "$ref": "#/definitions/v1InstallerStatus" + } + }, + "type": "object" + }, + "v1SpectroInstallers": { + "description": "List Spectro installers", + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1SpectroInstallerEntity" + }, + "type": "array", + "uniqueItems": true + }, + "listmeta": { + "$ref": "#/definitions/v1ListMetaData" + } + }, + "type": "object" + }, + "v1SpectroLibvirtClusterEntity": { + "description": "Libvirt cluster request payload for create and update", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "properties": { + "cloudConfig": { + "$ref": "#/definitions/v1LibvirtClusterConfig" + }, + "clusterConfig": { + "$ref": "#/definitions/v1ClusterConfigEntity", + "description": "General cluster configuration like health, patching settings, namespace resource allocation, rbac" + }, + "machinepoolconfig": { + "items": { + "$ref": "#/definitions/v1LibvirtMachinePoolConfigEntity" + }, + "type": "array" + }, + "policies": { + "$ref": "#/definitions/v1SpectroClusterPolicies" + }, + "profiles": { + "items": { + "$ref": "#/definitions/v1SpectroClusterProfileEntity" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "v1SpectroLibvirtClusterImportEntity": { + "description": "Spectro Libvirt cluster import request payload", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMetaInputEntity" + }, + "spec": { + "properties": { + "clusterConfig": { + "$ref": "#/definitions/v1ImportClusterConfig" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "v1SpectroLibvirtClusterRateEntity": { + "description": "libvirt cluster request payload for estimating rate", + "properties": { + "cloudConfig": { + "$ref": "#/definitions/v1LibvirtClusterConfig" + }, + "machinepoolconfig": { + "items": { + "$ref": "#/definitions/v1LibvirtMachinePoolConfigEntity" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1SpectroMaasClusterEntity": { + "description": "Spectro Maas cluster request payload for create and update", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "properties": { + "cloudAccountUid": { + "description": "Cloud account uid to be used for cluster provisioning", + "type": "string" + }, + "cloudConfig": { + "$ref": "#/definitions/v1MaasClusterConfig" + }, + "clusterConfig": { + "$ref": "#/definitions/v1ClusterConfigEntity", + "description": "General cluster configuration like health, patching settings, namespace resource allocation, rbac" + }, + "machinepoolconfig": { + "items": { + "$ref": "#/definitions/v1MaasMachinePoolConfigEntity" + }, + "type": "array" + }, + "policies": { + "$ref": "#/definitions/v1SpectroClusterPolicies" + }, + "profiles": { + "items": { + "$ref": "#/definitions/v1SpectroClusterProfileEntity" + }, + "type": "array" + } + }, + "required": [ + "cloudType", + "cloudAccountUid", + "cloudConfig" + ], + "type": "object" + } + }, + "type": "object" + }, + "v1SpectroMaasClusterImportEntity": { + "description": "Spectro maas cluster import request payload", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMetaInputEntity" + }, + "spec": { + "properties": { + "clusterConfig": { + "$ref": "#/definitions/v1ImportClusterConfig" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "v1SpectroMaasClusterRateEntity": { + "description": "Maas cluster request payload for estimating rate", + "properties": { + "cloudConfig": { + "$ref": "#/definitions/v1MaasClusterConfig" + }, + "machinepoolconfig": { + "items": { + "$ref": "#/definitions/v1MaasMachinePoolConfigEntity" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1SpectroMgmt": { + "description": "Spectro management data", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1SpectroMgmtSpec" + }, + "status": { + "$ref": "#/definitions/v1SpectroMgmtStatus" + } + }, + "type": "object" + }, + "v1SpectroMgmtSpec": { + "description": "spectro management specifications", + "properties": { + "installerMode": { + "type": "string" + }, + "spectroClusterUid": { + "type": "string" + }, + "targetVersion": { + "type": "string" + }, + "version": { + "type": "string" + } + } + }, + "v1SpectroMgmtStatus": { + "description": "spectro management status information", + "properties": { + "appVersions": { + "items": { + "$ref": "#/definitions/v1AppVersion" + }, + "type": "array", + "uniqueItems": true + }, + "isFailed": { + "type": "boolean", + "x-omitempty": false + }, + "lastUpdatedTime": { + "$ref": "#/definitions/v1Time" + }, + "message": { + "type": "string" + }, + "messageLogs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "state": { + "type": "string" + }, + "upgradeHistory": { + "items": { + "$ref": "#/definitions/v1SpectroMgmtUpgrade" + }, + "type": "array", + "uniqueItems": true + } + } + }, + "v1SpectroMgmtUpgrade": { + "description": "spectro management upgrade logs", + "properties": { + "upgradeTime": { + "$ref": "#/definitions/v1Time" + }, + "version": { + "type": "string" + } + } + }, + "v1SpectroMgmtUpgradePack": { + "description": "Spectro application management cluster upgrade pack information", + "properties": { + "diffMessage": { + "description": "Spectro application management cluster pack difference message", + "type": "string" + }, + "layer": { + "description": "Spectro application management cluster pack layer type", + "type": "string" + }, + "name": { + "description": "Spectro application management cluster pack name", + "type": "string" + }, + "registryUid": { + "description": "Spectro application management cluster pack registry unique identifier", + "type": "string" + }, + "type": { + "description": "Spectro application management cluster pack type", + "type": "string" + }, + "uid": { + "description": "Spectro application management cluster pack unique identifier", + "type": "string" + }, + "values": { + "description": "Spectro application management cluster pack values", + "type": "string" + }, + "version": { + "description": "Spectro application management cluster pack version", + "type": "string" + } + }, + "type": "object" + }, + "v1SpectroMgmtUpgradeProfile": { + "description": "Spectro application management cluster upgrade pack information", + "properties": { + "packs": { + "description": "Spectro application management cluster upgrade packs", + "items": { + "$ref": "#/definitions/v1SpectroMgmtUpgradePack" + }, + "type": "array" + }, + "uid": { + "description": "Spectro application management cluster profile unique identifier", + "type": "string" + } + }, + "type": "object" + }, + "v1SpectroMgmtUpgradeProfiles": { + "description": "Spectro application management cluster information", + "properties": { + "profiles": { + "description": "Spectro application management cluster profiles", + "items": { + "$ref": "#/definitions/v1SpectroMgmtUpgradeProfile" + }, + "type": "array" + }, + "version": { + "description": "Spectro application management cluster version", + "type": "string" + } + }, + "type": "object" + }, + "v1SpectroMgmtUpgradeSpc": { + "description": "Spectro application management cluster upgrade profiles", + "properties": { + "current": { + "$ref": "#/definitions/v1SpectroMgmtUpgradeProfiles" + }, + "target": { + "$ref": "#/definitions/v1SpectroMgmtUpgradeProfiles" + } + }, + "type": "object" + }, + "v1SpectroOpenStackClusterEntity": { + "description": "OpenStack cluster request payload for create and update", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "properties": { + "cloudAccountUid": { + "description": "Cloud account uid to be used for cluster provisioning", + "type": "string" + }, + "cloudConfig": { + "$ref": "#/definitions/v1OpenStackClusterConfig" + }, + "clusterConfig": { + "$ref": "#/definitions/v1ClusterConfigEntity", + "description": "General cluster configuration like health, patching settings, namespace resource allocation, rbac" + }, + "machinepoolconfig": { + "items": { + "$ref": "#/definitions/v1OpenStackMachinePoolConfigEntity" + }, + "type": "array" + }, + "policies": { + "$ref": "#/definitions/v1SpectroClusterPolicies" + }, + "profiles": { + "items": { + "$ref": "#/definitions/v1SpectroClusterProfileEntity" + }, + "type": "array" + } + }, + "required": [ + "cloudAccountUid", + "cloudConfig" + ], + "type": "object" + } + }, + "type": "object" + }, + "v1SpectroOpenStackClusterImportEntity": { + "description": "Spectro OpenStack cluster import request payload", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMetaInputEntity" + }, + "spec": { + "properties": { + "clusterConfig": { + "$ref": "#/definitions/v1ImportClusterConfig" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "v1SpectroOpenStackClusterRateEntity": { + "description": "Openstack cluster request payload for estimating rate", + "properties": { + "cloudConfig": { + "$ref": "#/definitions/v1OpenStackClusterConfig" + }, + "machinepoolconfig": { + "items": { + "$ref": "#/definitions/v1OpenStackMachinePoolConfigEntity" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1SpectroTenantClusterMigration": { + "description": "Spectro tenant cluster migration status", + "properties": { + "message": { + "type": "string" + }, + "name": { + "type": "string" + }, + "state": { + "type": "string" + }, + "uid": { + "type": "string" + } + }, + "type": "object" + }, + "v1SpectroTenantMigration": { + "description": "Spectro tenant migration status", + "properties": { + "clusters": { + "items": { + "$ref": "#/definitions/v1SpectroTenantClusterMigration" + }, + "type": "array", + "uniqueItems": true + }, + "state": { + "type": "string", + "x-omitempty": false + } + }, + "type": "object" + }, + "v1SpectroTencentClusterEntity": { + "description": "Tencent cluster request payload for create and update", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "properties": { + "cloudAccountUid": { + "description": "Cloud account uid to be used for cluster provisioning", + "type": "string" + }, + "cloudConfig": { + "$ref": "#/definitions/v1TencentClusterConfig" + }, + "clusterConfig": { + "$ref": "#/definitions/v1ClusterConfigEntity", + "description": "General cluster configuration like health, patching settings, namespace resource allocation, rbac" + }, + "machinepoolconfig": { + "items": { + "$ref": "#/definitions/v1TencentMachinePoolConfigEntity" + }, + "type": "array" + }, + "policies": { + "$ref": "#/definitions/v1SpectroClusterPolicies" + }, + "profiles": { + "items": { + "$ref": "#/definitions/v1SpectroClusterProfileEntity" + }, + "type": "array" + } + }, + "required": [ + "cloudType", + "cloudAccountUid", + "cloudConfig" + ], + "type": "object" + } + }, + "type": "object" + }, + "v1SpectroTencentClusterRateEntity": { + "description": "Spectro Tencent cluster request payload for estimating rate", + "properties": { + "cloudConfig": { + "$ref": "#/definitions/v1TencentClusterConfig" + }, + "machinepoolconfig": { + "items": { + "$ref": "#/definitions/v1TencentMachinePoolConfigEntity" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1SpectroVirtualClusterEntity": { + "description": "Spectro virtual cluster request payload for create and update", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "properties": { + "cloudConfig": { + "$ref": "#/definitions/v1VirtualClusterConfig" + }, + "clusterConfig": { + "$ref": "#/definitions/v1ClusterConfigEntity", + "description": "General cluster configuration like health, patching settings, namespace resource allocation, rbac" + }, + "machinepoolconfig": { + "items": { + "$ref": "#/definitions/v1VirtualMachinePoolConfigEntity" + }, + "type": "array" + }, + "policies": { + "$ref": "#/definitions/v1SpectroClusterPolicies" + }, + "profiles": { + "items": { + "$ref": "#/definitions/v1SpectroClusterProfileEntity" + }, + "type": "array" + } + }, + "required": [ + "cloudType", + "clusterConfig" + ], + "type": "object" + } + }, + "type": "object" + }, + "v1SpectroVsphereClusterEntity": { + "description": "vSphere cluster request payload for create and update", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "properties": { + "cloudAccountUid": { + "description": "Cloud account uid to be used for cluster provisioning", + "type": "string" + }, + "cloudConfig": { + "$ref": "#/definitions/v1VsphereClusterConfigEntity" + }, + "clusterConfig": { + "$ref": "#/definitions/v1ClusterConfigEntity", + "description": "General cluster configuration like health, patching settings, namespace resource allocation, rbac" + }, + "edgeHostUid": { + "description": "Appliance (Edge Host) uid for Edge env", + "type": "string" + }, + "machinepoolconfig": { + "items": { + "$ref": "#/definitions/v1VsphereMachinePoolConfigEntity" + }, + "type": "array" + }, + "policies": { + "$ref": "#/definitions/v1SpectroClusterPolicies" + }, + "profiles": { + "items": { + "$ref": "#/definitions/v1SpectroClusterProfileEntity" + }, + "type": "array" + } + }, + "required": [ + "cloudConfig" + ], + "type": "object" + } + }, + "type": "object" + }, + "v1SpectroVsphereClusterImportEntity": { + "description": "Spectro Vsphere cluster import request payload", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMetaInputEntity" + }, + "spec": { + "properties": { + "clusterConfig": { + "$ref": "#/definitions/v1ImportClusterConfig" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "v1SpectroVsphereClusterRateEntity": { + "description": "Vsphere cluster request payload for estimating rate", + "properties": { + "cloudConfig": { + "$ref": "#/definitions/v1VsphereClusterConfigEntity" + }, + "machinepoolconfig": { + "items": { + "$ref": "#/definitions/v1VsphereMachinePoolConfigEntity" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1SpotMarketOptions": { + "description": "SpotMarketOptions defines the options available to a user when configuring Machines to run on Spot instances. Most users should provide an empty struct.", + "properties": { + "maxPrice": { + "description": "MaxPrice defines the maximum price the user is willing to pay for Spot VM instances", + "type": "string" + } + }, + "type": "object" + }, + "v1SpotVMOptions": { + "description": "SpotVMOptions defines the options relevant to running the Machine on Spot VMs", + "properties": { + "maxPrice": { + "description": "MaxPrice defines the maximum price the user is willing to pay for Spot VM instances", + "type": "string" + } + }, + "type": "object" + }, + "v1SsoLogin": { + "description": "Describes the allowed sso login details", + "properties": { + "displayName": { + "description": "Describes the display name for the sso login", + "type": "string" + }, + "logo": { + "description": "Describes the url path for the sso login", + "type": "string" + }, + "name": { + "description": "Describes the processed name for the sso login", + "type": "string" + }, + "redirectUri": { + "description": "Describes the sso login url for the authentication", + "type": "string" + } + }, + "type": "object" + }, + "v1SsoLogins": { + "description": "Describes the allowed sso logins", + "items": { + "$ref": "#/definitions/v1SsoLogin" + }, + "type": "array", + "uniqueItems": true + }, + "v1StorageAccount": { + "description": "Azure storage account provides a unique namespace for your Azure resources", + "properties": { + "id": { + "description": "Fully qualified resource ID for the resource", + "type": "string" + }, + "kind": { + "description": "The kind of the resource", + "type": "string" + }, + "location": { + "description": "The geo-location where the resource lives", + "type": "string" + }, + "name": { + "description": "The name of the resource", + "type": "string" + } + }, + "type": "object" + }, + "v1StorageAccountEntity": { + "description": "Azure storage account entity", + "properties": { + "id": { + "description": "Azure storage account id", + "type": "string" + }, + "name": { + "description": "Azure storage account name", + "type": "string" + } + }, + "type": "object" + }, + "v1StorageContainer": { + "description": "Azure storage container organizes a set of blobs, similar to a directory in a file system", + "properties": { + "id": { + "description": "Fully qualified resource ID for the resource.", + "type": "string" + }, + "name": { + "description": "The name of the resource", + "type": "string" + }, + "type": { + "description": "The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\"", + "type": "string" + } + }, + "type": "object" + }, + "v1StorageCost": { + "description": "Cloud storage cost", + "properties": { + "discountedUsage": { + "description": "Cloud storage upper limit which is free.", + "type": "string" + }, + "price": { + "description": "Array of cloud storage range prices", + "items": { + "$ref": "#/definitions/v1StoragePrice" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1StoragePrice": { + "description": "Cloud storage price within an upper limit.", + "properties": { + "limit": { + "description": "Upper limit of cloud storage usage", + "type": "string" + }, + "price": { + "description": "Price of cloud storage type", + "type": "string" + } + }, + "type": "object" + }, + "v1StorageRate": { + "description": "Storage estimated rate information", + "properties": { + "iops": { + "format": "float64", + "type": "number" + }, + "rate": { + "format": "float64", + "type": "number", + "x-omitempty": false + }, + "sizeGB": { + "format": "float64", + "type": "number" + }, + "throughput": { + "format": "float64", + "type": "number" + }, + "type": { + "type": "string" + } + }, + "type": "object" + }, + "v1StorageType": { + "description": "Cloud cloud Storage type details", + "properties": { + "cost": { + "$ref": "#/definitions/v1StorageCost" + }, + "iopsCost": { + "$ref": "#/definitions/v1StorageCost" + }, + "kind": { + "description": "kind of storage type", + "type": "string" + }, + "name": { + "description": "Name of the storage type", + "type": "string" + }, + "throughputCost": { + "$ref": "#/definitions/v1StorageCost" + } + }, + "type": "object" + }, + "v1StripeKey": { + "description": "Stripe key object", + "properties": { + "publishKey": { + "description": "Publish stripe key", + "type": "string" + } + } + }, + "v1Subnet": { + "properties": { + "cidrBlock": { + "description": "CidrBlock is the CIDR block to be used when the provider creates a managed Vnet.", + "type": "string" + }, + "name": { + "type": "string" + }, + "securityGroupName": { + "description": "Network Security Group(NSG) to be attached to subnet. NSG for a control plane subnet, should allow inbound to port 6443, as port 6443 is used by kubeadm to bootstrap the control planes", + "type": "string" + } + }, + "type": "object" + }, + "v1Subscription": { + "description": "Azure Subscription Type", + "properties": { + "authorizationSource": { + "description": "The authorization source of the request. Valid values are one or more combinations of Legacy, RoleBased, Bypassed, Direct and Management", + "type": "string" + }, + "displayName": { + "description": "The subscription display name", + "type": "string" + }, + "state": { + "description": "The subscription state. Possible values are Enabled, Warned, PastDue, Disabled, and Deleted.", + "type": "string" + }, + "subscriptionId": { + "description": "The subscription ID", + "type": "string" + } + }, + "type": "object" + }, + "v1SyftDependency": { + "description": "Compliance Scan Syft Dependency", + "properties": { + "name": { + "type": "string" + }, + "type": { + "type": "string" + }, + "version": { + "type": "string" + } + } + }, + "v1SyftDependencyEntity": { + "description": "Syft dependency", + "properties": { + "name": { + "type": "string" + }, + "type": { + "type": "string" + }, + "version": { + "type": "string" + } + } + }, + "v1SyftEntity": { + "description": "Syft response", + "properties": { + "report": { + "$ref": "#/definitions/v1SyftReportEntity" + }, + "requestUid": { + "type": "string" + }, + "status": { + "enum": [ + "Completed", + "InProgress", + "Failed", + "Initiated" + ], + "type": "string" + } + }, + "required": [ + "requestUid", + "status", + "report" + ] + }, + "v1SyftImageContext": { + "description": "Compliance Scan Syft Image Context", + "properties": { + "containerName": { + "type": "string" + }, + "namespace": { + "type": "string" + }, + "podName": { + "type": "string" + } + } + }, + "v1SyftReport": { + "description": "Compliance Scan Syft Report", + "properties": { + "dependencies": { + "items": { + "$ref": "#/definitions/v1SyftDependency" + }, + "type": "array" + }, + "image": { + "type": "string" + }, + "imageContexts": { + "items": { + "$ref": "#/definitions/v1SyftImageContext" + }, + "type": "array" + }, + "isSBOMExist": { + "type": "boolean" + }, + "state": { + "type": "string" + }, + "time": { + "$ref": "#/definitions/v1Time" + }, + "vulnerabilities": { + "items": { + "$ref": "#/definitions/v1SyftVulnerability" + }, + "type": "array" + }, + "vulnerabilitySummary": { + "$ref": "#/definitions/v1SyftVulnerabilitySummary" + } + } + }, + "v1SyftReportEntity": { + "description": "Syft report", + "properties": { + "batchNo": { + "format": "int32", + "type": "integer" + }, + "batchSize": { + "format": "int32", + "type": "integer" + }, + "dependencies": { + "items": { + "$ref": "#/definitions/v1SyftDependencyEntity" + }, + "type": "array" + }, + "image": { + "type": "string" + }, + "imageContexts": { + "items": { + "$ref": "#/definitions/v1SyftImageContext" + }, + "type": "array" + }, + "sbom": { + "type": "string" + }, + "time": { + "$ref": "#/definitions/v1Time" + }, + "vulnerabilities": { + "items": { + "$ref": "#/definitions/v1SyftVulnerabilityEntity" + }, + "type": "array" + }, + "vulnerabilitySummary": { + "$ref": "#/definitions/v1SyftVulnerabilitySummaryEntity" + } + } + }, + "v1SyftScanContext": { + "description": "Compliance Scan Syft Context", + "properties": { + "format": { + "type": "string" + }, + "labelSelector": { + "type": "string" + }, + "namespace": { + "type": "string" + }, + "podName": { + "type": "string" + }, + "scope": { + "type": "string" + } + } + }, + "v1SyftVulnerability": { + "description": "Compliance Scan Syft Vulnerability", + "properties": { + "fixedIn": { + "type": "string" + }, + "installed": { + "type": "string" + }, + "name": { + "type": "string" + }, + "severity": { + "type": "string" + }, + "type": { + "type": "string" + }, + "vulnerability": { + "type": "string" + } + } + }, + "v1SyftVulnerabilityEntity": { + "description": "Syft vulnerability", + "properties": { + "fixedIn": { + "type": "string" + }, + "installed": { + "type": "string" + }, + "name": { + "type": "string" + }, + "severity": { + "type": "string" + }, + "type": { + "type": "string" + }, + "vulnerability": { + "type": "string" + } + } + }, + "v1SyftVulnerabilitySummary": { + "description": "Compliance Scan Syft Vulnerability Summary", + "properties": { + "critical": { + "format": "int32", + "type": "integer" + }, + "high": { + "format": "int32", + "type": "integer" + }, + "low": { + "format": "int32", + "type": "integer" + }, + "medium": { + "format": "int32", + "type": "integer" + }, + "negligible": { + "format": "int32", + "type": "integer" + }, + "unknown": { + "format": "int32", + "type": "integer" + } + } + }, + "v1SyftVulnerabilitySummaryEntity": { + "description": "Syft vulnerability summary", + "properties": { + "critical": { + "format": "int32", + "type": "integer" + }, + "high": { + "format": "int32", + "type": "integer" + }, + "low": { + "format": "int32", + "type": "integer" + }, + "medium": { + "format": "int32", + "type": "integer" + }, + "negligible": { + "format": "int32", + "type": "integer" + }, + "unknown": { + "format": "int32", + "type": "integer" + } + } + }, + "v1SysLogin": { + "description": "System admin login input", + "properties": { + "emailId": { + "type": "string" + }, + "password": { + "format": "password", + "type": "string" + }, + "username": { + "type": "string" + } + }, + "type": "object" + }, + "v1SysUserToken": { + "description": "Auth token response", + "properties": { + "Authorization": { + "type": "string" + }, + "IsEmailSet": { + "type": "boolean", + "x-omitempty": false + }, + "IsEmailVerified": { + "type": "boolean", + "x-omitempty": false + }, + "IsMfa": { + "type": "boolean", + "x-omitempty": false + }, + "IsPasswordReset": { + "type": "boolean", + "x-omitempty": false + } + }, + "type": "object" + }, + "v1SystemAdmin": { + "description": "System Admin information", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1SystemAdministratorSpec" + }, + "status": { + "$ref": "#/definitions/v1SystemAdministratorStatus" + } + }, + "type": "object" + }, + "v1SystemAdminActivation": { + "description": "System Administrator Activation Specification", + "properties": { + "expiry": { + "$ref": "#/definitions/v1Time" + }, + "link": { + "type": "string" + } + }, + "type": "object" + }, + "v1SystemAdminEntity": { + "description": "System Admin information", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMetaInputEntity" + }, + "spec": { + "$ref": "#/definitions/v1SystemAdministratorSpec" + } + }, + "type": "object" + }, + "v1SystemAdminMfa": { + "description": "System Administrator MFA configuration", + "properties": { + "devices": { + "items": { + "type": "string" + }, + "type": "array" + }, + "state": { + "type": "string" + } + }, + "type": "object" + }, + "v1SystemAdminProfile": { + "description": "System Administrator Profile Entity", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMetaInputEntity" + }, + "spec": { + "$ref": "#/definitions/v1SystemAdminProfileSpec" + } + }, + "type": "object" + }, + "v1SystemAdminProfileSpec": { + "description": "System Administrator Profile Specification", + "properties": { + "firstName": { + "type": "string" + }, + "lastName": { + "type": "string" + } + }, + "type": "object" + }, + "v1SystemAdministratorSpec": { + "description": "System Administrator Entity Specification", + "properties": { + "adminType": { + "enum": [ + "AccountAdmin", + "OperationAdmin" + ], + "type": "string" + }, + "emailId": { + "type": "string" + }, + "firstName": { + "type": "string" + }, + "lastName": { + "type": "string" + }, + "mfa": { + "$ref": "#/definitions/v1SystemAdminMfa", + "type": "string" + } + }, + "required": [ + "firstName", + "lastName", + "emailId", + "adminType" + ], + "type": "object" + }, + "v1SystemAdministratorStatus": { + "description": "System Administrator Status", + "properties": { + "activation": { + "$ref": "#/definitions/v1SystemAdminActivation" + }, + "createdBy": { + "type": "string" + }, + "lastPasswordUpdate": { + "$ref": "#/definitions/v1Time" + }, + "lastSignIn": { + "$ref": "#/definitions/v1Time" + }, + "state": { + "type": "string" + } + }, + "type": "object" + }, + "v1SystemAdmins": { + "description": "List of System Admin information's", + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1SystemAdmin" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1SystemAwsAccount": { + "description": "SystemAdmin", + "properties": { + "spec": { + "$ref": "#/definitions/v1SystemAwsSpec" + } + }, + "type": "object" + }, + "v1SystemAwsImage": { + "description": "SystemAdmin", + "properties": { + "spec": { + "$ref": "#/definitions/v1SystemAwsImageSpec" + } + }, + "type": "object" + }, + "v1SystemAwsImageSpec": { + "description": "system aws account specifications", + "properties": { + "goldenImageRegion": { + "type": "string" + } + } + }, + "v1SystemAwsSpec": { + "description": "system aws account specifications", + "properties": { + "accessKey": { + "type": "string" + }, + "secretKey": { + "type": "string" + } + } + }, + "v1SystemAwsStsAccount": { + "description": "System AWS Gov account specifications", + "properties": { + "accessKey": { + "type": "string" + }, + "accountId": { + "type": "string" + }, + "secretKey": { + "type": "string" + } + } + }, + "v1SystemAzureAccount": { + "description": "SystemAdmin", + "properties": { + "spec": { + "$ref": "#/definitions/v1SystemAzureSpec" + } + }, + "type": "object" + }, + "v1SystemAzureSpec": { + "description": "system azure account specifications", + "properties": { + "clientId": { + "type": "string" + }, + "clientSecret": { + "type": "string" + }, + "subscriptionId": { + "type": "string" + }, + "tenantId": { + "type": "string" + } + } + }, + "v1SystemAzureStorage": { + "description": "SystemAdmin", + "properties": { + "spec": { + "$ref": "#/definitions/v1SystemAzureStorageSpec" + } + }, + "type": "object" + }, + "v1SystemAzureStorageSpec": { + "description": "system aws account specifications", + "properties": { + "accessKey": { + "type": "string" + }, + "container": { + "type": "string" + }, + "storageName": { + "type": "string" + } + } + }, + "v1SystemBackupConfigSpec": { + "description": "system backup config spec", + "properties": { + "ftp": { + "$ref": "#/definitions/v1SystemFtpSpec" + }, + "hourOfTheDay": { + "type": "integer", + "x-omitempty": false + }, + "interval": { + "type": "integer", + "x-omitempty": false + }, + "retentionPeriod": { + "type": "integer", + "x-omitempty": false + } + }, + "type": "object" + }, + "v1SystemBackupFtpConfigSpec": { + "description": "system backup config spec", + "properties": { + "backupSpec": { + "$ref": "#/definitions/v1SystemBackupSpec" + }, + "ftp": { + "$ref": "#/definitions/v1SystemFtpSpec" + } + }, + "type": "object" + }, + "v1SystemBackupS3ConfigSpec": { + "description": "system backup config spec", + "properties": { + "backupSpec": { + "$ref": "#/definitions/v1SystemBackupSpec" + }, + "s3": { + "$ref": "#/definitions/v1SystemS3Spec" + } + }, + "type": "object" + }, + "v1SystemBackupSpec": { + "description": "system backup config spec", + "properties": { + "hourOfTheDay": { + "type": "integer", + "x-omitempty": false + }, + "interval": { + "type": "integer", + "x-omitempty": false + }, + "retentionPeriod": { + "type": "integer", + "x-omitempty": false + } + }, + "type": "object" + }, + "v1SystemCertificateSpec": { + "description": "system smtp config spec", + "properties": { + "caCert": { + "type": "string" + }, + "crt": { + "type": "string" + }, + "insecureSkipVerify": { + "type": "boolean" + }, + "key": { + "type": "string" + } + }, + "type": "object" + }, + "v1SystemConfigAuth": { + "description": "System config auth", + "properties": { + "enforceServiceAuthToken": { + "type": "boolean", + "x-omitempty": false + }, + "enforceTlsVerify": { + "type": "boolean", + "x-omitempty": false + } + } + }, + "v1SystemConfigCluster": { + "description": "System config cluster", + "properties": { + "stableEndpointAccess": { + "type": "boolean", + "x-omitempty": false + } + } + }, + "v1SystemConfigDomainSpec": { + "description": "system domain config spec", + "properties": { + "apiServer": { + "type": "string" + }, + "derivedApiServer": { + "type": "string" + }, + "derivedRootDomain": { + "type": "string" + }, + "rootDomain": { + "type": "string" + }, + "urlProtocol": { + "type": "string" + } + }, + "type": "object" + }, + "v1SystemConfigStoreEntity": { + "properties": { + "key": { + "type": "string", + "x-omitempty": false + }, + "value": { + "type": "string", + "x-omitempty": false + } + }, + "required": [ + "key", + "value" + ], + "type": "object" + }, + "v1SystemCryptoData": { + "description": "SystemAdmin", + "properties": { + "input": { + "type": "string" + }, + "result": { + "type": "string" + } + }, + "type": "object" + }, + "v1SystemCryptoInput": { + "description": "SystemAdmin", + "properties": { + "input": { + "type": "string" + } + }, + "type": "object" + }, + "v1SystemEdgeImage": { + "description": "SystemAdmin", + "properties": { + "spec": { + "$ref": "#/definitions/v1SystemEdgeImageSpec" + } + }, + "type": "object" + }, + "v1SystemEdgeImageSpec": { + "description": "system edge account specifications", + "properties": { + "caCert": { + "type": "string" + }, + "imagesHostEndpoint": { + "type": "string" + }, + "insecureSkipVerify": { + "type": "boolean" + } + } + }, + "v1SystemEdgeNativeImage": { + "description": "SystemAdmin", + "properties": { + "spec": { + "$ref": "#/definitions/v1SystemEdgeNativeImageSpec" + } + }, + "type": "object" + }, + "v1SystemEdgeNativeImageSpec": { + "description": "system edge-native account specifications", + "properties": { + "caCert": { + "type": "string" + }, + "imagesHostEndpoint": { + "type": "string" + }, + "insecureSkipVerify": { + "type": "boolean" + }, + "stylusImagesEndpoint": { + "type": "string" + } + } + }, + "v1SystemFeature": { + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1SystemFeaturesSpec" + } + }, + "type": "object" + }, + "v1SystemFeatures": { + "properties": { + "items": { + "description": "List of system features", + "items": { + "$ref": "#/definitions/v1SystemFeature" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1SystemFeaturesOperation": { + "properties": { + "isAllowed": { + "description": "Flag which specifies if feature is allowed or not", + "type": "boolean", + "x-omitempty": false + } + }, + "type": "object" + }, + "v1SystemFeaturesSpec": { + "properties": { + "description": { + "description": "Feature description", + "type": "string" + }, + "docLink": { + "description": "Feature doc link", + "type": "string" + }, + "isAllowed": { + "description": "Flag which specifies if feature is allowed or not", + "type": "boolean", + "x-omitempty": false + }, + "key": { + "description": "Unique Feature key", + "type": "string" + } + }, + "type": "object" + }, + "v1SystemFtpSpec": { + "description": "system ftp config spec", + "properties": { + "dir": { + "type": "string", + "x-omitempty": false + }, + "password": { + "type": "string", + "x-omitempty": false + }, + "server": { + "type": "string", + "x-omitempty": false + }, + "username": { + "type": "string", + "x-omitempty": false + } + }, + "type": "object" + }, + "v1SystemGcpAccount": { + "description": "SystemAdmin", + "properties": { + "spec": { + "$ref": "#/definitions/v1SystemGcpSpec" + } + }, + "type": "object" + }, + "v1SystemGcpImage": { + "description": "SystemAdmin", + "properties": { + "spec": { + "$ref": "#/definitions/v1SystemGcpImageSpec" + } + }, + "type": "object" + }, + "v1SystemGcpImageSpec": { + "description": "system gcp account specifications", + "properties": { + "imageProject": { + "type": "string" + } + } + }, + "v1SystemGcpSpec": { + "description": "system gcp account specifications", + "properties": { + "json": { + "type": "string" + } + } + }, + "v1SystemGitAuthSpec": { + "description": "system git auth account specifications", + "properties": { + "_type": { + "type": "string" + }, + "password": { + "type": "string" + }, + "token": { + "type": "string" + }, + "username": { + "$ref": "#/definitions/v1SystemGitAuthSpec" + } + } + }, + "v1SystemGithubSsoSpec": { + "description": "system sso github config spec", + "properties": { + "clientId": { + "type": "string" + }, + "clientSecretKey": { + "type": "string" + }, + "isEnabled": { + "type": "boolean" + }, + "logoUrl": { + "type": "string", + "x-omitempty": false + } + }, + "type": "object" + }, + "v1SystemKubectlSpec": { + "description": "system web kubectl config spec", + "properties": { + "endpoint": { + "type": "string" + }, + "isEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "v1SystemLibvirtImage": { + "description": "SystemAdmin", + "properties": { + "spec": { + "$ref": "#/definitions/v1SystemLibvirtImageSpec" + } + }, + "type": "object" + }, + "v1SystemLibvirtImageSpec": { + "description": "system libvirt account specifications", + "properties": { + "caCert": { + "type": "string" + }, + "imagesHostEndpoint": { + "type": "string" + }, + "insecureSkipVerify": { + "type": "boolean" + } + } + }, + "v1SystemLoggerSpec": { + "description": "system logger config spec", + "properties": { + "format": { + "type": "string" + }, + "level": { + "type": "string" + } + }, + "type": "object" + }, + "v1SystemMaasImage": { + "description": "SystemAdmin", + "properties": { + "spec": { + "$ref": "#/definitions/v1SystemMaasImageSpec" + } + }, + "type": "object" + }, + "v1SystemMaasImageSpec": { + "description": "system maas account specifications", + "properties": { + "caCert": { + "type": "string" + }, + "imagesHostEndpoint": { + "type": "string" + }, + "insecureSkipVerify": { + "type": "boolean" + } + } + }, + "v1SystemOciImageRegistry": { + "description": "system web kubectl config spec", + "properties": { + "baseContentPath": { + "type": "string" + }, + "caCert": { + "type": "string" + }, + "endpoint": { + "type": "string" + }, + "insecureSkipVerify": { + "type": "boolean" + }, + "mirrorRegistries": { + "type": "string" + }, + "name": { + "type": "string" + }, + "password": { + "type": "string" + }, + "username": { + "type": "string" + } + }, + "type": "object" + }, + "v1SystemOidcClaims": { + "properties": { + "Email": { + "type": "string", + "x-omitempty": false + }, + "FirstName": { + "type": "string", + "x-omitempty": false + }, + "LastName": { + "type": "string", + "x-omitempty": false + }, + "SpectroTeam": { + "type": "string", + "x-omitempty": false + } + }, + "type": "object" + }, + "v1SystemOidcClientSpec": { + "description": "system sso oidc config spec", + "properties": { + "callbackUrl": { + "type": "string", + "x-omitempty": false + }, + "clientId": { + "type": "string", + "x-omitempty": false + }, + "clientSecret": { + "type": "string", + "x-omitempty": false + }, + "isEnabled": { + "type": "boolean", + "x-omitempty": false + }, + "issuerUrl": { + "description": "the issuer is the URL identifier for the service", + "type": "string", + "x-omitempty": false + }, + "logoUrl": { + "type": "string", + "x-omitempty": false + }, + "requiredClaims": { + "$ref": "#/definitions/v1SystemOidcClaims" + }, + "scopes": { + "items": { + "type": "string" + }, + "type": "array", + "x-omitempty": false + } + }, + "type": "object" + }, + "v1SystemOpenstackImage": { + "description": "SystemAdmin", + "properties": { + "spec": { + "$ref": "#/definitions/v1SystemOpenstackImageSpec" + } + }, + "type": "object" + }, + "v1SystemOpenstackImageSpec": { + "description": "system openstack account specifications", + "properties": { + "imagesHostEndpoint": { + "type": "string" + } + } + }, + "v1SystemPasswordPolicySpec": { + "description": "system password policy", + "properties": { + "creationTimestamp": { + "$ref": "#/definitions/v1Time" + }, + "expiryDurationInDays": { + "type": "integer" + }, + "firstReminderInDays": { + "type": "integer" + }, + "isRegex": { + "type": "boolean" + }, + "minLength": { + "type": "integer" + }, + "minNumOfBlockLetters": { + "type": "integer" + }, + "minNumOfDigits": { + "type": "integer" + }, + "minNumOfSmallLetters": { + "type": "integer" + }, + "minNumOfSpecialCharacters": { + "type": "integer" + }, + "regex": { + "type": "string" + }, + "reminderFrequency": { + "type": "integer" + }, + "updateTimestamp": { + "$ref": "#/definitions/v1Time" + } + }, + "type": "object" + }, + "v1SystemPlan": { + "description": "system plan", + "properties": { + "freeCredits": { + "items": { + "$ref": "#/definitions/v1SystemPlanCredit" + }, + "type": "array" + }, + "planLimit": { + "$ref": "#/definitions/v1SystemPlanLimit" + }, + "slaCredits": { + "items": { + "$ref": "#/definitions/v1SystemPlanCredit" + }, + "type": "array" + }, + "systemStartDate": { + "$ref": "#/definitions/v1Time" + } + } + }, + "v1SystemPlanCredit": { + "description": "Plan Credit", + "properties": { + "cpuCoreHours": { + "format": "int64", + "type": "number", + "x-omitempty": false + }, + "creditUid": { + "type": "string" + }, + "expiry": { + "$ref": "#/definitions/v1Time", + "description": "credit expiry time" + }, + "name": { + "type": "string" + }, + "start": { + "$ref": "#/definitions/v1Time", + "description": "credit start time" + }, + "type": { + "enum": [ + "Pure", + "Alloy" + ], + "type": "string" + } + }, + "required": [ + "type" + ] + }, + "v1SystemPlanLimit": { + "description": "System Monthly Plan Limit", + "properties": { + "alloy": { + "$ref": "#/definitions/v1SystemPlanLimitSpec" + }, + "isUnlimited": { + "description": "is unlimited cpu core hours", + "type": "boolean", + "x-omitempty": false + }, + "pure": { + "$ref": "#/definitions/v1SystemPlanLimitSpec" + } + } + }, + "v1SystemPlanLimitSpec": { + "description": "Monthly Plan Limit spec", + "properties": { + "cpuCoreHours": { + "description": "cpu cores hours", + "format": "int64", + "type": "integer", + "x-omitempty": false + }, + "overageLimitPercentage": { + "default": 25, + "description": "overage limit in percentage", + "format": "int8", + "type": "integer", + "x-omitempty": false + }, + "warnLimitPercentage": { + "default": 90, + "description": "warning limit in percentage", + "format": "int8", + "type": "integer", + "x-omitempty": false + } + } + }, + "v1SystemPlanLimitUpdate": { + "description": "System Plan limit change update entity", + "properties": { + "planLimit": { + "$ref": "#/definitions/v1SystemPlanLimit" + } + } + }, + "v1SystemProductUsage": { + "description": "Yearly usage", + "properties": { + "allocatedCredits": { + "description": "Allocated credits", + "format": "int64", + "type": "number" + }, + "breachedCredits": { + "description": "Credits exceeded the allocated and free credits", + "format": "float64", + "type": "number" + }, + "freeSlaCredits": { + "description": "Free allocated SLA credits", + "format": "int64", + "type": "number" + }, + "usedCredits": { + "description": "Used credits", + "format": "float64", + "type": "number" + } + } + }, + "v1SystemProxySpec": { + "description": "system proxy config spec", + "properties": { + "httpProxy": { + "type": "string" + }, + "httpsProxy": { + "type": "string" + }, + "noProxy": { + "type": "string" + } + }, + "type": "object" + }, + "v1SystemRateLimit": { + "description": "system rate-limit", + "properties": { + "isActive": { + "type": "boolean" + } + } + }, + "v1SystemRegistry": { + "description": "Registry configuration", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1RegistryConf" + } + }, + "type": "object" + }, + "v1SystemResourceLimit": { + "properties": { + "kind": { + "$ref": "#/definitions/v1ResourceLimitType", + "type": "string", + "x-omitempty": false + }, + "limit": { + "format": "int64", + "type": "number", + "x-omitempty": false + } + } + }, + "v1SystemResourceLimits": { + "description": "System resource limits. Supported resources keys are 'user','project','apiKey','team','role','cloudaccount','clusterprofile','workspace','registry','privategateway','location','certificate','macro','sshkey','alert','spectrocluster','edgehost'.", + "properties": { + "resources": { + "items": { + "$ref": "#/definitions/v1SystemResourceLimit" + }, + "type": "array", + "uniqueItems": true + } + } + }, + "v1SystemRetentionPolicy": { + "description": "system retention policy", + "properties": { + "retentionPeriod": { + "type": "integer", + "x-omitempty": false + } + }, + "type": "object" + }, + "v1SystemReverseProxy": { + "description": "system config reverse proxy", + "properties": { + "caCert": { + "type": "string" + }, + "clientCert": { + "type": "string" + }, + "clientKey": { + "type": "string" + }, + "port": { + "type": "integer" + }, + "protocol": { + "enum": [ + "http", + "https" + ], + "type": "string" + }, + "server": { + "type": "string" + }, + "vHostPort": { + "type": "integer" + } + } + }, + "v1SystemS3Spec": { + "description": "system backup s3 storage config spec", + "properties": { + "accessKey": { + "type": "string", + "x-omitempty": false + }, + "bucket": { + "type": "string", + "x-omitempty": false + }, + "folder": { + "type": "string", + "x-omitempty": false + }, + "region": { + "type": "string", + "x-omitempty": false + }, + "secretKey": { + "type": "string", + "x-omitempty": false + } + }, + "type": "object" + }, + "v1SystemScarSpec": { + "description": "system scar config spec", + "properties": { + "baseContentPath": { + "type": "string" + }, + "caCert": { + "type": "string" + }, + "endpoint": { + "type": "string" + }, + "insecureVerify": { + "type": "boolean" + }, + "password": { + "type": "string" + }, + "username": { + "type": "string" + } + }, + "type": "object" + }, + "v1SystemScarValidationResponse": { + "description": "system proxy config spec", + "properties": { + "spectroVersion": { + "type": "string" + } + }, + "type": "object" + }, + "v1SystemSecurityMode": { + "description": "System service mode", + "properties": { + "securityMode": { + "type": "string" + } + } + }, + "v1SystemServiceLogin": { + "description": "System service login input", + "properties": { + "authToken": { + "description": "authToken helps in two step verification for the authorization.", + "type": "string" + }, + "isSystem": { + "type": "boolean" + }, + "overlordUid": { + "type": "string" + }, + "serviceName": { + "type": "string" + }, + "serviceVersion": { + "type": "string" + }, + "spectroClusterUid": { + "type": "string" + }, + "tenantUid": { + "type": "string" + } + }, + "type": "object" + }, + "v1SystemSmtpSpec": { + "description": "system smtp config spec", + "properties": { + "fromEmailId": { + "type": "string" + }, + "insecureSkipVerifyTls": { + "type": "boolean" + }, + "password": { + "type": "string" + }, + "smtpPort": { + "type": "integer" + }, + "smtpServer": { + "type": "string" + }, + "userName": { + "type": "string" + } + }, + "type": "object" + }, + "v1SystemSsoAuthSpec": { + "description": "system sso config spec", + "properties": { + "github": { + "$ref": "#/definitions/v1SystemGithubSsoSpec" + }, + "oidcAuthSpecs": { + "additionalProperties": { + "$ref": "#/definitions/v1SystemOidcClientSpec" + }, + "type": "object" + } + }, + "type": "object" + }, + "v1SystemSsoSpec": { + "description": "system sso config spec", + "properties": { + "acsUrlRoot": { + "type": "string" + }, + "acsUrlScheme": { + "type": "string" + }, + "apiVersion": { + "type": "string" + }, + "audienceUrl": { + "type": "string" + }, + "authSpec": { + "$ref": "#/definitions/v1SystemSsoAuthSpec" + }, + "entityId": { + "type": "string" + } + }, + "type": "object" + }, + "v1SystemStartDate": { + "description": "system start date", + "properties": { + "systemStartDate": { + "$ref": "#/definitions/v1Time" + } + } + }, + "v1SystemStorageS3ConfigSpec": { + "description": "system storage s3 config spec", + "properties": { + "isEnabled": { + "type": "boolean" + }, + "retentionPolicy": { + "$ref": "#/definitions/v1SystemRetentionPolicy" + }, + "s3": { + "$ref": "#/definitions/v1SystemS3Spec" + } + }, + "type": "object" + }, + "v1SystemTencentAccount": { + "description": "SystemAdmin", + "properties": { + "spec": { + "$ref": "#/definitions/v1SystemTencentSpec" + } + }, + "type": "object" + }, + "v1SystemTencentSpec": { + "description": "system tencent account specifications", + "properties": { + "secretId": { + "type": "string" + }, + "secretKey": { + "type": "string" + } + } + }, + "v1SystemTimeseriesMetrics": { + "description": "system timeseries metrics config", + "properties": { + "archivalInterval": { + "type": "integer" + }, + "batchInterval": { + "type": "integer" + }, + "enabled": { + "type": "boolean", + "x-omitempty": false + }, + "retentionPeriod": { + "type": "integer" + } + }, + "type": "object" + }, + "v1SystemTimeseriesSpec": { + "description": "system timeseries config spec", + "properties": { + "machine": { + "$ref": "#/definitions/v1SystemTimeseriesMetrics" + }, + "pod": { + "$ref": "#/definitions/v1SystemTimeseriesMetrics" + } + }, + "type": "object" + }, + "v1SystemUsage": { + "description": "System usage billing object", + "properties": { + "planLimit": { + "$ref": "#/definitions/v1PlanLimit" + }, + "usageBillingPeriod": { + "$ref": "#/definitions/v1InvoiceBillingPeriod" + }, + "yearlyUsages": { + "description": "List of every year system usage", + "items": { + "$ref": "#/definitions/v1YearlyUsage" + }, + "type": "array", + "uniqueItems": true + } + } + }, + "v1SystemUserMe": { + "description": "User information wrt permissions", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1SystemUserSpec" + }, + "status": { + "$ref": "#/definitions/v1SystemUserMeStatus" + } + }, + "type": "object" + }, + "v1SystemUserMeStatus": { + "description": "User status with permissions", + "properties": { + "isEmailSet": { + "type": "boolean", + "x-omitempty": false + }, + "isEmailVerified": { + "type": "boolean", + "x-omitempty": false + }, + "isMfaEnabled": { + "type": "boolean", + "x-omitempty": false + }, + "isPasswordReset": { + "type": "boolean", + "x-omitempty": false + }, + "lastEmailUpdateTime": { + "$ref": "#/definitions/v1Time" + }, + "lastEmailVerifiedTime": { + "$ref": "#/definitions/v1Time" + }, + "lastLoginTime": { + "$ref": "#/definitions/v1Time" + }, + "lastPasswordUpdateTime": { + "$ref": "#/definitions/v1Time" + } + } + }, + "v1SystemUserSpec": { + "description": "User specifications", + "properties": { + "adminType": { + "description": "Admin type", + "type": "string" + }, + "emailId": { + "description": "System User's email id", + "type": "string" + } + } + }, + "v1SystemVersionInfo": { + "description": "system version info", + "properties": { + "version": { + "type": "string" + } + }, + "type": "object" + }, + "v1SystemVsphereImage": { + "description": "SystemAdmin", + "properties": { + "spec": { + "$ref": "#/definitions/v1SystemVsphereImageSpec" + } + }, + "type": "object" + }, + "v1SystemVsphereImageSpec": { + "description": "system vsphere account specifications", + "properties": { + "caCert": { + "type": "string" + }, + "imagesHostEndpoint": { + "type": "string" + }, + "insecureSkipVerify": { + "type": "boolean" + }, + "overlordOvaLocation": { + "type": "string" + } + } + }, + "v1TagFilter": { + "description": "Tag Filter create spec", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMetaInputEntity" + }, + "spec": { + "$ref": "#/definitions/v1TagFilterSpec" + } + }, + "type": "object" + }, + "v1TagFilterGroup": { + "properties": { + "conjunction": { + "$ref": "#/definitions/v1SearchFilterConjunctionOperator" + }, + "filters": { + "items": { + "$ref": "#/definitions/v1TagFilterItem" + }, + "type": "array", + "uniqueItems": true + } + } + }, + "v1TagFilterItem": { + "properties": { + "key": { + "type": "string" + }, + "negation": { + "type": "boolean" + }, + "operator": { + "$ref": "#/definitions/v1SearchFilterKeyValueOperator" + }, + "values": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + } + }, + "v1TagFilterSpec": { + "description": "Filter create spec", + "properties": { + "filterGroup": { + "$ref": "#/definitions/v1TagFilterGroup" + } + }, + "type": "object" + }, + "v1TagFilterSummary": { + "description": "Filter summary object", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1TagFilterSpec" + } + }, + "type": "object" + }, + "v1Taint": { + "description": "Taint", + "properties": { + "effect": { + "enum": [ + "NoSchedule", + "PreferNoSchedule", + "NoExecute" + ], + "type": "string" + }, + "key": { + "description": "The taint key to be applied to a node", + "type": "string" + }, + "timeAdded": { + "$ref": "#/definitions/v1Time" + }, + "value": { + "description": "The taint value corresponding to the taint key.", + "type": "string" + } + }, + "type": "object" + }, + "v1Team": { + "description": "Team information", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1TeamSpec" + }, + "status": { + "$ref": "#/definitions/v1TeamStatus" + } + }, + "type": "object" + }, + "v1TeamPatch": { + "items": { + "$ref": "#/definitions/v1HttpPatch" + }, + "type": "array" + }, + "v1TeamRoleMap": { + "properties": { + "roles": { + "items": { + "type": "string" + }, + "type": "array" + }, + "teamId": { + "type": "string" + } + } + }, + "v1TeamSpec": { + "description": "Team specifications", + "properties": { + "roles": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "sources": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "users": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + } + }, + "v1TeamSpecSummary": { + "properties": { + "emailId": { + "type": "string" + }, + "projects": { + "items": { + "$ref": "#/definitions/v1UidSummary" + }, + "type": "array" + }, + "roles": { + "items": { + "$ref": "#/definitions/v1UidSummary" + }, + "type": "array" + }, + "users": { + "items": { + "$ref": "#/definitions/v1UidSummary" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1TeamStatus": { + "description": "Team status", + "type": "object" + }, + "v1TeamSummary": { + "description": "Team summary", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1TeamSpecSummary" + }, + "status": { + "$ref": "#/definitions/v1TeamStatus" + } + }, + "type": "object" + }, + "v1TeamSummarySortFields": { + "enum": [ + "name", + "creationTimestamp" + ], + "type": "string", + "x-nullable": true + }, + "v1TeamSummarySortSpec": { + "properties": { + "field": { + "$ref": "#/definitions/v1TeamSummarySortFields" + }, + "order": { + "$ref": "#/definitions/v1SortOrder" + } + } + }, + "v1TeamTenantRolesEntity": { + "properties": { + "roles": { + "items": { + "$ref": "#/definitions/v1UidSummary" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1TeamTenantRolesUpdate": { + "properties": { + "roles": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1Teams": { + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1Team" + }, + "type": "array", + "uniqueItems": true + }, + "listmeta": { + "$ref": "#/definitions/v1ListMetaData" + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1TeamsBatch": { + "items": { + "$ref": "#/definitions/v1Team" + }, + "type": "array", + "uniqueItems": true + }, + "v1TeamsFilterSpec": { + "description": "Teams filter spec", + "properties": { + "name": { + "$ref": "#/definitions/v1FilterString" + } + } + }, + "v1TeamsMetadata": { + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1ObjectEntity" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1TeamsSummary": { + "description": "Deprecated, Use v1UsersSummaryList - Returns User summary", + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1TeamSummary" + }, + "type": "array", + "uniqueItems": true + }, + "listmeta": { + "$ref": "#/definitions/v1ListMetaData" + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1TeamsSummaryList": { + "description": "Returns Team summary", + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1TeamSummary" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1TeamsSummarySpec": { + "description": "Teams filter summary spec", + "properties": { + "filter": { + "$ref": "#/definitions/v1TeamsFilterSpec" + }, + "sort": { + "items": { + "$ref": "#/definitions/v1TeamSummarySortSpec" + }, + "type": "array", + "uniqueItems": true + } + } + }, + "v1Tenant": { + "description": "Tenant", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1TenantSpec" + }, + "status": { + "$ref": "#/definitions/v1TenantStatus" + } + }, + "type": "object" + }, + "v1TenantActivate": { + "description": "Activate/Deactivate tenant", + "properties": { + "isActive": { + "default": true, + "type": "boolean" + } + }, + "type": "object" + }, + "v1TenantActivity": { + "description": "Active tenant and clusters data", + "properties": { + "clustersInfo": { + "$ref": "#/definitions/v1ClustersInfo" + }, + "org": { + "type": "string" + }, + "planType": { + "type": "string" + }, + "totalProjects": { + "format": "int64", + "type": "number" + }, + "totalUsers": { + "format": "int64", + "type": "number" + }, + "uid": { + "type": "string" + }, + "users": { + "items": { + "$ref": "#/definitions/v1UserActivityInfo" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "v1TenantAddressPatch": { + "description": "Tenant Address", + "properties": { + "address": { + "$ref": "#/definitions/v1Address" + } + }, + "type": "object" + }, + "v1TenantAssetCert": { + "description": "tenant cert", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1Cert" + } + }, + "type": "object" + }, + "v1TenantAssetCerts": { + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1TenantAssetCert" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1TenantBasicEntity": { + "description": "Tenant Basic param", + "properties": { + "emailId": { + "type": "string" + }, + "orgName": { + "type": "string" + } + }, + "type": "object" + }, + "v1TenantCleanUpStatus": { + "description": "Tenant CleanUp Status", + "properties": { + "cleanUpError": { + "type": "string" + }, + "cleanUpStages": { + "type": "string" + }, + "cleanUpTimestamp": { + "$ref": "#/definitions/v1Time" + }, + "cleanedResources": { + "items": { + "type": "string" + }, + "type": "array" + }, + "isCompleted": { + "type": "boolean", + "x-omitempty": false + }, + "isInProgress": { + "type": "boolean", + "x-omitempty": false + } + }, + "type": "object" + }, + "v1TenantClusterSettings": { + "properties": { + "nodesAutoRemediationSetting": { + "$ref": "#/definitions/v1NodesAutoRemediationSettings" + } + } + }, + "v1TenantContractSpec": { + "description": "Tenant contract settings", + "properties": { + "acceptedTime": { + "$ref": "#/definitions/v1Time", + "description": "If the contract is accepted offline, set the accepted time" + }, + "isAccepted": { + "description": "If the contract is accepted offline, then set this field to true", + "type": "boolean" + }, + "isRequired": { + "description": "Is the contract required, for on-prem installation it will be false", + "type": "boolean" + } + }, + "required": [ + "isRequired", + "isAccepted" + ], + "type": "object" + }, + "v1TenantDomains": { + "description": "Tenant domains", + "properties": { + "domains": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "v1TenantEmailPatch": { + "description": "Tenant EmailId", + "properties": { + "emailId": { + "type": "string" + } + }, + "type": "object" + }, + "v1TenantEnableClusterGroup": { + "description": "Enable or Disable cluster group for a tenant", + "properties": { + "hideSystemClusterGroups": { + "type": "boolean", + "x-omitempty": false + }, + "isClusterGroupEnabled": { + "description": "Deprecated. Use hideSystemClusterGroups field", + "type": "boolean", + "x-omitempty": false + } + } + }, + "v1TenantEntity": { + "description": "Tenant Entity", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1TenantSpecEntity" + } + }, + "type": "object" + }, + "v1TenantFreemium": { + "description": "Tenant freemium configuration", + "properties": { + "activeClustersLimit": { + "type": "integer", + "x-omitempty": false + }, + "isFreemium": { + "type": "boolean", + "x-omitempty": false + }, + "isUnlimited": { + "type": "boolean", + "x-omitempty": false + }, + "overageUsageLimit": { + "format": "float64", + "type": "number", + "x-omitempty": false + }, + "totalUsageLimit": { + "format": "float64", + "type": "number", + "x-omitempty": false + } + } + }, + "v1TenantFreemiumUsage": { + "properties": { + "isFreemium": { + "type": "boolean", + "x-omitempty": false + }, + "isUnlimited": { + "type": "boolean", + "x-omitempty": false + }, + "limit": { + "$ref": "#/definitions/v1FreemiumUsageLimit" + }, + "usage": { + "$ref": "#/definitions/v1FreemiumUsage" + } + }, + "type": "object" + }, + "v1TenantOidcClaims": { + "properties": { + "Email": { + "type": "string", + "x-omitempty": false + }, + "FirstName": { + "type": "string", + "x-omitempty": false + }, + "LastName": { + "type": "string", + "x-omitempty": false + }, + "SpectroTeam": { + "type": "string", + "x-omitempty": false + } + }, + "type": "object" + }, + "v1TenantOidcClientSpec": { + "description": "Tenant", + "properties": { + "callbackUrl": { + "type": "string", + "x-omitempty": false + }, + "clientId": { + "type": "string", + "x-omitempty": false + }, + "clientSecret": { + "type": "string", + "x-omitempty": false + }, + "defaultTeams": { + "items": { + "type": "string" + }, + "type": "array", + "x-omitempty": false + }, + "isSsoEnabled": { + "type": "boolean", + "x-omitempty": false + }, + "issuerUrl": { + "description": "the issuer is the URL identifier for the service", + "type": "string", + "x-omitempty": false + }, + "logoutUrl": { + "type": "string", + "x-omitempty": false + }, + "requiredClaims": { + "$ref": "#/definitions/v1TenantOidcClaims" + }, + "scopes": { + "items": { + "type": "string" + }, + "type": "array", + "x-omitempty": false + }, + "scopesDelimiter": { + "type": "string", + "x-omitempty": false + }, + "syncSsoTeams": { + "type": "boolean", + "x-omitempty": false + } + }, + "type": "object" + }, + "v1TenantPasswordPolicyEntity": { + "description": "Tenant Password Policy Entity", + "properties": { + "creationTimestamp": { + "$ref": "#/definitions/v1Time" + }, + "expiryDurationInDays": { + "type": "integer" + }, + "firstReminderInDays": { + "type": "integer" + }, + "isRegex": { + "type": "boolean" + }, + "minLength": { + "type": "integer" + }, + "minNumOfBlockLetters": { + "type": "integer" + }, + "minNumOfDigits": { + "type": "integer" + }, + "minNumOfSmallLetters": { + "type": "integer" + }, + "minNumOfSpecialCharacters": { + "type": "integer" + }, + "regex": { + "type": "string" + }, + "updateTimestamp": { + "$ref": "#/definitions/v1Time" + } + }, + "type": "object" + }, + "v1TenantResourceLimit": { + "properties": { + "kind": { + "$ref": "#/definitions/v1ResourceLimitType", + "type": "string" + }, + "label": { + "type": "string" + }, + "limit": { + "format": "int64", + "type": "number", + "x-omitempty": false + } + } + }, + "v1TenantResourceLimitEntity": { + "properties": { + "kind": { + "$ref": "#/definitions/v1ResourceLimitType", + "type": "string", + "x-omitempty": false + }, + "limit": { + "format": "int64", + "type": "number", + "x-omitempty": false + } + } + }, + "v1TenantResourceLimits": { + "description": "Tenant resource limits", + "properties": { + "resources": { + "items": { + "$ref": "#/definitions/v1TenantResourceLimit" + }, + "type": "array", + "uniqueItems": true + } + } + }, + "v1TenantResourceLimitsEntity": { + "description": "Tenant resource limits. Supported resources keys are 'user','project','apiKey','team','role','cloudaccount','clusterprofile','workspace','registry','privategateway','location','certificate','macro','sshkey','alert','spectrocluster','edgehost'.", + "properties": { + "resources": { + "items": { + "$ref": "#/definitions/v1TenantResourceLimitEntity" + }, + "type": "array", + "uniqueItems": true + } + } + }, + "v1TenantSamlRequestSpec": { + "description": "Tenant", + "properties": { + "attributes": { + "items": { + "$ref": "#/definitions/v1TenantSamlSpecAttribute" + }, + "type": "array" + }, + "defaultTeams": { + "items": { + "type": "string" + }, + "type": "array" + }, + "federationMetadata": { + "type": "string" + }, + "identityProvider": { + "type": "string" + }, + "isSingleLogoutEnabled": { + "type": "boolean" + }, + "isSsoEnabled": { + "type": "boolean" + }, + "nameIdFormat": { + "type": "string" + }, + "syncSsoTeams": { + "type": "boolean" + } + }, + "type": "object" + }, + "v1TenantSamlSpec": { + "description": "Tenant", + "properties": { + "acsUrl": { + "type": "string" + }, + "attributes": { + "items": { + "$ref": "#/definitions/v1TenantSamlSpecAttribute" + }, + "type": "array" + }, + "audienceUrl": { + "description": "same as entity id", + "type": "string" + }, + "certificate": { + "description": "certificate for slo", + "type": "string" + }, + "defaultTeams": { + "items": { + "type": "string" + }, + "type": "array" + }, + "entityId": { + "type": "string" + }, + "federationMetadata": { + "type": "string" + }, + "identityProvider": { + "type": "string" + }, + "isSingleLogoutEnabled": { + "type": "boolean", + "x-omitempty": false + }, + "isSsoEnabled": { + "type": "boolean", + "x-omitempty": false + }, + "issuer": { + "description": "same as entity id", + "type": "string" + }, + "nameIdFormat": { + "type": "string" + }, + "serviceProviderMetadata": { + "type": "string" + }, + "singleLogoutUrl": { + "description": "slo url", + "type": "string", + "x-omitempty": false + }, + "syncSsoTeams": { + "type": "boolean", + "x-omitempty": false + } + }, + "type": "object" + }, + "v1TenantSamlSpecAttribute": { + "properties": { + "attributeValue": { + "type": "string" + }, + "mappedAttribute": { + "type": "string" + }, + "name": { + "type": "string" + }, + "nameFormat": { + "type": "string" + } + }, + "type": "object" + }, + "v1TenantSelfSignUpSpec": { + "description": "Tenant sign up data", + "properties": { + "emailId": { + "type": "string" + }, + "firstName": { + "type": "string" + }, + "lastName": { + "type": "string" + }, + "loginMode": { + "default": "devops", + "enum": [ + "dev", + "devops" + ], + "type": "string" + }, + "notifyTenantAdmin": { + "type": "boolean" + }, + "orgName": { + "type": "string" + } + }, + "required": [ + "firstName", + "lastName", + "emailId", + "orgName" + ], + "type": "object" + }, + "v1TenantSpec": { + "description": "Tenant Spec", + "properties": { + "address": { + "$ref": "#/definitions/v1Address" + }, + "authType": { + "type": "string" + }, + "defaultLoginMode": { + "type": "string" + }, + "orgEmailId": { + "type": "string" + }, + "orgName": { + "type": "string" + }, + "planUid": { + "type": "string" + } + }, + "type": "object" + }, + "v1TenantSpecEntity": { + "description": "Tenant Entity input", + "properties": { + "address": { + "$ref": "#/definitions/v1Address" + }, + "authType": { + "type": "string" + }, + "emailId": { + "type": "string" + }, + "firstName": { + "type": "string" + }, + "lastName": { + "type": "string" + }, + "loginMode": { + "default": "devops", + "enum": [ + "dev", + "devops" + ], + "type": "string" + }, + "orgEmailId": { + "type": "string" + }, + "orgName": { + "type": "string" + }, + "roles": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "ssoApp": { + "type": "string" + } + }, + "type": "object" + }, + "v1TenantSsoAuthProvidersEntity": { + "properties": { + "isEnabled": { + "type": "boolean", + "x-omitempty": false + }, + "ssoLogins": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "v1TenantStatus": { + "description": "Tenant Status", + "properties": { + "cleanUpStatus": { + "$ref": "#/definitions/v1TenantCleanUpStatus" + }, + "isActive": { + "type": "boolean", + "x-omitempty": false + }, + "toBeDeleted": { + "type": "boolean", + "x-omitempty": false + } + }, + "type": "object" + }, + "v1TenantUpgradeSettingsEntity": { + "properties": { + "enableLock": { + "type": "boolean", + "x-omitempty": false + }, + "supportedVersionsRange": { + "type": "integer", + "x-omitempty": false + } + } + }, + "v1TenantUsage": { + "description": "Tenant usage object", + "properties": { + "orgName": { + "description": "Organization name", + "type": "string" + }, + "tenantUid": { + "description": "Tenant uid", + "type": "string" + }, + "usedAlloyCredits": { + "description": "Credits used by imported clusters", + "format": "float64", + "type": "number" + }, + "usedPureCredits": { + "description": "Credits used by managed clusters", + "format": "float64", + "type": "number" + } + } + }, + "v1Tenants": { + "description": "Tenants list", + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1Tenant" + }, + "type": "array", + "uniqueItems": true + }, + "listmeta": { + "$ref": "#/definitions/v1ListMetaData" + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1TenantsAccountsNas": { + "properties": { + "failures": { + "items": { + "type": "string" + }, + "type": "array" + }, + "success": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1TenantsActivities": { + "description": "Active tenants and clusters data", + "properties": { + "tenants": { + "additionalProperties": { + "$ref": "#/definitions/v1TenantActivity" + }, + "type": "object" + } + }, + "type": "object" + }, + "v1TencentAccount": { + "description": "Tencent cloud account information", + "properties": { + "apiVersion": { + "description": "Cloud account api version", + "type": "string" + }, + "kind": { + "description": "Cloud account kind", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1TencentCloudAccount" + }, + "status": { + "$ref": "#/definitions/v1CloudAccountStatus" + } + }, + "type": "object" + }, + "v1TencentAccounts": { + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1TencentAccount" + }, + "type": "array", + "uniqueItems": true + }, + "listmeta": { + "$ref": "#/definitions/v1ListMetaData" + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1TencentAvailabilityZone": { + "description": "Tencent availability zone", + "properties": { + "name": { + "description": "Tencent availability zone name", + "type": "string" + }, + "state": { + "description": "Tencent availability zone state", + "type": "string" + }, + "zoneId": { + "description": "Tencent availability zone id", + "type": "string" + } + }, + "type": "object" + }, + "v1TencentAvailabilityZones": { + "description": "List of Tencent Availability zones", + "properties": { + "zones": { + "items": { + "$ref": "#/definitions/v1TencentAvailabilityZone" + }, + "type": "array" + } + }, + "required": [ + "zones" + ], + "type": "object" + }, + "v1TencentCloudAccount": { + "properties": { + "secretId": { + "description": "Tencent api secretID", + "type": "string" + }, + "secretKey": { + "description": "Tencent api secret key", + "type": "string" + } + }, + "required": [ + "secretId", + "secretKey" + ], + "type": "object" + }, + "v1TencentCloudClusterConfigEntity": { + "description": "Tencent cloud cluster config entity", + "properties": { + "clusterConfig": { + "$ref": "#/definitions/v1TencentClusterConfig" + } + }, + "type": "object" + }, + "v1TencentCloudConfig": { + "description": "TencentCloudConfig is the Schema for the tencentcloudconfigs API", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1TencentCloudConfigSpec" + } + }, + "type": "object" + }, + "v1TencentCloudConfigSpec": { + "description": "TencentCloudConfigSpec defines the cloud configuration input by user This will translate to clusterspec/machinespec for cluster-api", + "properties": { + "cloudAccountRef": { + "$ref": "#/definitions/v1ObjectReference", + "description": "cloudAccountRef should point to the secret which contains TencentCloudAccount" + }, + "clusterConfig": { + "$ref": "#/definitions/v1TencentClusterConfig" + }, + "machinePoolConfig": { + "items": { + "$ref": "#/definitions/v1TencentMachinePoolConfig" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1TencentClusterConfig": { + "description": "Cluster level configuration for tencent cloud and applicable for all the machine pools", + "properties": { + "endpointAccess": { + "$ref": "#/definitions/v1TkeEndpointAccess", + "description": "Endpoints specifies access to this cluster's control plane endpoints" + }, + "region": { + "type": "string" + }, + "sshKeyIDs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "vpcID": { + "description": "VPC Id to deploy cluster into should have one public and one private subnet for the the cluster creation, this field is optional, If VPC Id is not provided a fully managed VPC will be created", + "type": "string" + } + }, + "required": [ + "region" + ], + "type": "object" + }, + "v1TencentInstanceTypes": { + "description": "List of Tencent instance types", + "properties": { + "instanceTypes": { + "items": { + "$ref": "#/definitions/v1InstanceType" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1TencentKeypair": { + "description": "Tencent Keypair entity", + "properties": { + "id": { + "description": "Tencent keypair id", + "type": "string" + }, + "name": { + "description": "Tencent keypair name", + "type": "string" + }, + "publickey": { + "description": "Tencent public key", + "type": "string" + } + }, + "type": "object" + }, + "v1TencentKeypairs": { + "description": "List of Tencent keypairs", + "properties": { + "keypairs": { + "items": { + "$ref": "#/definitions/v1TencentKeypair" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1TencentMachine": { + "description": "Tencent cloud VM definition", + "properties": { + "apiVersion": { + "type": "string" + }, + "kind": { + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1TencentMachineSpec" + }, + "status": { + "$ref": "#/definitions/v1CloudMachineStatus" + } + }, + "type": "object" + }, + "v1TencentMachinePoolCloudConfigEntity": { + "properties": { + "azs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "instanceType": { + "description": "instance type", + "type": "string" + }, + "rootDeviceSize": { + "description": "rootDeviceSize in GBs", + "format": "int64", + "maximum": 2000, + "minimum": 1, + "type": "integer" + }, + "subnetIds": { + "additionalProperties": { + "type": "string" + }, + "description": "AZ to subnet mapping filled by ally from hubble SubnetIDs [\"ap-guangzhou-6\"] = \"subnet-079b6061\" This field is optional If we don't provide a subnetId then by default the first subnet from the AZ will be picked up for deployment", + "type": "object" + } + }, + "type": "object" + }, + "v1TencentMachinePoolConfig": { + "properties": { + "additionalLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "AdditionalLabels", + "type": "object" + }, + "additionalTags": { + "additionalProperties": { + "type": "string" + }, + "description": "AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole", + "type": "object" + }, + "azs": { + "description": "AZs is only used for dynamic placement", + "items": { + "type": "string" + }, + "type": "array" + }, + "instanceConfig": { + "$ref": "#/definitions/v1InstanceConfig" + }, + "instanceType": { + "description": "instance type", + "type": "string" + }, + "isControlPlane": { + "description": "whether this pool is for control plane", + "type": "boolean" + }, + "labels": { + "description": "labels for this pool, example: control-plane/worker, gpu, windows", + "items": { + "type": "string" + }, + "type": "array" + }, + "machinePoolProperties": { + "$ref": "#/definitions/v1MachinePoolProperties" + }, + "maxSize": { + "description": "max size of the pool, for scaling", + "format": "int32", + "type": "integer" + }, + "minSize": { + "description": "min size of the pool, for scaling", + "format": "int32", + "type": "integer" + }, + "name": { + "type": "string" + }, + "nodeRepaveInterval": { + "description": "Minimum number of seconds a node should be Ready, before the next node is selected for repave. Applicable only for workerpools in infrastructure cluster", + "format": "int32", + "type": "integer" + }, + "rootDeviceSize": { + "description": "rootDeviceSize in GBs", + "format": "int64", + "type": "integer" + }, + "size": { + "description": "size of the pool, number of machines", + "format": "int32", + "type": "integer" + }, + "subnetIds": { + "additionalProperties": { + "type": "string" + }, + "description": "AZ to subnet mapping filled by ally from hubble SubnetIDs [\"ap-guangzhou-6\"] = \"subnet-079b6061\" This field is optional If we don't provide a subnetId then by default the first subnet from the AZ will be picked up for deployment", + "type": "object" + }, + "taints": { + "description": "control plane or worker taints", + "items": { + "$ref": "#/definitions/v1Taint" + }, + "type": "array" + }, + "updateStrategy": { + "$ref": "#/definitions/v1UpdateStrategy", + "description": "rolling update strategy for this machinepool if not specified, will use ScaleOut" + }, + "useControlPlaneAsWorker": { + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", + "type": "boolean" + } + }, + "type": "object" + }, + "v1TencentMachinePoolConfigEntity": { + "properties": { + "cloudConfig": { + "$ref": "#/definitions/v1TencentMachinePoolCloudConfigEntity" + }, + "poolConfig": { + "$ref": "#/definitions/v1MachinePoolConfigEntity" + } + }, + "required": [ + "cloudConfig" + ], + "type": "object" + }, + "v1TencentMachineSpec": { + "description": "Tencent cloud VM definition spec", + "properties": { + "dnsName": { + "type": "string" + }, + "imageId": { + "type": "string" + }, + "instanceType": { + "type": "string" + }, + "nics": { + "items": { + "$ref": "#/definitions/v1TencentNic" + }, + "type": "array" + }, + "securityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "subnetId": { + "type": "string" + }, + "type": { + "type": "string" + }, + "vpcId": { + "type": "string" + }, + "zoneId": { + "type": "string" + } + }, + "required": [ + "nics", + "instanceType", + "imageId" + ], + "type": "object" + }, + "v1TencentMachines": { + "description": "Tencent machine list", + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1TencentMachine" + }, + "type": "array", + "uniqueItems": true + }, + "listmeta": { + "$ref": "#/definitions/v1ListMetaData" + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1TencentNic": { + "description": "Tencent network interface", + "properties": { + "index": { + "format": "int8", + "type": "integer" + }, + "privateIPs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "publicIp": { + "type": "string" + } + }, + "type": "object" + }, + "v1TencentRegion": { + "description": "Tencent region entity", + "properties": { + "name": { + "description": "Name of tencent region", + "type": "string" + }, + "state": { + "description": "State of tencent region", + "type": "string" + } + }, + "type": "object" + }, + "v1TencentRegions": { + "description": "List of tencent regions", + "properties": { + "regions": { + "description": "Tencent regions entity", + "items": { + "$ref": "#/definitions/v1TencentRegion" + }, + "type": "array" + } + }, + "required": [ + "regions" + ], + "type": "object" + }, + "v1TencentSecurityGroup": { + "description": "Tencent Security Group. A security group is a virtual firewall that features stateful data packet filtering", + "properties": { + "id": { + "description": "Tencent security group id", + "type": "string" + }, + "isDefault": { + "description": "Whether it is the default security group, the default security group does not support deletion.", + "type": "boolean" + }, + "name": { + "description": "Tencent security group name", + "type": "string" + }, + "projectId": { + "description": "Tencent security group associated to a project", + "type": "string" + } + }, + "type": "object" + }, + "v1TencentSecurityGroups": { + "description": "List of Tencent security groups", + "properties": { + "groups": { + "items": { + "$ref": "#/definitions/v1TencentSecurityGroup" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1TencentStorageTypes": { + "description": "List of Tencent storage types", + "properties": { + "storageTypes": { + "items": { + "$ref": "#/definitions/v1StorageType" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1TencentSubnet": { + "description": "Tencent Subnet entity", + "properties": { + "az": { + "description": "Availability zone associated with tencent subnet", + "type": "string" + }, + "cidrBlock": { + "description": "Tencent subnet CIDR. The CIDR notation consists of an IP address, a slash character ('/') and a decimal number from 0 to 32", + "type": "string" + }, + "name": { + "description": "Tencent subnet name", + "type": "string" + }, + "subnetId": { + "description": "Tencent subnet id", + "type": "string" + } + }, + "type": "object" + }, + "v1TencentVpc": { + "description": "Tencent VPC entity", + "properties": { + "cidrBlock": { + "description": "Tencent VPC CIDR. The CIDR notation consists of an IP address, a slash character ('/') and a decimal number from 0 to 32", + "type": "string" + }, + "name": { + "description": "Tencent VPC name", + "type": "string" + }, + "subnets": { + "items": { + "$ref": "#/definitions/v1TencentSubnet" + }, + "type": "array" + }, + "vpcId": { + "description": "Tencent VPC id", + "type": "string" + } + }, + "required": [ + "vpcId" + ], + "type": "object" + }, + "v1TencentVpcs": { + "description": "List of Tencent VPCs", + "properties": { + "vpcs": { + "items": { + "$ref": "#/definitions/v1TencentVpc" + }, + "type": "array" + } + }, + "required": [ + "vpcs" + ], + "type": "object" + }, + "v1TierPrice": { + "description": "tier price", + "properties": { + "alloyPricing": { + "items": { + "$ref": "#/definitions/v1PriceRange" + }, + "type": "array", + "uniqueItems": true + }, + "purePricing": { + "items": { + "$ref": "#/definitions/v1PriceRange" + }, + "type": "array", + "uniqueItems": true + } + } + }, + "v1Time": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "format": "date-time", + "type": "string" + }, + "v1TkeEndpointAccess": { + "description": "TKEEndpointAccess specifies how control plane endpoints are accessible", + "properties": { + "IsExtranet": { + "description": "IsExtranet Whether it is external network access (TRUE external network access FALSE internal network access, default value: FALSE)", + "type": "boolean" + }, + "private": { + "description": "Private points VPC-internal control plane access to the private endpoint", + "type": "boolean" + }, + "privateCIDR": { + "description": "Deprecated. PrivateCIDRs specifies which blocks can access the public endpoint", + "type": "string" + }, + "public": { + "description": "Public controls whether control plane endpoints are publicly accessible", + "type": "boolean" + }, + "publicCIDRs": { + "description": "Deprecated. PublicCIDRs specifies which blocks can access the public endpoint", + "items": { + "type": "string" + }, + "type": "array" + }, + "securityGroup": { + "description": "Tencent security group", + "type": "string" + }, + "subnetId": { + "description": "Tencent Subnet", + "type": "string" + } + }, + "type": "object" + }, + "v1TlsConfiguration": { + "description": "TLS configuration", + "properties": { + "ca": { + "type": "string" + }, + "certificate": { + "type": "string" + }, + "enabled": { + "type": "boolean", + "x-omitempty": false + }, + "insecureSkipVerify": { + "type": "boolean", + "x-omitempty": false + }, + "key": { + "type": "string" + } + }, + "type": "object" + }, + "v1TotalClusterRate": { + "description": "Cluster total estimated rate information", + "properties": { + "compute": { + "format": "float64", + "type": "number", + "x-omitempty": false + }, + "storage": { + "format": "float64", + "type": "number", + "x-omitempty": false + }, + "total": { + "format": "float64", + "type": "number", + "x-omitempty": false + } + }, + "type": "object" + }, + "v1TotalResourceUsage": { + "description": "Total Resource Usage", + "properties": { + "projects": { + "items": { + "$ref": "#/definitions/v1ProjectResourceUsage" + }, + "type": "array", + "uniqueItems": true + }, + "totalAlloyCpuCoreHours": { + "type": "number", + "x-omitempty": false + }, + "totalPureCpuCoreHours": { + "type": "number", + "x-omitempty": false + } + } + }, + "v1TransferJob": { + "description": "transfer job details", + "properties": { + "finishTime": { + "$ref": "#/definitions/v1Time" + }, + "folder": { + "type": "string" + }, + "isCompleted": { + "type": "boolean" + }, + "message": { + "items": { + "type": "string" + }, + "type": "array" + }, + "startTime": { + "$ref": "#/definitions/v1Time" + }, + "state": { + "type": "string" + }, + "status": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1Uid": { + "properties": { + "uid": { + "type": "string" + } + }, + "required": [ + "uid" + ], + "type": "object" + }, + "v1UidRoleSummary": { + "properties": { + "inheritedRoles": { + "items": { + "$ref": "#/definitions/v1UidSummary" + }, + "type": "array" + }, + "name": { + "type": "string" + }, + "roles": { + "items": { + "$ref": "#/definitions/v1UidSummary" + }, + "type": "array" + }, + "uid": { + "type": "string" + } + }, + "type": "object" + }, + "v1UidSummary": { + "properties": { + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + }, + "type": "object" + }, + "v1Uids": { + "items": { + "$ref": "#/definitions/v1Uid" + }, + "type": "array", + "uniqueItems": true + }, + "v1UpdateStrategy": { + "description": "UpdatesStrategy will be used to translate to RollingUpdateStrategy of a MachineDeployment We'll start with default values for the translation, can expose more details later Following is details of parameters translated from the type ScaleOut =\u003e maxSurge=1, maxUnavailable=0 ScaleIn =\u003e maxSurge=0, maxUnavailable=1", + "properties": { + "type": { + "description": "update strategy, either ScaleOut or ScaleIn if empty, will default to RollingUpdateScaleOut", + "enum": [ + "RollingUpdateScaleOut", + "RollingUpdateScaleIn" + ], + "type": "string" + } + }, + "type": "object" + }, + "v1UpdateTenantStatus": { + "description": "Update tenant status", + "properties": { + "errorMessage": { + "type": "string" + }, + "kind": { + "type": "string" + }, + "stage": { + "type": "string" + } + }, + "type": "object" + }, + "v1Updated": { + "description": "The resource was updated successfully" + }, + "v1UpdatedMsg": { + "description": "Update response with message", + "properties": { + "msg": { + "type": "string" + } + } + }, + "v1Upgrades": { + "description": "Upgrades represent the reason of the last upgrade that took place", + "properties": { + "reason": { + "items": { + "type": "string" + }, + "type": "array" + }, + "timestamp": { + "$ref": "#/definitions/v1Time" + } + }, + "type": "object" + }, + "v1User": { + "description": "User", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1UserSpec" + }, + "status": { + "$ref": "#/definitions/v1UserStatus" + } + }, + "type": "object" + }, + "v1UserActivateInfo": { + "properties": { + "passwordToken": { + "type": "string" + } + }, + "type": "object" + }, + "v1UserActivateLink": { + "properties": { + "activationLink": { + "type": "string" + } + }, + "type": "object" + }, + "v1UserActivityInfo": { + "description": "Active user data", + "properties": { + "lastLogin": { + "type": "string" + }, + "lastLoginTimestamp": { + "$ref": "#/definitions/v1Time" + }, + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + }, + "type": "object" + }, + "v1UserAssetSsh": { + "description": "SSH key information", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1UserAssetSshSpec" + } + }, + "type": "object" + }, + "v1UserAssetSshEntity": { + "description": "SSH Key request payload", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMetaInputEntity" + }, + "spec": { + "$ref": "#/definitions/v1UserAssetSshSpec" + } + }, + "type": "object" + }, + "v1UserAssetSshSpec": { + "description": "SSH key specification", + "properties": { + "publicKey": { + "type": "string" + } + }, + "type": "object" + }, + "v1UserAssetsLocation": { + "description": "Location object", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1UserAssetsLocationSpec" + } + }, + "type": "object" + }, + "v1UserAssetsLocationAzure": { + "description": "Azure location object", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMetaInputEntity" + }, + "spec": { + "$ref": "#/definitions/v1UserAssetsLocationAzureSpec" + } + }, + "type": "object" + }, + "v1UserAssetsLocationAzureSpec": { + "description": "Azure location specification", + "properties": { + "config": { + "$ref": "#/definitions/v1AzureStorageConfig" + }, + "isDefault": { + "description": "Set to 'true', if location has to be set as default", + "type": "boolean" + }, + "type": { + "description": "Azure location type [azure]", + "type": "string" + } + }, + "required": [ + "config" + ], + "type": "object" + }, + "v1UserAssetsLocationGcp": { + "description": "GCP location object", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMetaInputEntity" + }, + "spec": { + "$ref": "#/definitions/v1UserAssetsLocationGcpSpec" + } + }, + "type": "object" + }, + "v1UserAssetsLocationGcpSpec": { + "description": "GCP location specification", + "properties": { + "config": { + "$ref": "#/definitions/v1GcpStorageConfig" + }, + "isDefault": { + "description": "Set to 'true', if location has to be set as default", + "type": "boolean" + }, + "type": { + "description": "GCP location type [gcp]", + "type": "string" + } + }, + "required": [ + "config" + ], + "type": "object" + }, + "v1UserAssetsLocationS3": { + "description": "S3 location object", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMetaInputEntity" + }, + "spec": { + "$ref": "#/definitions/v1UserAssetsLocationS3Spec" + } + }, + "type": "object" + }, + "v1UserAssetsLocationS3Spec": { + "description": "S3 location specification", + "properties": { + "config": { + "$ref": "#/definitions/v1S3StorageConfig" + }, + "isDefault": { + "description": "Set to 'true', if location has to be set as default", + "type": "boolean" + }, + "type": { + "description": "S3 location type [s3/minio]", + "type": "string" + } + }, + "required": [ + "config" + ], + "type": "object" + }, + "v1UserAssetsLocationSpec": { + "description": "Location specification", + "properties": { + "isDefault": { + "type": "boolean" + }, + "storage": { + "$ref": "#/definitions/v1LocationType" + }, + "type": { + "type": "string" + } + }, + "type": "object" + }, + "v1UserAssetsLocations": { + "properties": { + "items": { + "description": "List of locations", + "items": { + "$ref": "#/definitions/v1UserAssetsLocation" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1UserAssetsSsh": { + "properties": { + "items": { + "description": "List of SSH keys", + "items": { + "$ref": "#/definitions/v1UserAssetSsh" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1UserAuthenticatedUrl": { + "description": "Returns the Authenticated redirect Url for the palette oidc", + "properties": { + "redirectUrl": { + "description": "authenticated redirect Url for the palette oidc", + "type": "string" + } + }, + "type": "object" + }, + "v1UserEntity": { + "description": "User", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1UserSpecEntity" + } + }, + "type": "object" + }, + "v1UserInfoResponse": { + "properties": { + "address": { + "description": "End-User's preferred postal address", + "type": "string" + }, + "birthdate": { + "description": "End-User's birthday, represented as an ISO 8601:2004 [ISO8601‑2004] YYYY-MM-DD format", + "type": "string" + }, + "email": { + "description": "End-User's preferred e-mail address", + "type": "string" + }, + "email_verified": { + "description": "User at the time the verification was performed", + "type": "boolean" + }, + "family_name": { + "description": "Surname(s) or last name(s) of the End-User", + "type": "string" + }, + "gender": { + "description": "End-User's gender", + "type": "string" + }, + "given_name": { + "description": "Given name(s) or first name(s) of the End-User", + "type": "string" + }, + "locale": { + "description": "End-User's locale, represented as a BCP47 [RFC5646] language tag", + "type": "string" + }, + "middle_name": { + "description": "Middle name(s) of the End-User", + "type": "string" + }, + "name": { + "description": "End-User's full name in displayable form including all name parts, possibly including titles and suffixes, ordered according to the End-User's locale and preferences", + "type": "string" + }, + "nickname": { + "description": "Casual name of the End-User that may or may not be the same as the given_name", + "type": "string" + }, + "phone_number": { + "description": "End-User's preferred telephone number", + "type": "string" + }, + "phone_number_verified": { + "description": "User at the time the verification was performed", + "type": "boolean" + }, + "picture": { + "description": "URL of the End-User's profile picture", + "type": "string" + }, + "preferred_username": { + "description": "Shorthand name by which the End-User wishes to be referred to at the RP, such as janedoe or j.doe", + "type": "string" + }, + "profile": { + "description": "URL of the End-User's profile page", + "type": "string" + }, + "sub": { + "description": "Subject - Identifier for the End-User at the Issuer", + "type": "string" + }, + "updated_at": { + "description": "Time the End-User's information was last updated", + "type": "integer" + }, + "website": { + "description": "URL of the End-User's Web page or blog", + "type": "string" + }, + "zoneinfo": { + "description": "String from zoneinfo [zoneinfo] time zone database representing the End-User's time zone", + "type": "string" + } + }, + "type": "object" + }, + "v1UserKubectlSession": { + "properties": { + "clusterUid": { + "type": "string" + }, + "creationTime": { + "type": "string" + }, + "isActive": { + "type": "boolean" + }, + "podIp": { + "type": "string" + }, + "podName": { + "type": "string" + }, + "port": { + "type": "string" + }, + "projectUid": { + "type": "string" + }, + "sessionUid": { + "type": "string" + }, + "shellyCluster": { + "type": "string" + }, + "tenantClusterEndpoint": { + "type": "string" + }, + "userName": { + "type": "string" + }, + "userUid": { + "type": "string" + } + }, + "type": "object" + }, + "v1UserMe": { + "description": "User information wrt permissions", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1UserSpec" + }, + "status": { + "$ref": "#/definitions/v1UserMeStatus" + } + }, + "type": "object" + }, + "v1UserMeStatus": { + "description": "User status with permissions", + "properties": { + "activationLink": { + "description": "Contains activation link for the user", + "type": "string" + }, + "isActive": { + "description": "Specifies if user account is active/disabled", + "type": "boolean" + }, + "isContractAccepted": { + "description": "Specifies if user account has accepted the contract", + "type": "boolean", + "x-omitempty": false + }, + "loginMode": { + "description": "User's login Mode", + "type": "string" + }, + "projectPermissions": { + "additionalProperties": { + "items": { + "type": "string" + }, + "type": "array" + }, + "type": "object" + }, + "tenant": { + "$ref": "#/definitions/v1UserMeTenant", + "description": "users's tenant information" + }, + "tenantPermissions": { + "additionalProperties": { + "items": { + "type": "string" + }, + "type": "array" + }, + "type": "object" + } + } + }, + "v1UserMeTenant": { + "properties": { + "orgName": { + "type": "string" + }, + "tenantUid": { + "type": "string" + } + }, + "type": "object" + }, + "v1UserMeta": { + "properties": { + "emailId": { + "type": "string" + }, + "firstName": { + "type": "string" + }, + "lastName": { + "type": "string" + }, + "org": { + "type": "string" + }, + "uid": { + "type": "string" + } + }, + "type": "object" + }, + "v1UserMetaEntity": { + "description": "User meta entity", + "properties": { + "emailId": { + "type": "string" + }, + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + }, + "type": "object" + }, + "v1UserPatch": { + "items": { + "$ref": "#/definitions/v1HttpPatch" + }, + "type": "array" + }, + "v1UserProfile": { + "description": "User Profile", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1UserProfileSpec" + }, + "status": { + "$ref": "#/definitions/v1UserProfileStatus" + } + }, + "type": "object" + }, + "v1UserProfileSpec": { + "description": "User Profile specifications", + "properties": { + "emailId": { + "description": "User's email id", + "type": "string" + }, + "firstName": { + "type": "string" + }, + "lastName": { + "type": "string" + } + } + }, + "v1UserProfileStatus": { + "description": "User Profile status", + "properties": { + "lastPasswordPolicyMail": { + "$ref": "#/definitions/v1Time", + "description": "user's last password policy time" + }, + "lastPasswordUpdate": { + "$ref": "#/definitions/v1Time", + "description": "user's last password update time" + } + } + }, + "v1UserProfiles": { + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1UserProfile" + }, + "type": "array", + "uniqueItems": true + }, + "listmeta": { + "$ref": "#/definitions/v1ListMetaData" + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1UserRoleMap": { + "properties": { + "roles": { + "items": { + "type": "string" + }, + "type": "array" + }, + "userId": { + "type": "string" + } + } + }, + "v1UserRoleUIDs": { + "properties": { + "roles": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1UserRolesEntity": { + "properties": { + "inheritedRoles": { + "items": { + "$ref": "#/definitions/v1UidSummary" + }, + "type": "array" + }, + "roles": { + "items": { + "$ref": "#/definitions/v1UidSummary" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1UserRsaToken": { + "description": "Rsa Auth token response", + "properties": { + "token": { + "type": "string" + } + }, + "type": "object" + }, + "v1UserSpec": { + "description": "User specifications", + "properties": { + "emailId": { + "description": "User's email id", + "type": "string" + }, + "firstName": { + "type": "string" + }, + "lastName": { + "type": "string" + }, + "roles": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + } + }, + "v1UserSpecEntity": { + "description": "User Entity input", + "properties": { + "emailId": { + "type": "string" + }, + "firstName": { + "type": "string" + }, + "lastName": { + "type": "string" + }, + "loginMode": { + "type": "string" + }, + "roles": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "teams": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "v1UserSpecSummary": { + "properties": { + "emailId": { + "type": "string" + }, + "firstName": { + "type": "string" + }, + "lastName": { + "type": "string" + }, + "projects": { + "description": "Deprecated.", + "items": { + "$ref": "#/definitions/v1UidSummary" + }, + "type": "array" + }, + "projectsCount": { + "format": "int32", + "type": "integer", + "x-omitempty": false + }, + "roles": { + "items": { + "$ref": "#/definitions/v1UidSummary" + }, + "type": "array" + }, + "teams": { + "items": { + "$ref": "#/definitions/v1UidSummary" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1UserStatus": { + "description": "User status", + "properties": { + "activationLink": { + "description": "provides the link to activate or reset the user password", + "type": "string", + "x-omitempty": false + }, + "isActive": { + "description": "Specifies if user account is active/disabled", + "type": "boolean", + "x-omitempty": false + }, + "isPasswordResetting": { + "description": "Specifies if user in multi org requested password reset", + "type": "boolean", + "x-omitempty": false + }, + "lastSignIn": { + "$ref": "#/definitions/v1Time", + "description": "user's last sign in time" + } + } + }, + "v1UserStatusLoginMode": { + "properties": { + "loginMode": { + "enum": [ + "dev", + "devops" + ], + "type": "string" + } + }, + "type": "object" + }, + "v1UserSummary": { + "description": "User summary", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1UserSpecSummary" + }, + "status": { + "$ref": "#/definitions/v1UserStatus" + } + }, + "type": "object" + }, + "v1UserSummarySortFields": { + "enum": [ + "name", + "creationTimestamp" + ], + "type": "string", + "x-nullable": true + }, + "v1UserSummarySortSpec": { + "properties": { + "field": { + "$ref": "#/definitions/v1UserSummarySortFields" + }, + "order": { + "$ref": "#/definitions/v1SortOrder" + } + } + }, + "v1UserToken": { + "description": "Returns the Authorization token. To be used for further api calls", + "properties": { + "Authorization": { + "description": "Describes the authentication token in jwt format.", + "type": "string" + }, + "isMfa": { + "description": "Indicates the authentication flow using MFA", + "type": "boolean", + "x-omitempty": false + } + }, + "type": "object" + }, + "v1UserUpdateEntity": { + "description": "User", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1UserUpdateSpecEntity" + } + }, + "type": "object" + }, + "v1UserUpdateSpecEntity": { + "description": "User Entity input", + "properties": { + "emailId": { + "type": "string" + }, + "firstName": { + "type": "string" + }, + "lastName": { + "type": "string" + }, + "roles": { + "description": "Deprecated. Use 'v1/users/{uid}/roles' API to assign roles.", + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "v1Users": { + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1User" + }, + "type": "array", + "uniqueItems": true + }, + "listmeta": { + "$ref": "#/definitions/v1ListMetaData" + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1UsersFilterSpec": { + "description": "Users filter spec", + "properties": { + "emailId": { + "$ref": "#/definitions/v1FilterString" + }, + "name": { + "$ref": "#/definitions/v1FilterString" + } + } + }, + "v1UsersMetadata": { + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1UserMetaEntity" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1UsersSummary": { + "description": "Deprecated, Use v1UsersSummaryList - Returns User summary", + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1UserSummary" + }, + "type": "array", + "uniqueItems": true + }, + "listmeta": { + "$ref": "#/definitions/v1ListMetaData" + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1UsersSummaryList": { + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1UserSummary" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1UsersSummarySpec": { + "description": "Users filter summary spec", + "properties": { + "filter": { + "$ref": "#/definitions/v1UsersFilterSpec" + }, + "sort": { + "items": { + "$ref": "#/definitions/v1UserSummarySortSpec" + }, + "type": "array", + "uniqueItems": true + } + } + }, + "v1V1SystemAdminEmail": { + "description": "SystemAdmin", + "properties": { + "email": { + "type": "string" + }, + "insecureVerify": { + "type": "boolean" + }, + "password": { + "type": "string" + } + }, + "type": "object" + }, + "v1V1SystemAdminPasswordResetEntity": { + "description": "SystemAdmin", + "properties": { + "email": { + "type": "string" + }, + "newPassword": { + "type": "string" + }, + "oldPassword": { + "type": "string" + } + }, + "type": "object" + }, + "v1VMAddVolumeEntity": { + "properties": { + "addVolumeOptions": { + "$ref": "#/definitions/v1VmAddVolumeOptions", + "description": "Parameters required to add volume to virtual machine/virtual machine instance" + }, + "dataVolumeTemplate": { + "$ref": "#/definitions/v1VmDataVolumeTemplateSpec", + "description": "dataVolumeTemplates is a list of dataVolumes that the VirtualMachineInstance template can reference. DataVolumes in this list are dynamically created for the VirtualMachine and are tied to the VirtualMachine's life-cycle." + }, + "persist": { + "description": "If 'true' add the disk to the Virtual Machine \u0026 Virtual Machine Instance, else add the disk to the Virtual Machine Instance only", + "type": "boolean" + } + }, + "required": [ + "addVolumeOptions" + ], + "type": "object" + }, + "v1VMCluster": { + "description": "VM Dashboard enabled Spectro cluster", + "properties": { + "metadata": { + "properties": { + "name": { + "type": "string" + }, + "projectUid": { + "type": "string" + }, + "uid": { + "type": "string" + } + } + }, + "spec": { + "description": "Spectro cluster spec", + "properties": { + "cloudType": { + "type": "string" + } + }, + "type": "object" + }, + "status": { + "description": "Spectro cluster status", + "properties": { + "clusterState": { + "type": "string" + } + } + } + }, + "type": "object" + }, + "v1VMClusters": { + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1VMCluster" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1VMRemoveVolumeEntity": { + "properties": { + "persist": { + "description": "If 'true' remove the disk from the Virtual Machine \u0026 Virtual Machine Instance, else remove the disk from the Virtual Machine Instance only", + "type": "boolean" + }, + "removeVolumeOptions": { + "$ref": "#/definitions/v1VmRemoveVolumeOptions", + "description": "Parameters required to remove volume from virtual machine/virtual machine instance" + } + }, + "required": [ + "removeVolumeOptions" + ], + "type": "object" + }, + "v1Variable": { + "description": "Unique variable field with schema definition", + "properties": { + "defaultValue": { + "description": "The default value of the variable", + "type": "string" + }, + "description": { + "description": "Variable description", + "type": "string" + }, + "displayName": { + "description": "Unique display name of the variable", + "type": "string" + }, + "format": { + "$ref": "#/definitions/v1VariableFormat" + }, + "hidden": { + "description": "If true, then variable will be hidden for overriding the value. By default the hidden flag will be set to false", + "type": "boolean", + "x-omitempty": false + }, + "immutable": { + "description": "If true, then variable value can't be editable. By default the immutable flag will be set to false", + "type": "boolean", + "x-omitempty": false + }, + "isSensitive": { + "description": "If true, then default value will be masked. By default the isSensitive flag will be set to false", + "type": "boolean", + "x-omitempty": false + }, + "name": { + "description": "Variable name", + "type": "string" + }, + "regex": { + "description": "Regular expression pattern which the variable value must match", + "type": "string" + }, + "required": { + "description": "Flag to specify if the variable is optional or mandatory. If it is mandatory then default value must be provided", + "type": "boolean", + "x-omitempty": false + } + }, + "required": [ + "name" + ], + "type": "object" + }, + "v1VariableFormat": { + "default": "string", + "description": "Format type of the variable value", + "enum": [ + "string", + "number", + "boolean", + "ipv4", + "ipv4cidr", + "ipv6", + "version" + ], + "type": "string" + }, + "v1VariableNames": { + "properties": { + "variables": { + "description": "Array of variable names", + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "variables" + ] + }, + "v1Variables": { + "properties": { + "variables": { + "description": "List of unique variable fields with schema constraints", + "items": { + "$ref": "#/definitions/v1Variable" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "v1Virtual": { + "properties": { + "appDeployments": { + "description": "list of apps deployed on the virtual cluster", + "items": { + "$ref": "#/definitions/v1ObjectResReference" + }, + "type": "array" + }, + "clusterGroup": { + "$ref": "#/definitions/v1ObjectResReference", + "description": "cluster group details of virtual cluster" + }, + "hostCluster": { + "$ref": "#/definitions/v1ObjectResReference", + "description": "host cluster reference" + }, + "lifecycleStatus": { + "$ref": "#/definitions/v1LifecycleStatus", + "description": "cluster life cycle status of virtual cluster" + }, + "state": { + "description": "cluster virtual host status", + "type": "string" + }, + "virtualClusters": { + "description": "list of virtual clusters deployed on the cluster", + "items": { + "$ref": "#/definitions/v1ObjectResReference" + }, + "type": "array" + } + } + }, + "v1VirtualCloudClusterConfigEntity": { + "description": "Virtual cloud cluster config entity", + "properties": { + "clusterConfig": { + "$ref": "#/definitions/v1VirtualClusterConfig" + } + }, + "type": "object" + }, + "v1VirtualCloudConfig": { + "description": "VirtualCloudConfig is the Schema for the virtual cloudconfigs API", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1VirtualCloudConfigSpec" + }, + "status": { + "$ref": "#/definitions/v1NestedCloudConfigStatus" + } + }, + "type": "object" + }, + "v1VirtualCloudConfigSpec": { + "description": "VirtualCloudConfigSpec defines the cloud configuration input by user This will translate to clusterspec for cluster-api.", + "properties": { + "clusterConfig": { + "$ref": "#/definitions/v1VirtualClusterConfig" + }, + "hostClusterUid": { + "type": "string" + }, + "machinePoolConfig": { + "items": { + "$ref": "#/definitions/v1VirtualMachinePoolConfig" + }, + "type": "array" + } + }, + "required": [ + "clusterConfig", + "hostClusterUid", + "machinePoolConfig" + ], + "type": "object" + }, + "v1VirtualClusterConfig": { + "description": "Cluster level configuration for virtual cluster", + "properties": { + "controlPlaneEndpoint": { + "$ref": "#/definitions/v1APIEndpoint" + }, + "helmRelease": { + "$ref": "#/definitions/v1VirtualClusterHelmRelease" + }, + "kubernetesVersion": { + "default": "", + "type": "string" + } + }, + "type": "object" + }, + "v1VirtualClusterHelmChart": { + "properties": { + "name": { + "default": "", + "type": "string" + }, + "repo": { + "default": "", + "type": "string" + }, + "version": { + "default": "", + "type": "string" + } + }, + "type": "object" + }, + "v1VirtualClusterHelmRelease": { + "properties": { + "chart": { + "$ref": "#/definitions/v1VirtualClusterHelmChart" + }, + "values": { + "default": "", + "type": "string" + } + }, + "type": "object" + }, + "v1VirtualClusterResize": { + "properties": { + "instanceType": { + "$ref": "#/definitions/v1VirtualInstanceType" + } + }, + "required": [ + "instanceType" + ], + "type": "object" + }, + "v1VirtualInstanceType": { + "properties": { + "maxCPU": { + "description": "Maximum CPU cores", + "format": "int32", + "type": "integer" + }, + "maxMemInMiB": { + "description": "Maximum memory in MiB", + "format": "int32", + "type": "integer" + }, + "maxStorageGiB": { + "description": "Maximum storage in GiB", + "format": "int32", + "type": "integer" + }, + "minCPU": { + "description": "Minimum CPU cores", + "format": "int32", + "type": "integer" + }, + "minMemInMiB": { + "description": "Minimum memory in MiB", + "format": "int32", + "type": "integer" + }, + "minStorageGiB": { + "description": "Minimum storage in GiB", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "v1VirtualMachine": { + "description": "Virtual cloud machine definition", + "properties": { + "kind": { + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1VirtualMachineSpec" + }, + "status": { + "$ref": "#/definitions/v1CloudMachineStatus" + } + }, + "type": "object" + }, + "v1VirtualMachinePoolCloudConfigEntity": { + "properties": { + "instanceType": { + "$ref": "#/definitions/v1VirtualInstanceType" + } + }, + "required": [ + "instanceType" + ], + "type": "object" + }, + "v1VirtualMachinePoolConfig": { + "properties": { + "additionalLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "additionalLabels", + "type": "object" + }, + "additionalTags": { + "additionalProperties": { + "type": "string" + }, + "description": "AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole", + "type": "object" + }, + "azs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "instanceType": { + "$ref": "#/definitions/v1VirtualInstanceType", + "description": "InstanceType defines the required CPU, Memory" + }, + "isControlPlane": { + "description": "whether this pool is for control plane", + "type": "boolean" + }, + "labels": { + "description": "labels for this pool, example: control-plane/worker, gpu, windows", + "items": { + "type": "string" + }, + "type": "array" + }, + "machinePoolProperties": { + "$ref": "#/definitions/v1MachinePoolProperties" + }, + "maxSize": { + "description": "max size of the pool, for scaling", + "format": "int32", + "type": "integer" + }, + "minSize": { + "description": "min size of the pool, for scaling", + "format": "int32", + "type": "integer" + }, + "name": { + "type": "string" + }, + "resourcePool": { + "type": "string" + }, + "size": { + "description": "size of the pool, number of machines", + "format": "int32", + "type": "integer" + }, + "taints": { + "description": "control plane or worker taints", + "items": { + "$ref": "#/definitions/v1Taint" + }, + "type": "array", + "uniqueItems": true + }, + "updateStrategy": { + "$ref": "#/definitions/v1UpdateStrategy", + "description": "rolling update strategy for this machinepool if not specified, will use ScaleOut" + }, + "useControlPlaneAsWorker": { + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", + "type": "boolean" + } + }, + "required": [ + "instanceType" + ], + "type": "object" + }, + "v1VirtualMachinePoolConfigEntity": { + "properties": { + "cloudConfig": { + "$ref": "#/definitions/v1VirtualMachinePoolCloudConfigEntity" + } + }, + "required": [ + "cloudConfig" + ], + "type": "object" + }, + "v1VirtualMachineSnapshot": { + "description": "VirtualMachineSnapshot defines the operation of snapshotting a VM", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/v1VmObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1VirtualMachineSnapshotSpec" + }, + "status": { + "$ref": "#/definitions/v1VirtualMachineSnapshotStatus" + } + }, + "required": [ + "spec" + ], + "type": "object" + }, + "v1VirtualMachineSnapshotList": { + "description": "VirtualMachineSnapshotList is a list of VirtualMachineSnapshot resources", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "items": { + "items": { + "$ref": "#/definitions/v1VirtualMachineSnapshot" + }, + "type": "array" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/v1VmListMeta" + } + }, + "required": [ + "metadata", + "items" + ], + "type": "object" + }, + "v1VirtualMachineSnapshotSpec": { + "description": "VirtualMachineSnapshotSpec is the spec for a VirtualMachineSnapshot resource", + "properties": { + "deletionPolicy": { + "type": "string" + }, + "failureDeadline": { + "$ref": "#/definitions/v1VmDuration" + }, + "source": { + "$ref": "#/definitions/v1VmTypedLocalObjectReference" + } + }, + "required": [ + "source" + ], + "type": "object" + }, + "v1VirtualMachineSnapshotStatus": { + "description": "VirtualMachineSnapshotStatus is the status for a VirtualMachineSnapshot resource", + "properties": { + "conditions": { + "items": { + "$ref": "#/definitions/v1VmCondition" + }, + "type": "array" + }, + "creationTime": { + "$ref": "#/definitions/v1Time" + }, + "error": { + "$ref": "#/definitions/v1VmError" + }, + "indications": { + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "phase": { + "type": "string" + }, + "readyToUse": { + "type": "boolean" + }, + "snapshotVolumes": { + "$ref": "#/definitions/v1VmSnapshotVolumesLists" + }, + "sourceUID": { + "type": "string" + }, + "virtualMachineSnapshotContentName": { + "type": "string" + } + }, + "type": "object", + "x-nullable": true + }, + "v1VirtualMachineSpec": { + "description": "Virtual cloud machine definition spec", + "properties": { + "hostname": { + "type": "string" + } + }, + "type": "object" + }, + "v1VirtualMachines": { + "description": "List of virtual machines", + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1VirtualMachine" + }, + "type": "array", + "uniqueItems": true + }, + "listmeta": { + "$ref": "#/definitions/v1ListMetaData" + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1VirtualNetwork": { + "description": "Azure virtual network is the fundamental building block for your private network in Azure.", + "properties": { + "addressSpaces": { + "description": "Location of the virtual network", + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "id": { + "description": "The ID of the resource group", + "type": "string" + }, + "location": { + "description": "Location of the virtual network", + "type": "string" + }, + "name": { + "description": "Name of the virtual network", + "type": "string" + }, + "subnets": { + "description": "List of subnets associated with Azure VPC", + "items": { + "$ref": "#/definitions/v1Subnet" + }, + "type": "array" + }, + "type": { + "description": "Type of the virtual network", + "type": "string" + } + }, + "type": "object" + }, + "v1VmAccessCredential": { + "description": "AccessCredential represents a credential source that can be used to authorize remote access to the vm guest Only one of its members may be specified.", + "properties": { + "sshPublicKey": { + "$ref": "#/definitions/v1VmSshPublicKeyAccessCredential" + }, + "userPassword": { + "$ref": "#/definitions/v1VmUserPasswordAccessCredential" + } + }, + "type": "object" + }, + "v1VmAccessCredentialSecretSource": { + "properties": { + "secretName": { + "description": "SecretName represents the name of the secret in the VMI's namespace", + "type": "string" + } + }, + "required": [ + "secretName" + ], + "type": "object" + }, + "v1VmAddVolumeOptions": { + "description": "AddVolumeOptions is provided when dynamically hot plugging a volume and disk", + "properties": { + "disk": { + "$ref": "#/definitions/v1VmDisk" + }, + "dryRun": { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "atomic" + }, + "name": { + "description": "Name represents the name that will be used to map the disk to the corresponding volume. This overrides any name set inside the Disk struct itself.", + "type": "string" + }, + "volumeSource": { + "$ref": "#/definitions/v1VmHotplugVolumeSource" + } + }, + "required": [ + "name", + "disk", + "volumeSource" + ], + "type": "object" + }, + "v1VmAffinity": { + "description": "Affinity is a group of affinity scheduling rules.", + "properties": { + "nodeAffinity": { + "$ref": "#/definitions/v1VmNodeAffinity" + }, + "podAffinity": { + "$ref": "#/definitions/v1VmPodAffinity" + }, + "podAntiAffinity": { + "$ref": "#/definitions/v1PodAntiAffinity" + } + }, + "type": "object" + }, + "v1VmBIOS": { + "description": "If set (default), BIOS will be used.", + "properties": { + "useSerial": { + "description": "If set, the BIOS output will be transmitted over serial", + "type": "boolean" + } + }, + "type": "object" + }, + "v1VmBlockSize": { + "description": "BlockSize provides the option to change the block size presented to the VM for a disk. Only one of its members may be specified.", + "properties": { + "custom": { + "$ref": "#/definitions/v1VmCustomBlockSize" + }, + "matchVolume": { + "$ref": "#/definitions/v1VmFeatureState" + } + }, + "type": "object" + }, + "v1VmBootloader": { + "description": "Represents the firmware blob used to assist in the domain creation process. Used for setting the QEMU BIOS file path for the libvirt domain.", + "properties": { + "bios": { + "$ref": "#/definitions/v1VmBIOS" + }, + "efi": { + "$ref": "#/definitions/v1VmEFI" + } + }, + "type": "object" + }, + "v1VmCDRomTarget": { + "properties": { + "bus": { + "description": "Bus indicates the type of disk device to emulate. supported values: virtio, sata, scsi.", + "type": "string" + }, + "readonly": { + "description": "ReadOnly. Defaults to true.", + "type": "boolean" + }, + "tray": { + "description": "Tray indicates if the tray of the device is open or closed. Allowed values are \"open\" and \"closed\". Defaults to closed.", + "type": "string" + } + }, + "type": "object" + }, + "v1VmChassis": { + "description": "Chassis specifies the chassis info passed to the domain.", + "properties": { + "asset": { + "type": "string" + }, + "manufacturer": { + "type": "string" + }, + "serial": { + "type": "string" + }, + "sku": { + "type": "string" + }, + "version": { + "type": "string" + } + }, + "type": "object" + }, + "v1VmClientPassthroughDevices": { + "description": "Represent a subset of client devices that can be accessed by VMI. At the moment only, USB devices using Usbredir's library and tooling. Another fit would be a smartcard with libcacard.\n\nThe struct is currently empty as there is no immediate request for user-facing APIs. This structure simply turns on USB redirection of UsbClientPassthroughMaxNumberOf devices.", + "type": "object" + }, + "v1VmClock": { + "description": "Represents the clock and timers of a vmi.", + "properties": { + "timer": { + "$ref": "#/definitions/v1VmTimer" + }, + "timezone": { + "description": "Timezone sets the guest clock to the specified timezone. Zone name follows the TZ environment variable format (e.g. 'America/New_York').", + "type": "string" + }, + "utc": { + "$ref": "#/definitions/v1VmClockOffsetUTC" + } + }, + "type": "object" + }, + "v1VmClockOffsetUTC": { + "description": "UTC sets the guest clock to UTC on each boot.", + "properties": { + "offsetSeconds": { + "description": "OffsetSeconds specifies an offset in seconds, relative to UTC. If set, guest changes to the clock will be kept during reboots and not reset.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "v1VmCloudInitConfigDriveSource": { + "description": "Represents a cloud-init config drive user data source. More info: https://cloudinit.readthedocs.io/en/latest/topics/datasources/configdrive.html", + "properties": { + "networkData": { + "description": "NetworkData contains config drive inline cloud-init networkdata.", + "type": "string" + }, + "networkDataBase64": { + "description": "NetworkDataBase64 contains config drive cloud-init networkdata as a base64 encoded string.", + "type": "string" + }, + "networkDataSecretRef": { + "$ref": "#/definitions/v1VmLocalObjectReference" + }, + "secretRef": { + "$ref": "#/definitions/v1VmLocalObjectReference" + }, + "userData": { + "description": "UserData contains config drive inline cloud-init userdata.", + "type": "string" + }, + "userDataBase64": { + "description": "UserDataBase64 contains config drive cloud-init userdata as a base64 encoded string.", + "type": "string" + } + }, + "type": "object" + }, + "v1VmCloudInitNoCloudSource": { + "description": "Represents a cloud-init nocloud user data source. More info: http://cloudinit.readthedocs.io/en/latest/topics/datasources/nocloud.html", + "properties": { + "networkData": { + "description": "NetworkData contains NoCloud inline cloud-init networkdata.", + "type": "string" + }, + "networkDataBase64": { + "description": "NetworkDataBase64 contains NoCloud cloud-init networkdata as a base64 encoded string.", + "type": "string" + }, + "networkDataSecretRef": { + "$ref": "#/definitions/v1VmLocalObjectReference" + }, + "secretRef": { + "$ref": "#/definitions/v1VmLocalObjectReference" + }, + "userData": { + "description": "UserData contains NoCloud inline cloud-init userdata.", + "type": "string" + }, + "userDataBase64": { + "description": "UserDataBase64 contains NoCloud cloud-init userdata as a base64 encoded string.", + "type": "string" + } + }, + "type": "object" + }, + "v1VmCondition": { + "description": "Condition defines conditions", + "properties": { + "lastProbeTime": { + "type": "string" + }, + "lastTransitionTime": { + "type": "string" + }, + "message": { + "type": "string" + }, + "reason": { + "type": "string" + }, + "status": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "type", + "status" + ], + "type": "object" + }, + "v1VmConfigDriveSshPublicKeyAccessCredentialPropagation": { + "type": "object" + }, + "v1VmConfigMapVolumeSource": { + "description": "ConfigMapVolumeSource adapts a ConfigMap into a volume. More info: https://kubernetes.io/docs/concepts/storage/volumes/#configmap", + "properties": { + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "optional": { + "description": "Specify whether the ConfigMap or it's keys must be defined", + "type": "boolean" + }, + "volumeLabel": { + "description": "The volume label of the resulting disk inside the VMI. Different bootstrapping mechanisms require different values. Typical values are \"cidata\" (cloud-init), \"config-2\" (cloud-init) or \"OEMDRV\" (kickstart).", + "type": "string" + } + }, + "type": "object" + }, + "v1VmContainerDiskSource": { + "description": "Represents a docker image with an embedded disk.", + "properties": { + "image": { + "description": "Image is the name of the image with the embedded disk.", + "type": "string" + }, + "imagePullPolicy": { + "description": "Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images", + "type": "string" + }, + "imagePullSecret": { + "description": "ImagePullSecret is the name of the Docker registry secret required to pull the image. The secret must already exist.", + "type": "string" + }, + "path": { + "description": "Path defines the path to disk file in the container", + "type": "string" + } + }, + "required": [ + "image" + ], + "type": "object" + }, + "v1VmCoreDataVolumeSource": { + "properties": { + "hotpluggable": { + "description": "Hotpluggable indicates whether the volume can be hotplugged and hotunplugged.", + "type": "boolean" + }, + "name": { + "description": "Name of both the DataVolume and the PVC in the same namespace. After PVC population the DataVolume is garbage collected by default.", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + }, + "v1VmCoreResourceRequirements": { + "description": "ResourceRequirements describes the compute resource requirements.", + "properties": { + "limits": { + "additionalProperties": { + "$ref": "#/definitions/v1VmQuantity" + }, + "description": "Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/", + "type": "object" + }, + "requests": { + "additionalProperties": { + "$ref": "#/definitions/v1VmQuantity" + }, + "description": "Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/", + "type": "object" + } + }, + "type": "object" + }, + "v1VmCpu": { + "description": "CPU allows specifying the CPU topology.", + "properties": { + "cores": { + "description": "Cores specifies the number of cores inside the vmi. Must be a value greater or equal 1.", + "format": "int64", + "type": "integer" + }, + "dedicatedCpuPlacement": { + "description": "DedicatedCPUPlacement requests the scheduler to place the VirtualMachineInstance on a node with enough dedicated pCPUs and pin the vCPUs to it.", + "type": "boolean" + }, + "features": { + "description": "Features specifies the CPU features list inside the VMI.", + "items": { + "$ref": "#/definitions/v1VmCpuFeature" + }, + "type": "array" + }, + "isolateEmulatorThread": { + "description": "IsolateEmulatorThread requests one more dedicated pCPU to be allocated for the VMI to place the emulator thread on it.", + "type": "boolean" + }, + "model": { + "description": "Model specifies the CPU model inside the VMI. List of available models https://github.com/libvirt/libvirt/tree/master/src/cpu_map. It is possible to specify special cases like \"host-passthrough\" to get the same CPU as the node and \"host-model\" to get CPU closest to the node one. Defaults to host-model.", + "type": "string" + }, + "numa": { + "$ref": "#/definitions/v1VmNUMA" + }, + "realtime": { + "$ref": "#/definitions/v1VmRealtime" + }, + "sockets": { + "description": "Sockets specifies the number of sockets inside the vmi. Must be a value greater or equal 1.", + "format": "int64", + "type": "integer" + }, + "threads": { + "description": "Threads specifies the number of threads inside the vmi. Must be a value greater or equal 1.", + "format": "int64", + "type": "integer" + } + }, + "type": "object" + }, + "v1VmCpuFeature": { + "description": "CPUFeature allows specifying a CPU feature.", + "properties": { + "name": { + "description": "Name of the CPU feature", + "type": "string" + }, + "policy": { + "description": "Policy is the CPU feature attribute which can have the following attributes: force - The virtual CPU will claim the feature is supported regardless of it being supported by host CPU. require - Guest creation will fail unless the feature is supported by the host CPU or the hypervisor is able to emulate it. optional - The feature will be supported by virtual CPU if and only if it is supported by host CPU. disable - The feature will not be supported by virtual CPU. forbid - Guest creation will fail if the feature is supported by host CPU. Defaults to require", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + }, + "v1VmCustomBlockSize": { + "description": "CustomBlockSize represents the desired logical and physical block size for a VM disk.", + "properties": { + "logical": { + "format": "int32", + "type": "integer" + }, + "physical": { + "format": "int32", + "type": "integer" + } + }, + "required": [ + "logical", + "physical" + ], + "type": "object" + }, + "v1VmDHCPOptions": { + "description": "Extra DHCP options to use in the interface.", + "properties": { + "bootFileName": { + "description": "If specified will pass option 67 to interface's DHCP server", + "type": "string" + }, + "ntpServers": { + "description": "If specified will pass the configured NTP server to the VM via DHCP option 042.", + "items": { + "type": "string" + }, + "type": "array" + }, + "privateOptions": { + "description": "If specified will pass extra DHCP options for private use, range: 224-254", + "items": { + "$ref": "#/definitions/v1VmDHCPPrivateOptions" + }, + "type": "array" + }, + "tftpServerName": { + "description": "If specified will pass option 66 to interface's DHCP server", + "type": "string" + } + }, + "type": "object" + }, + "v1VmDHCPPrivateOptions": { + "description": "DHCPExtraOptions defines Extra DHCP options for a VM.", + "properties": { + "option": { + "description": "Option is an Integer value from 224-254 Required.", + "format": "int32", + "type": "integer" + }, + "value": { + "description": "Value is a String value for the Option provided Required.", + "type": "string" + } + }, + "required": [ + "option", + "value" + ], + "type": "object" + }, + "v1VmDataVolumeBlankImage": { + "description": "DataVolumeBlankImage provides the parameters to create a new raw blank image for the PVC", + "type": "object" + }, + "v1VmDataVolumeCheckpoint": { + "description": "DataVolumeCheckpoint defines a stage in a warm migration.", + "properties": { + "current": { + "description": "Current is the identifier of the snapshot created for this checkpoint.", + "type": "string" + }, + "previous": { + "description": "Previous is the identifier of the snapshot from the previous checkpoint.", + "type": "string" + } + }, + "required": [ + "previous", + "current" + ], + "type": "object" + }, + "v1VmDataVolumeSource": { + "description": "DataVolumeSource represents the source for our Data Volume, this can be HTTP, Imageio, S3, Registry or an existing PVC", + "properties": { + "blank": { + "$ref": "#/definitions/v1VmDataVolumeBlankImage" + }, + "http": { + "$ref": "#/definitions/v1VmDataVolumeSourceHttp" + }, + "imageio": { + "$ref": "#/definitions/v1VmDataVolumeSourceImageIO" + }, + "pvc": { + "$ref": "#/definitions/v1VmDataVolumeSourcePVC" + }, + "registry": { + "$ref": "#/definitions/v1VmDataVolumeSourceRegistry" + }, + "s3": { + "$ref": "#/definitions/v1VmDataVolumeSourceS3" + }, + "upload": { + "$ref": "#/definitions/v1VmDataVolumeSourceUpload" + }, + "vddk": { + "$ref": "#/definitions/v1VmDataVolumeSourceVDDK" + } + }, + "type": "object" + }, + "v1VmDataVolumeSourceHttp": { + "description": "DataVolumeSourceHTTP can be either an http or https endpoint, with an optional basic auth user name and password, and an optional configmap containing additional CAs", + "properties": { + "certConfigMap": { + "description": "CertConfigMap is a configmap reference, containing a Certificate Authority(CA) public key, and a base64 encoded pem certificate", + "type": "string" + }, + "extraHeaders": { + "description": "ExtraHeaders is a list of strings containing extra headers to include with HTTP transfer requests", + "items": { + "type": "string" + }, + "type": "array" + }, + "secretExtraHeaders": { + "description": "SecretExtraHeaders is a list of Secret references, each containing an extra HTTP header that may include sensitive information", + "items": { + "type": "string" + }, + "type": "array" + }, + "secretRef": { + "description": "SecretRef A Secret reference, the secret should contain accessKeyId (user name) base64 encoded, and secretKey (password) also base64 encoded", + "type": "string" + }, + "url": { + "description": "URL is the URL of the http(s) endpoint", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" + }, + "v1VmDataVolumeSourceImageIO": { + "description": "DataVolumeSourceImageIO provides the parameters to create a Data Volume from an imageio source", + "properties": { + "certConfigMap": { + "description": "CertConfigMap provides a reference to the CA cert", + "type": "string" + }, + "diskId": { + "description": "DiskID provides id of a disk to be imported", + "type": "string" + }, + "secretRef": { + "description": "SecretRef provides the secret reference needed to access the ovirt-engine", + "type": "string" + }, + "url": { + "description": "URL is the URL of the ovirt-engine", + "type": "string" + } + }, + "required": [ + "url", + "diskId" + ], + "type": "object" + }, + "v1VmDataVolumeSourcePVC": { + "description": "DataVolumeSourcePVC provides the parameters to create a Data Volume from an existing PVC", + "properties": { + "name": { + "description": "The name of the source PVC", + "type": "string" + }, + "namespace": { + "description": "The namespace of the source PVC", + "type": "string" + } + }, + "required": [ + "namespace", + "name" + ], + "type": "object" + }, + "v1VmDataVolumeSourceRef": { + "description": "DataVolumeSourceRef defines an indirect reference to the source of data for the DataVolume", + "properties": { + "kind": { + "description": "The kind of the source reference, currently only \"DataSource\" is supported", + "type": "string" + }, + "name": { + "description": "The name of the source reference", + "type": "string" + }, + "namespace": { + "description": "The namespace of the source reference, defaults to the DataVolume namespace", + "type": "string" + } + }, + "required": [ + "kind", + "name" + ], + "type": "object" + }, + "v1VmDataVolumeSourceRegistry": { + "description": "DataVolumeSourceRegistry provides the parameters to create a Data Volume from an registry source", + "properties": { + "certConfigMap": { + "description": "CertConfigMap provides a reference to the Registry certs", + "type": "string" + }, + "imageStream": { + "description": "ImageStream is the name of image stream for import", + "type": "string" + }, + "pullMethod": { + "description": "PullMethod can be either \"pod\" (default import), or \"node\" (node docker cache based import)", + "type": "string" + }, + "secretRef": { + "description": "SecretRef provides the secret reference needed to access the Registry source", + "type": "string" + }, + "url": { + "description": "URL is the url of the registry source (starting with the scheme: docker, oci-archive)", + "type": "string" + } + }, + "type": "object" + }, + "v1VmDataVolumeSourceS3": { + "description": "DataVolumeSourceS3 provides the parameters to create a Data Volume from an S3 source", + "properties": { + "certConfigMap": { + "description": "CertConfigMap is a configmap reference, containing a Certificate Authority(CA) public key, and a base64 encoded pem certificate", + "type": "string" + }, + "secretRef": { + "description": "SecretRef provides the secret reference needed to access the S3 source", + "type": "string" + }, + "url": { + "description": "URL is the url of the S3 source", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" + }, + "v1VmDataVolumeSourceUpload": { + "description": "DataVolumeSourceUpload provides the parameters to create a Data Volume by uploading the source", + "type": "object" + }, + "v1VmDataVolumeSourceVDDK": { + "description": "DataVolumeSourceVDDK provides the parameters to create a Data Volume from a Vmware source", + "properties": { + "backingFile": { + "description": "BackingFile is the path to the virtual hard disk to migrate from vCenter/ESXi", + "type": "string" + }, + "initImageURL": { + "description": "InitImageURL is an optional URL to an image containing an extracted VDDK library, overrides v2v-vmware config map", + "type": "string" + }, + "secretRef": { + "description": "SecretRef provides a reference to a secret containing the username and password needed to access the vCenter or ESXi host", + "type": "string" + }, + "thumbprint": { + "description": "Thumbprint is the certificate thumbprint of the vCenter or ESXi host", + "type": "string" + }, + "url": { + "description": "URL is the URL of the vCenter or ESXi host with the VM to migrate", + "type": "string" + }, + "uuid": { + "description": "UUID is the UUID of the virtual machine that the backing file is attached to in vCenter/ESXi", + "type": "string" + } + }, + "type": "object" + }, + "v1VmDataVolumeSpec": { + "description": "DataVolumeSpec defines the DataVolume type specification", + "properties": { + "checkpoints": { + "description": "Checkpoints is a list of DataVolumeCheckpoints, representing stages in a multistage import.", + "items": { + "$ref": "#/definitions/v1VmDataVolumeCheckpoint" + }, + "type": "array" + }, + "contentType": { + "description": "DataVolumeContentType options: \"kubevirt\", \"archive\"", + "type": "string" + }, + "finalCheckpoint": { + "description": "FinalCheckpoint indicates whether the current DataVolumeCheckpoint is the final checkpoint.", + "type": "boolean" + }, + "preallocation": { + "description": "Preallocation controls whether storage for DataVolumes should be allocated in advance.", + "type": "boolean" + }, + "priorityClassName": { + "description": "PriorityClassName for Importer, Cloner and Uploader pod", + "type": "string" + }, + "pvc": { + "$ref": "#/definitions/v1VmPersistentVolumeClaimSpec" + }, + "source": { + "$ref": "#/definitions/v1VmDataVolumeSource" + }, + "sourceRef": { + "$ref": "#/definitions/v1VmDataVolumeSourceRef" + }, + "storage": { + "$ref": "#/definitions/v1VmStorageSpec" + } + }, + "type": "object" + }, + "v1VmDataVolumeTemplateSpec": { + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values.", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase.", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/v1VmObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1VmDataVolumeSpec" + } + }, + "required": [ + "spec" + ], + "type": "object" + }, + "v1VmDevices": { + "properties": { + "autoattachGraphicsDevice": { + "description": "Whether to attach the default graphics device or not. VNC will not be available if set to false. Defaults to true.", + "type": "boolean" + }, + "autoattachInputDevice": { + "description": "Whether to attach an Input Device. Defaults to false.", + "type": "boolean" + }, + "autoattachMemBalloon": { + "description": "Whether to attach the Memory balloon device with default period. Period can be adjusted in virt-config. Defaults to true.", + "type": "boolean" + }, + "autoattachPodInterface": { + "description": "Whether to attach a pod network interface. Defaults to true.", + "type": "boolean" + }, + "autoattachSerialConsole": { + "description": "Whether to attach the default serial console or not. Serial console access will not be available if set to false. Defaults to true.", + "type": "boolean" + }, + "autoattachVSOCK": { + "description": "Whether to attach the VSOCK CID to the VM or not. VSOCK access will be available if set to true. Defaults to false.", + "type": "boolean" + }, + "blockMultiQueue": { + "description": "Whether or not to enable virtio multi-queue for block devices. Defaults to false.", + "type": "boolean" + }, + "clientPassthrough": { + "$ref": "#/definitions/v1VmClientPassthroughDevices" + }, + "disableHotplug": { + "description": "DisableHotplug disabled the ability to hotplug disks.", + "type": "boolean" + }, + "disks": { + "description": "Disks describes disks, cdroms and luns which are connected to the vmi.", + "items": { + "$ref": "#/definitions/v1VmDisk" + }, + "type": "array" + }, + "filesystems": { + "description": "Filesystems describes filesystem which is connected to the vmi.", + "items": { + "$ref": "#/definitions/v1VmFilesystem" + }, + "type": "array", + "x-kubernetes-list-type": "atomic" + }, + "gpus": { + "description": "Whether to attach a GPU device to the vmi.", + "items": { + "$ref": "#/definitions/v1VmGPU" + }, + "type": "array", + "x-kubernetes-list-type": "atomic" + }, + "hostDevices": { + "description": "Whether to attach a host device to the vmi.", + "items": { + "$ref": "#/definitions/v1VmHostDevice" + }, + "type": "array", + "x-kubernetes-list-type": "atomic" + }, + "inputs": { + "description": "Inputs describe input devices", + "items": { + "$ref": "#/definitions/v1VmInput" + }, + "type": "array" + }, + "interfaces": { + "description": "Interfaces describe network interfaces which are added to the vmi.", + "items": { + "$ref": "#/definitions/v1VmInterface" + }, + "type": "array" + }, + "networkInterfaceMultiqueue": { + "description": "If specified, virtual network interfaces configured with a virtio bus will also enable the vhost multiqueue feature for network devices. The number of queues created depends on additional factors of the VirtualMachineInstance, like the number of guest CPUs.", + "type": "boolean" + }, + "rng": { + "$ref": "#/definitions/v1VmRng" + }, + "sound": { + "$ref": "#/definitions/v1VmSoundDevice" + }, + "tpm": { + "$ref": "#/definitions/v1VmTPMDevice" + }, + "useVirtioTransitional": { + "description": "Fall back to legacy virtio 0.9 support if virtio bus is selected on devices. This is helpful for old machines like CentOS6 or RHEL6 which do not understand virtio_non_transitional (virtio 1.0).", + "type": "boolean" + }, + "watchdog": { + "$ref": "#/definitions/v1VmWatchdog" + } + }, + "type": "object" + }, + "v1VmDisk": { + "properties": { + "blockSize": { + "$ref": "#/definitions/v1VmBlockSize" + }, + "bootOrder": { + "description": "BootOrder is an integer value \u003e 0, used to determine ordering of boot devices. Lower values take precedence. Each disk or interface that has a boot order must have a unique value. Disks without a boot order are not tried if a disk with a boot order exists.", + "format": "int32", + "type": "integer" + }, + "cache": { + "description": "Cache specifies which kvm disk cache mode should be used. Supported values are: CacheNone, CacheWriteThrough.", + "type": "string" + }, + "cdrom": { + "$ref": "#/definitions/v1VmCDRomTarget" + }, + "dedicatedIOThread": { + "description": "dedicatedIOThread indicates this disk should have an exclusive IO Thread. Enabling this implies useIOThreads = true. Defaults to false.", + "type": "boolean" + }, + "disk": { + "$ref": "#/definitions/v1VmDiskTarget" + }, + "io": { + "description": "IO specifies which QEMU disk IO mode should be used. Supported values are: native, default, threads.", + "type": "string" + }, + "lun": { + "$ref": "#/definitions/v1VmLunTarget" + }, + "name": { + "description": "Name is the device name", + "type": "string" + }, + "serial": { + "description": "Serial provides the ability to specify a serial number for the disk device.", + "type": "string" + }, + "shareable": { + "description": "If specified the disk is made sharable and multiple write from different VMs are permitted", + "type": "boolean" + }, + "tag": { + "description": "If specified, disk address and its tag will be provided to the guest via config drive metadata", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + }, + "v1VmDiskTarget": { + "properties": { + "bus": { + "description": "Bus indicates the type of disk device to emulate. supported values: virtio, sata, scsi, usb.", + "type": "string" + }, + "pciAddress": { + "description": "If specified, the virtual disk will be placed on the guests pci address with the specified PCI address. For example: 0000:81:01.10", + "type": "string" + }, + "readonly": { + "description": "ReadOnly. Defaults to false.", + "type": "boolean" + } + }, + "type": "object" + }, + "v1VmDomainSpec": { + "properties": { + "chassis": { + "$ref": "#/definitions/v1VmChassis" + }, + "clock": { + "$ref": "#/definitions/v1VmClock" + }, + "cpu": { + "$ref": "#/definitions/v1VmCpu" + }, + "devices": { + "$ref": "#/definitions/v1VmDevices" + }, + "features": { + "$ref": "#/definitions/v1VmFeatures" + }, + "firmware": { + "$ref": "#/definitions/v1VmFirmware" + }, + "ioThreadsPolicy": { + "description": "Controls whether or not disks will share IOThreads. Omitting IOThreadsPolicy disables use of IOThreads. One of: shared, auto", + "type": "string" + }, + "launchSecurity": { + "$ref": "#/definitions/v1VmLaunchSecurity" + }, + "machine": { + "$ref": "#/definitions/v1VmMachine" + }, + "memory": { + "$ref": "#/definitions/v1VmMemory" + }, + "resources": { + "$ref": "#/definitions/v1VmResourceRequirements" + } + }, + "required": [ + "devices" + ], + "type": "object" + }, + "v1VmDownwardApiVolumeFile": { + "description": "DownwardAPIVolumeFile represents information to create the file containing the pod field", + "properties": { + "fieldRef": { + "$ref": "#/definitions/v1VmObjectFieldSelector" + }, + "mode": { + "description": "Optional: mode bits used to set permissions on this file, must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.", + "format": "int32", + "type": "integer" + }, + "path": { + "description": "Required: Path is the relative path name of the file to be created. Must not be absolute or contain the '..' path. Must be utf-8 encoded. The first item of the relative path must not start with '..'", + "type": "string" + }, + "resourceFieldRef": { + "$ref": "#/definitions/v1VmResourceFieldSelector" + } + }, + "required": [ + "path" + ], + "type": "object" + }, + "v1VmDownwardApiVolumeSource": { + "description": "DownwardAPIVolumeSource represents a volume containing downward API info.", + "properties": { + "fields": { + "description": "Fields is a list of downward API volume file", + "items": { + "$ref": "#/definitions/v1VmDownwardApiVolumeFile" + }, + "type": "array" + }, + "volumeLabel": { + "description": "The volume label of the resulting disk inside the VMI. Different bootstrapping mechanisms require different values. Typical values are \"cidata\" (cloud-init), \"config-2\" (cloud-init) or \"OEMDRV\" (kickstart).", + "type": "string" + } + }, + "type": "object" + }, + "v1VmDownwardMetricsVolumeSource": { + "description": "DownwardMetricsVolumeSource adds a very small disk to VMIs which contains a limited view of host and guest metrics. The disk content is compatible with vhostmd (https://github.com/vhostmd/vhostmd) and vm-dump-metrics.", + "type": "object" + }, + "v1VmDuration": { + "description": "Duration is a wrapper around time.Duration which supports correct marshaling to YAML and JSON. In particular, it marshals into strings, which can be used as map keys in json.", + "type": "string" + }, + "v1VmEFI": { + "description": "If set, EFI will be used instead of BIOS.", + "properties": { + "secureBoot": { + "description": "If set, SecureBoot will be enabled and the OVMF roms will be swapped for SecureBoot-enabled ones. Requires SMM to be enabled. Defaults to true", + "type": "boolean" + } + }, + "type": "object" + }, + "v1VmEmptyDiskSource": { + "description": "EmptyDisk represents a temporary disk which shares the vmis lifecycle.", + "properties": { + "capacity": { + "$ref": "#/definitions/v1VmQuantity" + } + }, + "required": [ + "capacity" + ], + "type": "object" + }, + "v1VmEphemeralVolumeSource": { + "properties": { + "persistentVolumeClaim": { + "$ref": "#/definitions/v1VmPersistentVolumeClaimVolumeSource" + } + }, + "type": "object" + }, + "v1VmError": { + "description": "Error is the last error encountered during the snapshot/restore", + "properties": { + "message": { + "type": "string" + }, + "time": { + "$ref": "#/definitions/v1Time" + } + }, + "type": "object" + }, + "v1VmExecAction": { + "description": "ExecAction describes a \"run in container\" action.", + "properties": { + "command": { + "description": "Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1VmFeatureApiC": { + "properties": { + "enabled": { + "description": "Enabled determines if the feature should be enabled or disabled on the guest. Defaults to true.", + "type": "boolean" + }, + "endOfInterrupt": { + "description": "EndOfInterrupt enables the end of interrupt notification in the guest. Defaults to false.", + "type": "boolean" + } + }, + "type": "object" + }, + "v1VmFeatureHyperv": { + "description": "Hyperv specific features.", + "properties": { + "evmcs": { + "$ref": "#/definitions/v1VmFeatureState" + }, + "frequencies": { + "$ref": "#/definitions/v1VmFeatureState" + }, + "ipi": { + "$ref": "#/definitions/v1VmFeatureState" + }, + "reenlightenment": { + "$ref": "#/definitions/v1VmFeatureState" + }, + "relaxed": { + "$ref": "#/definitions/v1VmFeatureState" + }, + "reset": { + "$ref": "#/definitions/v1VmFeatureState" + }, + "runtime": { + "$ref": "#/definitions/v1VmFeatureState" + }, + "spinlocks": { + "$ref": "#/definitions/v1VmFeatureSpinlocks" + }, + "synic": { + "$ref": "#/definitions/v1VmFeatureState" + }, + "synictimer": { + "$ref": "#/definitions/v1VmSyNICTimer" + }, + "tlbflush": { + "$ref": "#/definitions/v1VmFeatureState" + }, + "vapic": { + "$ref": "#/definitions/v1VmFeatureState" + }, + "vendorid": { + "$ref": "#/definitions/v1VmFeatureVendorId" + }, + "vpindex": { + "$ref": "#/definitions/v1VmFeatureState" + } + }, + "type": "object" + }, + "v1VmFeatureKVm": { + "properties": { + "hidden": { + "description": "Hide the KVM hypervisor from standard MSR based discovery. Defaults to false", + "type": "boolean" + } + }, + "type": "object" + }, + "v1VmFeatureSpinlocks": { + "properties": { + "enabled": { + "description": "Enabled determines if the feature should be enabled or disabled on the guest. Defaults to true.", + "type": "boolean" + }, + "spinlocks": { + "description": "Retries indicates the number of retries. Must be a value greater or equal 4096. Defaults to 4096.", + "format": "int64", + "type": "integer" + } + }, + "type": "object" + }, + "v1VmFeatureState": { + "description": "Represents if a feature is enabled or disabled.", + "properties": { + "enabled": { + "description": "Enabled determines if the feature should be enabled or disabled on the guest. Defaults to true.", + "type": "boolean" + } + }, + "type": "object" + }, + "v1VmFeatureVendorId": { + "properties": { + "enabled": { + "description": "Enabled determines if the feature should be enabled or disabled on the guest. Defaults to true.", + "type": "boolean" + }, + "vendorid": { + "description": "VendorID sets the hypervisor vendor id, visible to the vmi. String up to twelve characters.", + "type": "string" + } + }, + "type": "object" + }, + "v1VmFeatures": { + "properties": { + "acpi": { + "$ref": "#/definitions/v1VmFeatureState" + }, + "apic": { + "$ref": "#/definitions/v1VmFeatureApiC" + }, + "hyperv": { + "$ref": "#/definitions/v1VmFeatureHyperv" + }, + "kvm": { + "$ref": "#/definitions/v1VmFeatureKVm" + }, + "pvspinlock": { + "$ref": "#/definitions/v1VmFeatureState" + }, + "smm": { + "$ref": "#/definitions/v1VmFeatureState" + } + }, + "type": "object" + }, + "v1VmFieldsV1": { + "description": "FieldsV1 stores a set of fields in a data structure like a Trie, in JSON format.\n\nEach key is either a '.' representing the field itself, and will always map to an empty set, or a string representing a sub-field or item. The string will follow one of these four formats: 'f:\u003cname\u003e', where \u003cname\u003e is the name of a field in a struct, or key in a map 'v:\u003cvalue\u003e', where \u003cvalue\u003e is the exact json formatted value of a list item 'i:\\\u003cindex\u003e', where \\\u003cindex\u003e is position of a item in a list 'k:\u003ckeys\u003e', where \u003ckeys\u003e is a map of a list item's key fields to their unique values If a key maps to an empty Fields value, the field that key represents is part of the set.\n\nThe exact format is defined in sigs.k8s.io/structured-merge-diff", + "properties": { + "Raw": { + "items": { + "format": "byte", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1VmFilesystem": { + "properties": { + "name": { + "description": "Name is the device name", + "type": "string" + }, + "virtiofs": { + "$ref": "#/definitions/v1VmFilesystemVirtiofs" + } + }, + "required": [ + "name", + "virtiofs" + ], + "type": "object" + }, + "v1VmFilesystemVirtiofs": { + "type": "object" + }, + "v1VmFirmware": { + "properties": { + "bootloader": { + "$ref": "#/definitions/v1VmBootloader" + }, + "kernelBoot": { + "$ref": "#/definitions/v1VmKernelBoot" + }, + "serial": { + "description": "The system-serial-number in SMBIOS", + "type": "string" + }, + "uuid": { + "description": "UUID reported by the vmi bios. Defaults to a random generated uid.", + "type": "string" + } + }, + "type": "object" + }, + "v1VmGPU": { + "properties": { + "deviceName": { + "type": "string" + }, + "name": { + "description": "Name of the GPU device as exposed by a device plugin", + "type": "string" + }, + "tag": { + "description": "If specified, the virtual network interface address and its tag will be provided to the guest via config drive", + "type": "string" + }, + "virtualGPUOptions": { + "$ref": "#/definitions/v1VmVGPUOptions" + } + }, + "required": [ + "name", + "deviceName" + ], + "type": "object" + }, + "v1VmGuestAgentPing": { + "description": "GuestAgentPing configures the guest-agent based ping probe", + "type": "object" + }, + "v1VmHPETTimer": { + "properties": { + "present": { + "description": "Enabled set to false makes sure that the machine type or a preset can't add the timer. Defaults to true.", + "type": "boolean" + }, + "tickPolicy": { + "description": "TickPolicy determines what happens when QEMU misses a deadline for injecting a tick to the guest. One of \"delay\", \"catchup\", \"merge\", \"discard\".", + "type": "string" + } + }, + "type": "object" + }, + "v1VmHostDevice": { + "properties": { + "deviceName": { + "description": "DeviceName is the resource name of the host device exposed by a device plugin", + "type": "string" + }, + "name": { + "type": "string" + }, + "tag": { + "description": "If specified, the virtual network interface address and its tag will be provided to the guest via config drive", + "type": "string" + } + }, + "required": [ + "name", + "deviceName" + ], + "type": "object" + }, + "v1VmHostDisk": { + "description": "Represents a disk created on the cluster level", + "properties": { + "capacity": { + "$ref": "#/definitions/v1VmQuantity" + }, + "path": { + "description": "The path to HostDisk image located on the cluster", + "type": "string" + }, + "shared": { + "description": "Shared indicate whether the path is shared between nodes", + "type": "boolean" + }, + "type": { + "description": "Contains information if disk.img exists or should be created allowed options are 'Disk' and 'DiskOrCreate'", + "type": "string" + } + }, + "required": [ + "path", + "type" + ], + "type": "object" + }, + "v1VmHotplugVolumeSource": { + "description": "HotplugVolumeSource Represents the source of a volume to mount which are capable of being hotplugged on a live running VMI. Only one of its members may be specified.", + "properties": { + "dataVolume": { + "$ref": "#/definitions/v1VmCoreDataVolumeSource" + }, + "persistentVolumeClaim": { + "$ref": "#/definitions/v1VmPersistentVolumeClaimVolumeSource" + } + }, + "type": "object" + }, + "v1VmHttpGetAction": { + "description": "HTTPGetAction describes an action based on HTTP Get requests.", + "properties": { + "host": { + "description": "Host name to connect to, defaults to the pod IP. You probably want to set \"Host\" in httpHeaders instead.", + "type": "string" + }, + "httpHeaders": { + "description": "Custom headers to set in the request. HTTP allows repeated headers.", + "items": { + "$ref": "#/definitions/v1VmHttpHeader" + }, + "type": "array" + }, + "path": { + "description": "Path to access on the HTTP server.", + "type": "string" + }, + "port": { + "description": "Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.", + "type": [ + "string", + "number" + ] + }, + "scheme": { + "description": "Scheme to use for connecting to the host. Defaults to HTTP.", + "type": "string" + } + }, + "required": [ + "port" + ], + "type": "object" + }, + "v1VmHttpHeader": { + "description": "HTTPHeader describes a custom header to be used in HTTP probes", + "properties": { + "name": { + "description": "The header field name", + "type": "string" + }, + "value": { + "description": "The header field value", + "type": "string" + } + }, + "required": [ + "name", + "value" + ], + "type": "object" + }, + "v1VmHugepages": { + "description": "Hugepages allow to use hugepages for the VirtualMachineInstance instead of regular memory.", + "properties": { + "pageSize": { + "description": "PageSize specifies the hugepage size, for x86_64 architecture valid values are 1Gi and 2Mi.", + "type": "string" + } + }, + "type": "object" + }, + "v1VmHypervTimer": { + "properties": { + "present": { + "description": "Enabled set to false makes sure that the machine type or a preset can't add the timer. Defaults to true.", + "type": "boolean" + } + }, + "type": "object" + }, + "v1VmI6300ESBWatchdog": { + "description": "i6300esb watchdog device.", + "properties": { + "action": { + "description": "The action to take. Valid values are poweroff, reset, shutdown. Defaults to reset.", + "type": "string" + } + }, + "type": "object" + }, + "v1VmInput": { + "properties": { + "bus": { + "description": "Bus indicates the bus of input device to emulate. Supported values: virtio, usb.", + "type": "string" + }, + "name": { + "description": "Name is the device name", + "type": "string" + }, + "type": { + "description": "Type indicated the type of input device. Supported values: tablet.", + "type": "string" + } + }, + "required": [ + "type", + "name" + ], + "type": "object" + }, + "v1VmInstancetypeMatcher": { + "description": "InstancetypeMatcher references a instancetype that is used to fill fields in the VMI template.", + "properties": { + "inferFromVolume": { + "description": "InferFromVolume lists the name of a volume that should be used to infer or discover the instancetype to be used through known annotations on the underlying resource. Once applied to the InstancetypeMatcher this field is removed.", + "type": "string" + }, + "kind": { + "description": "Kind specifies which instancetype resource is referenced. Allowed values are: \"VirtualMachineInstancetype\" and \"VirtualMachineClusterInstancetype\". If not specified, \"VirtualMachineClusterInstancetype\" is used by default.", + "type": "string" + }, + "name": { + "description": "Name is the name of the VirtualMachineInstancetype or VirtualMachineClusterInstancetype", + "type": "string" + }, + "revisionName": { + "description": "RevisionName specifies a ControllerRevision containing a specific copy of the VirtualMachineInstancetype or VirtualMachineClusterInstancetype to be used. This is initially captured the first time the instancetype is applied to the VirtualMachineInstance.", + "type": "string" + } + }, + "type": "object" + }, + "v1VmInterface": { + "properties": { + "acpiIndex": { + "description": "If specified, the ACPI index is used to provide network interface device naming, that is stable across changes in PCI addresses assigned to the device. This value is required to be unique across all devices and be between 1 and (16*1024-1).", + "format": "int32", + "type": "integer" + }, + "bootOrder": { + "description": "BootOrder is an integer value \u003e 0, used to determine ordering of boot devices. Lower values take precedence. Each interface or disk that has a boot order must have a unique value. Interfaces without a boot order are not tried.", + "format": "int32", + "type": "integer" + }, + "bridge": { + "$ref": "#/definitions/v1VmInterfaceBridge" + }, + "dhcpOptions": { + "$ref": "#/definitions/v1VmDHCPOptions" + }, + "macAddress": { + "description": "Interface MAC address. For example: de:ad:00:00:be:af or DE-AD-00-00-BE-AF.", + "type": "string" + }, + "macvtap": { + "$ref": "#/definitions/v1VmInterfaceMacvtap" + }, + "masquerade": { + "$ref": "#/definitions/v1VmInterfaceMasquerade" + }, + "model": { + "description": "Interface model. One of: e1000, e1000e, ne2k_pci, pcnet, rtl8139, virtio. Defaults to virtio.", + "type": "string" + }, + "name": { + "description": "Logical name of the interface as well as a reference to the associated networks. Must match the Name of a Network.", + "type": "string" + }, + "passt": { + "$ref": "#/definitions/v1VmInterfacePasst" + }, + "pciAddress": { + "description": "If specified, the virtual network interface will be placed on the guests pci address with the specified PCI address. For example: 0000:81:01.10", + "type": "string" + }, + "ports": { + "description": "List of ports to be forwarded to the virtual machine.", + "items": { + "$ref": "#/definitions/v1VmPort" + }, + "type": "array" + }, + "slirp": { + "$ref": "#/definitions/v1VmInterfaceSlirp" + }, + "sriov": { + "$ref": "#/definitions/v1VmInterfaceSRIOV" + }, + "tag": { + "description": "If specified, the virtual network interface address and its tag will be provided to the guest via config drive", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + }, + "v1VmInterfaceBridge": { + "description": "InterfaceBridge connects to a given network via a linux bridge.", + "type": "object" + }, + "v1VmInterfaceMacvtap": { + "description": "InterfaceMacvtap connects to a given network by extending the Kubernetes node's L2 networks via a macvtap interface.", + "type": "object" + }, + "v1VmInterfaceMasquerade": { + "description": "InterfaceMasquerade connects to a given network using netfilter rules to nat the traffic.", + "type": "object" + }, + "v1VmInterfacePasst": { + "description": "InterfacePasst connects to a given network.", + "type": "object" + }, + "v1VmInterfaceSRIOV": { + "description": "InterfaceSRIOV connects to a given network by passing-through an SR-IOV PCI device via vfio.", + "type": "object" + }, + "v1VmInterfaceSlirp": { + "description": "InterfaceSlirp connects to a given network using QEMU user networking mode.", + "type": "object" + }, + "v1VmKVmTimer": { + "properties": { + "present": { + "description": "Enabled set to false makes sure that the machine type or a preset can't add the timer. Defaults to true.", + "type": "boolean" + } + }, + "type": "object" + }, + "v1VmKernelBoot": { + "description": "Represents the firmware blob used to assist in the kernel boot process. Used for setting the kernel, initrd and command line arguments", + "properties": { + "container": { + "$ref": "#/definitions/v1VmKernelBootContainer" + }, + "kernelArgs": { + "description": "Arguments to be passed to the kernel at boot time", + "type": "string" + } + }, + "type": "object" + }, + "v1VmKernelBootContainer": { + "description": "If set, the VM will be booted from the defined kernel / initrd.", + "properties": { + "image": { + "description": "Image that contains initrd / kernel files.", + "type": "string" + }, + "imagePullPolicy": { + "description": "Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images", + "type": "string" + }, + "imagePullSecret": { + "description": "ImagePullSecret is the name of the Docker registry secret required to pull the image. The secret must already exist.", + "type": "string" + }, + "initrdPath": { + "description": "the fully-qualified path to the ramdisk image in the host OS", + "type": "string" + }, + "kernelPath": { + "description": "The fully-qualified path to the kernel image in the host OS", + "type": "string" + } + }, + "required": [ + "image" + ], + "type": "object" + }, + "v1VmLabelSelector": { + "description": "A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.", + "properties": { + "matchExpressions": { + "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.", + "items": { + "$ref": "#/definitions/v1VmLabelSelectorRequirement" + }, + "type": "array" + }, + "matchLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "matchLabels is a map of key-value pairs. A single key-value in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.", + "type": "object" + } + }, + "type": "object" + }, + "v1VmLabelSelectorRequirement": { + "description": "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.", + "properties": { + "key": { + "description": "key is the label key that the selector applies to.", + "type": "string", + "x-kubernetes-patch-merge-key": "key", + "x-kubernetes-patch-strategy": "merge" + }, + "operator": { + "description": "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.", + "type": "string" + }, + "values": { + "description": "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "key", + "operator" + ], + "type": "object" + }, + "v1VmLaunchSecurity": { + "properties": { + "sev": { + "$ref": "#/definitions/v1VmSEV" + } + }, + "type": "object" + }, + "v1VmListMeta": { + "description": "ListMeta describes metadata that synthetic resources must have, including lists and various status objects. A resource may have only one of {ObjectMeta, ListMeta}.", + "properties": { + "continue": { + "description": "continue may be set if the user set a limit on the number of items returned, and indicates that the server has more data available. The value is opaque and may be used to issue another request to the endpoint that served this list to retrieve the next set of available objects. Continuing a consistent list may not be possible if the server configuration has changed or more than a few minutes have passed. The resourceVersion field returned when using this continue value will be identical to the value in the first response, unless you have received this token from an error message.", + "type": "string" + }, + "remainingItemCount": { + "description": "remainingItemCount is the number of subsequent items in the list which are not included in this list response. If the list request contained label or field selectors, then the number of remaining items is unknown and the field will be left unset and omitted during serialization. If the list is complete (either because it is not chunking or because this is the last chunk), then there are no more remaining items and this field will be left unset and omitted during serialization. Servers older than v1.15 do not set this field. The intended use of the remainingItemCount is *estimating* the size of a collection. Clients should not rely on the remainingItemCount to be set or to be exact.", + "format": "int64", + "type": "integer" + }, + "resourceVersion": { + "description": "String that identifies the server's internal version of this object that can be used by clients to determine when objects have changed. Value must be treated as opaque by clients and passed unmodified back to the server. Populated by the system. Read-only.", + "type": "string" + }, + "selfLink": { + "description": "selfLink is a URL representing this object. Populated by the system. Read-only.\n\nDEPRECATED Kubernetes will stop propagating this field in 1.20 release and the field is planned to be removed in 1.21 release.", + "type": "string" + } + }, + "type": "object" + }, + "v1VmLocalObjectReference": { + "description": "LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace.", + "properties": { + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + } + }, + "type": "object" + }, + "v1VmLunTarget": { + "properties": { + "bus": { + "description": "Bus indicates the type of disk device to emulate. supported values: virtio, sata, scsi.", + "type": "string" + }, + "readonly": { + "description": "ReadOnly. Defaults to false.", + "type": "boolean" + } + }, + "type": "object" + }, + "v1VmMachine": { + "properties": { + "type": { + "description": "QEMU machine type is the actual chipset of the VirtualMachineInstance.", + "type": "string" + } + }, + "type": "object" + }, + "v1VmManagedFieldsEntry": { + "description": "ManagedFieldsEntry is a workflow-id, a FieldSet and the group version of the resource that the fieldset applies to.", + "properties": { + "apiVersion": { + "description": "APIVersion defines the version of this resource that this field set applies to. The format is \"group/version\" just like the top-level APIVersion field. It is necessary to track the version of a field set because it cannot be automatically converted.", + "type": "string" + }, + "fieldsType": { + "description": "FieldsType is the discriminator for the different fields format and version. There is currently only one possible value: \"FieldsV1\"", + "type": "string" + }, + "fieldsV1": { + "$ref": "#/definitions/v1VmFieldsV1" + }, + "manager": { + "description": "Manager is an identifier of the workflow managing these fields.", + "type": "string" + }, + "operation": { + "description": "Operation is the type of operation which lead to this ManagedFieldsEntry being created. The only valid values for this field are 'Apply' and 'Update'.", + "type": "string" + }, + "subresource": { + "description": "Subresource is the name of the subresource used to update that object, or empty string if the object was updated through the main resource. The value of this field is used to distinguish between managers, even if they share the same name. For example, a status update will be distinct from a regular update using the same manager name. Note that the APIVersion field is not related to the Subresource field and it always corresponds to the version of the main resource.", + "type": "string" + }, + "time": { + "$ref": "#/definitions/v1Time" + } + }, + "type": "object" + }, + "v1VmMemory": { + "description": "Memory allows specifying the VirtualMachineInstance memory features.", + "properties": { + "guest": { + "$ref": "#/definitions/v1VmQuantity" + }, + "hugepages": { + "$ref": "#/definitions/v1VmHugepages" + } + }, + "type": "object" + }, + "v1VmMemoryDumpVolumeSource": { + "properties": { + "claimName": { + "description": "ClaimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims", + "type": "string" + }, + "hotpluggable": { + "description": "Hotpluggable indicates whether the volume can be hotplugged and hotunplugged.", + "type": "boolean" + }, + "readOnly": { + "description": "Will force the ReadOnly setting in VolumeMounts. Default false.", + "type": "boolean" + } + }, + "required": [ + "claimName" + ], + "type": "object" + }, + "v1VmMultusNetwork": { + "description": "Represents the multus cni network.", + "properties": { + "default": { + "description": "Select the default network and add it to the multus-cni.io/default-network annotation.", + "type": "boolean" + }, + "networkName": { + "description": "References to a NetworkAttachmentDefinition CRD object. Format: \u003cnetworkName\u003e, \u003cnamespace\u003e/\u003cnetworkName\u003e. If namespace is not specified, VMI namespace is assumed.", + "type": "string" + } + }, + "required": [ + "networkName" + ], + "type": "object" + }, + "v1VmNUMA": { + "properties": { + "guestMappingPassthrough": { + "$ref": "#/definitions/v1VmNUMAGuestMappingPassthrough" + } + }, + "type": "object" + }, + "v1VmNUMAGuestMappingPassthrough": { + "description": "NUMAGuestMappingPassthrough instructs kubevirt to model numa topology which is compatible with the CPU pinning on the guest. This will result in a subset of the node numa topology being passed through, ensuring that virtual numa nodes and their memory never cross boundaries coming from the node numa mapping.", + "type": "object" + }, + "v1VmNetwork": { + "description": "Network represents a network type and a resource that should be connected to the vm.", + "properties": { + "multus": { + "$ref": "#/definitions/v1VmMultusNetwork" + }, + "name": { + "description": "Network name. Must be a DNS_LABEL and unique within the vm. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "pod": { + "$ref": "#/definitions/v1VmPodNetwork" + } + }, + "required": [ + "name" + ], + "type": "object" + }, + "v1VmNodeAffinity": { + "description": "Node affinity is a group of node affinity scheduling rules.", + "properties": { + "preferredDuringSchedulingIgnoredDuringExecution": { + "description": "The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding \"weight\" to the sum if the node matches the corresponding matchExpressions; the node(s) with the highest sum are the most preferred.", + "items": { + "$ref": "#/definitions/v1VmPreferredSchedulingTerm" + }, + "type": "array" + }, + "requiredDuringSchedulingIgnoredDuringExecution": { + "$ref": "#/definitions/v1VmNodeSelector" + } + }, + "type": "object" + }, + "v1VmNodeSelector": { + "description": "A node selector represents the union of the results of one or more label queries over a set of nodes; that is, it represents the OR of the selectors represented by the node selector terms.", + "properties": { + "nodeSelectorTerms": { + "description": "Required. A list of node selector terms. The terms are ORed.", + "items": { + "$ref": "#/definitions/v1VmNodeSelectorTerm" + }, + "type": "array" + } + }, + "required": [ + "nodeSelectorTerms" + ], + "type": "object" + }, + "v1VmNodeSelectorRequirement": { + "description": "A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.", + "properties": { + "key": { + "description": "The label key that the selector applies to.", + "type": "string" + }, + "operator": { + "description": "Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.", + "type": "string" + }, + "values": { + "description": "An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "key", + "operator" + ], + "type": "object" + }, + "v1VmNodeSelectorTerm": { + "description": "A null or empty node selector term matches no objects. The requirements of them are ANDed. The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.", + "properties": { + "matchExpressions": { + "description": "A list of node selector requirements by node's labels.", + "items": { + "$ref": "#/definitions/v1VmNodeSelectorRequirement" + }, + "type": "array" + }, + "matchFields": { + "description": "A list of node selector requirements by node's fields.", + "items": { + "$ref": "#/definitions/v1VmNodeSelectorRequirement" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1VmObjectFieldSelector": { + "description": "ObjectFieldSelector selects an APIVersioned field of an object.", + "properties": { + "apiVersion": { + "description": "Version of the schema the FieldPath is written in terms of, defaults to \"v1\".", + "type": "string" + }, + "fieldPath": { + "description": "Path of the field to select in the specified API version.", + "type": "string" + } + }, + "required": [ + "fieldPath" + ], + "type": "object" + }, + "v1VmObjectMeta": { + "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", + "properties": { + "annotations": { + "additionalProperties": { + "type": "string" + }, + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", + "type": "object" + }, + "clusterName": { + "description": "The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request.", + "type": "string" + }, + "creationTimestamp": { + "description": "CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.\n\nPopulated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", + "type": "string" + }, + "deletionGracePeriodSeconds": { + "description": "Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only.", + "format": "int64", + "type": "integer" + }, + "deletionTimestamp": { + "description": "DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.\n\nPopulated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", + "format": "date-time", + "type": "string", + "x-nullable": true + }, + "finalizers": { + "description": "Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. Finalizers may be processed and removed in any order. Order is NOT enforced because it introduces significant risk of stuck finalizers. finalizers is a shared field, any actor with permission can reorder it. If the finalizer list is processed in order, then this can lead to a situation in which the component responsible for the first finalizer in the list is waiting for a signal (field value, external system, or other) produced by a component responsible for a finalizer later in the list, resulting in a deadlock. Without enforced ordering finalizers are free to order amongst themselves and are not vulnerable to ordering changes in the list.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-patch-strategy": "merge" + }, + "generateName": { + "description": "GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server.\n\nIf this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header).\n\nApplied only if Name is not specified.", + "type": "string" + }, + "generation": { + "description": "A sequence number representing a specific generation of the desired state. Populated by the system. Read-only.", + "format": "int64", + "type": "integer" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", + "type": "object" + }, + "managedFields": { + "description": "ManagedFields maps workflow-id and version to the set of fields that are managed by that workflow. This is mostly for internal housekeeping, and users typically shouldn't need to set or understand this field. A workflow can be the user's name, a controller's name, or the name of a specific apply path like \"ci-cd\". The set of fields is always in the version that the workflow used when modifying the object.", + "items": { + "$ref": "#/definitions/v1VmManagedFieldsEntry" + }, + "type": "array" + }, + "name": { + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + }, + "namespace": { + "description": "Namespace defines the space within which each name must be unique. An empty namespace is equivalent to the \"default\" namespace, but \"default\" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty.\nMust be a DNS_LABEL. Cannot be updated.", + "type": "string" + }, + "ownerReferences": { + "description": "List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller.", + "items": { + "$ref": "#/definitions/v1VmOwnerReference" + }, + "type": "array", + "x-kubernetes-patch-merge-key": "uid", + "x-kubernetes-patch-strategy": "merge" + }, + "resourceVersion": { + "description": "An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources.\nPopulated by the system. Read-only. Value must be treated as opaque by clients.", + "type": "string" + }, + "selfLink": { + "description": "SelfLink is a URL representing this object. Populated by the system. Read-only.\nDEPRECATED Kubernetes will stop propagating this field in 1.20 release and the field is planned to be removed in 1.21 release.", + "type": "string" + }, + "uid": { + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\nPopulated by the system. Read-only.", + "type": "string" + } + }, + "type": "object" + }, + "v1VmOwnerReference": { + "description": "OwnerReference contains enough information to let you identify an owning object. An owning object must be in the same namespace as the dependent, or be cluster-scoped, so there is no namespace field.", + "properties": { + "apiVersion": { + "description": "API version of the referent.", + "type": "string" + }, + "blockOwnerDeletion": { + "description": "If true, AND if the owner has the \"foregroundDeletion\" finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs \"delete\" permission of the owner, otherwise 422 (Unprocessable Entity) will be returned.", + "type": "boolean" + }, + "controller": { + "description": "If true, this reference points to the managing controller.", + "type": "boolean" + }, + "kind": { + "description": "Kind of the referent.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + }, + "uid": { + "description": "UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", + "type": "string" + } + }, + "required": [ + "apiVersion", + "kind", + "name", + "uid" + ], + "type": "object" + }, + "v1VmPITTimer": { + "properties": { + "present": { + "description": "Enabled set to false makes sure that the machine type or a preset can't add the timer. Defaults to true.", + "type": "boolean" + }, + "tickPolicy": { + "description": "TickPolicy determines what happens when QEMU misses a deadline for injecting a tick to the guest. One of \"delay\", \"catchup\", \"discard\".", + "type": "string" + } + }, + "type": "object" + }, + "v1VmPersistentVolumeClaimSpec": { + "description": "PersistentVolumeClaimSpec describes the common attributes of storage devices and allows a Source for provider-specific attributes", + "properties": { + "accessModes": { + "description": "AccessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1", + "items": { + "type": "string" + }, + "type": "array" + }, + "dataSource": { + "$ref": "#/definitions/v1VmTypedLocalObjectReference" + }, + "dataSourceRef": { + "$ref": "#/definitions/v1VmTypedLocalObjectReference" + }, + "resources": { + "$ref": "#/definitions/v1VmCoreResourceRequirements" + }, + "selector": { + "$ref": "#/definitions/v1VmLabelSelector" + }, + "storageClassName": { + "description": "Name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1", + "type": "string" + }, + "volumeMode": { + "description": "volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec.", + "type": "string" + }, + "volumeName": { + "description": "VolumeName is the binding reference to the PersistentVolume backing this claim.", + "type": "string" + } + }, + "type": "object" + }, + "v1VmPersistentVolumeClaimVolumeSource": { + "description": "PersistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace. Directly attached to the vmi via qemu. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims", + "properties": { + "claimName": { + "description": "ClaimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims", + "type": "string" + }, + "hotpluggable": { + "description": "Hotpluggable indicates whether the volume can be hotplugged and hotunplugged.", + "type": "boolean" + }, + "readOnly": { + "description": "Will force the ReadOnly setting in VolumeMounts. Default false.", + "type": "boolean" + } + }, + "required": [ + "claimName" + ], + "type": "object" + }, + "v1VmPodAffinity": { + "description": "Pod affinity is a group of inter pod affinity scheduling rules.", + "properties": { + "preferredDuringSchedulingIgnoredDuringExecution": { + "description": "The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding \"weight\" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred.", + "items": { + "$ref": "#/definitions/v1VmWeightedPodAffinityTerm" + }, + "type": "array" + }, + "requiredDuringSchedulingIgnoredDuringExecution": { + "description": "If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.", + "items": { + "$ref": "#/definitions/v1VmPodAffinityTerm" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1VmPodAffinityTerm": { + "description": "Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key \u003ctopologyKey\u003e matches that of any node on which a pod of the set of pods is running", + "properties": { + "labelSelector": { + "$ref": "#/definitions/v1VmLabelSelector" + }, + "namespaceSelector": { + "$ref": "#/definitions/v1VmLabelSelector" + }, + "namespaces": { + "description": "namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means \"this pod's namespace\"", + "items": { + "type": "string" + }, + "type": "array" + }, + "topologyKey": { + "description": "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.", + "type": "string" + } + }, + "required": [ + "topologyKey" + ], + "type": "object" + }, + "v1VmPodDnsConfig": { + "description": "PodDNSConfig defines the DNS parameters of a pod in addition to those generated from DNSPolicy.", + "properties": { + "nameservers": { + "description": "A list of DNS name server IP addresses. This will be appended to the base nameservers generated from DNSPolicy. Duplicated nameservers will be removed.", + "items": { + "type": "string" + }, + "type": "array" + }, + "options": { + "description": "A list of DNS resolver options. This will be merged with the base options generated from DNSPolicy. Duplicated entries will be removed. Resolution options given in Options will override those that appear in the base DNSPolicy.", + "items": { + "$ref": "#/definitions/v1VmPodDnsConfigOption" + }, + "type": "array" + }, + "searches": { + "description": "A list of DNS search domains for host-name lookup. This will be appended to the base search paths generated from DNSPolicy. Duplicated search paths will be removed.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1VmPodDnsConfigOption": { + "description": "PodDNSConfigOption defines DNS resolver options of a pod.", + "properties": { + "name": { + "description": "Required.", + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object" + }, + "v1VmPodNetwork": { + "description": "Represents the stock pod network interface.", + "properties": { + "vmIPv6NetworkCIDR": { + "description": "IPv6 CIDR for the vm network. Defaults to fd10:0:2::/120 if not specified.", + "type": "string" + }, + "vmNetworkCIDR": { + "description": "CIDR for vm network. Default 10.0.2.0/24 if not specified.", + "type": "string" + } + }, + "type": "object" + }, + "v1VmPort": { + "description": "Port represents a port to expose from the virtual machine. Default protocol TCP. The port field is mandatory", + "properties": { + "name": { + "description": "If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services.", + "type": "string" + }, + "port": { + "description": "Number of port to expose for the virtual machine. This must be a valid port number, 0 \u003c x \u003c 65536.", + "format": "int32", + "type": "integer" + }, + "protocol": { + "description": "Protocol for port. Must be UDP or TCP. Defaults to \"TCP\".", + "type": "string" + } + }, + "required": [ + "port" + ], + "type": "object" + }, + "v1VmPreferenceMatcher": { + "description": "PreferenceMatcher references a set of preference that is used to fill fields in the VMI template.", + "properties": { + "inferFromVolume": { + "description": "InferFromVolume lists the name of a volume that should be used to infer or discover the preference to be used through known annotations on the underlying resource. Once applied to the PreferenceMatcher this field is removed.", + "type": "string" + }, + "kind": { + "description": "Kind specifies which preference resource is referenced. Allowed values are: \"VirtualMachinePreference\" and \"VirtualMachineClusterPreference\". If not specified, \"VirtualMachineClusterPreference\" is used by default.", + "type": "string" + }, + "name": { + "description": "Name is the name of the VirtualMachinePreference or VirtualMachineClusterPreference", + "type": "string" + }, + "revisionName": { + "description": "RevisionName specifies a ControllerRevision containing a specific copy of the VirtualMachinePreference or VirtualMachineClusterPreference to be used. This is initially captured the first time the instancetype is applied to the VirtualMachineInstance.", + "type": "string" + } + }, + "type": "object" + }, + "v1VmPreferredSchedulingTerm": { + "description": "An empty preferred scheduling term matches all objects with implicit weight 0 (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).", + "properties": { + "preference": { + "$ref": "#/definitions/v1VmNodeSelectorTerm" + }, + "weight": { + "description": "Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.", + "format": "int32", + "type": "integer" + } + }, + "required": [ + "weight", + "preference" + ], + "type": "object" + }, + "v1VmProbe": { + "description": "Probe describes a health check to be performed against a VirtualMachineInstance to determine whether it is alive or ready to receive traffic.", + "properties": { + "exec": { + "$ref": "#/definitions/v1VmExecAction" + }, + "failureThreshold": { + "description": "Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.", + "format": "int32", + "type": "integer" + }, + "guestAgentPing": { + "$ref": "#/definitions/v1VmGuestAgentPing" + }, + "httpGet": { + "$ref": "#/definitions/v1VmHttpGetAction" + }, + "initialDelaySeconds": { + "description": "Number of seconds after the VirtualMachineInstance has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes", + "format": "int32", + "type": "integer" + }, + "periodSeconds": { + "description": "How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.", + "format": "int32", + "type": "integer" + }, + "successThreshold": { + "description": "Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1.", + "format": "int32", + "type": "integer" + }, + "tcpSocket": { + "$ref": "#/definitions/v1VmTcpSocketAction" + }, + "timeoutSeconds": { + "description": "Number of seconds after which the probe times out. For exec probes the timeout fails the probe but does not terminate the command running on the guest. This means a blocking command can result in an increasing load on the guest. A small buffer will be added to the resulting workload exec probe to compensate for delays caused by the qemu guest exec mechanism. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "v1VmQemuGuestAgentSshPublicKeyAccessCredentialPropagation": { + "properties": { + "users": { + "description": "Users represents a list of guest users that should have the ssh public keys added to their authorized_keys file.", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + } + }, + "required": [ + "users" + ], + "type": "object" + }, + "v1VmQemuGuestAgentUserPasswordAccessCredentialPropagation": { + "type": "object" + }, + "v1VmQuantity": { + "description": "Quantity is a fixed-point representation of a number. It provides convenient marshaling/unmarshaling in JSON and YAML, in addition to String() and AsInt64() accessors.\n\nThe serialization format is:\n\n\u003cquantity\u003e ::= \u003csignedNumber\u003e\u003csuffix\u003e\n (Note that \u003csuffix\u003e may be empty, from the \"\" case in \u003cdecimalSI\u003e.)\n\u003cdigit\u003e ::= 0 | 1 | ... | 9 \u003cdigits\u003e ::= \u003cdigit\u003e | \u003cdigit\u003e\u003cdigits\u003e \u003cnumber\u003e ::= \u003cdigits\u003e | \u003cdigits\u003e.\u003cdigits\u003e | \u003cdigits\u003e. | .\u003cdigits\u003e \u003csign\u003e ::= \"+\" | \"-\" \u003csignedNumber\u003e ::= \u003cnumber\u003e | \u003csign\u003e\u003cnumber\u003e \u003csuffix\u003e ::= \u003cbinarySI\u003e | \u003cdecimalExponent\u003e | \u003cdecimalSI\u003e \u003cbinarySI\u003e ::= Ki | Mi | Gi | Ti | Pi | Ei\n (International System of units; See: http://physics.nist.gov/cuu/Units/binary.html)\n\u003cdecimalSI\u003e ::= m | \"\" | k | M | G | T | P | E\n (Note that 1024 = 1Ki but 1000 = 1k; I didn't choose the capitalization.)\n\u003cdecimalExponent\u003e ::= \"e\" \u003csignedNumber\u003e | \"E\" \u003csignedNumber\u003e\n\nNo matter which of the three exponent forms is used, no quantity may represent a number greater than 2^63-1 in magnitude, nor may it have more than 3 decimal places. Numbers larger or more precise will be capped or rounded up. (E.g.: 0.1m will rounded up to 1m.) This may be extended in the future if we require larger or smaller quantities.\n\nWhen a Quantity is parsed from a string, it will remember the type of suffix it had, and will use the same type again when it is serialized.\n\nBefore serializing, Quantity will be put in \"canonical form\". This means that Exponent/suffix will be adjusted up or down (with a corresponding increase or decrease in Mantissa) such that:\n a. No precision is lost\n b. No fractional digits will be emitted\n c. The exponent (or suffix) is as large as possible.\nThe sign will be omitted unless the number is negative.\n\nExamples:\n 1.5 will be serialized as \"1500m\"\n 1.5Gi will be serialized as \"1536Mi\"\n\nNote that the quantity will NEVER be internally represented by a floating point number. That is the whole point of this exercise.\n\nNon-canonical values will still parse as long as they are well formed, but will be re-emitted in their canonical form. (So always use canonical form, or don't diff.)\n\nThis format is intended to make it difficult to use these numbers without writing some sort of special handling code in the hopes that that will cause implementors to also use a fixed point implementation.", + "type": "string" + }, + "v1VmRTCTimer": { + "properties": { + "present": { + "description": "Enabled set to false makes sure that the machine type or a preset can't add the timer. Defaults to true.", + "type": "boolean" + }, + "tickPolicy": { + "description": "TickPolicy determines what happens when QEMU misses a deadline for injecting a tick to the guest. One of \"delay\", \"catchup\".", + "type": "string" + }, + "track": { + "description": "Track the guest or the wall clock.", + "type": "string" + } + }, + "type": "object" + }, + "v1VmRealtime": { + "description": "Realtime holds the tuning knobs specific for realtime workloads.", + "properties": { + "mask": { + "description": "Mask defines the vcpu mask expression that defines which vcpus are used for realtime. Format matches libvirt's expressions. Example: \"0-3,^1\",\"0,2,3\",\"2-3\"", + "type": "string" + } + }, + "type": "object" + }, + "v1VmRemoveVolumeOptions": { + "description": "RemoveVolumeOptions is provided when dynamically hot unplugging volume and disk", + "properties": { + "dryRun": { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "atomic" + }, + "name": { + "description": "Name represents the name that maps to both the disk and volume that should be removed", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + }, + "v1VmResourceFieldSelector": { + "description": "ResourceFieldSelector represents container resources (cpu, memory) and their output format", + "properties": { + "containerName": { + "description": "Container name: required for volumes, optional for env vars", + "type": "string" + }, + "divisor": { + "$ref": "#/definitions/v1VmQuantity" + }, + "resource": { + "description": "Required: resource to select", + "type": "string" + } + }, + "required": [ + "resource" + ], + "type": "object" + }, + "v1VmResourceRequirements": { + "properties": { + "limits": { + "description": "Limits describes the maximum amount of compute resources allowed. Valid resource keys are \"memory\" and \"cpu\".", + "type": "object" + }, + "overcommitGuestOverhead": { + "description": "Don't ask the scheduler to take the guest-management overhead into account. Instead put the overhead only into the container's memory limit. This can lead to crashes if all memory is in use on a node. Defaults to false.", + "type": "boolean" + }, + "requests": { + "description": "Requests is a description of the initial vmi resources. Valid resource keys are \"memory\" and \"cpu\".", + "type": "object" + } + }, + "type": "object" + }, + "v1VmRng": { + "description": "Rng represents the random device passed from host", + "type": "object" + }, + "v1VmSEV": { + "type": "object" + }, + "v1VmSecretVolumeSource": { + "description": "SecretVolumeSource adapts a Secret into a volume.", + "properties": { + "optional": { + "description": "Specify whether the Secret or it's keys must be defined", + "type": "boolean" + }, + "secretName": { + "description": "Name of the secret in the pod's namespace to use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret", + "type": "string" + }, + "volumeLabel": { + "description": "The volume label of the resulting disk inside the VMI. Different bootstrapping mechanisms require different values. Typical values are \"cidata\" (cloud-init), \"config-2\" (cloud-init) or \"OEMDRV\" (kickstart).", + "type": "string" + } + }, + "type": "object" + }, + "v1VmServiceAccountVolumeSource": { + "description": "ServiceAccountVolumeSource adapts a ServiceAccount into a volume.", + "properties": { + "serviceAccountName": { + "description": "Name of the service account in the pod's namespace to use. More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/", + "type": "string" + } + }, + "type": "object" + }, + "v1VmSnapshotVolumesLists": { + "description": "SnapshotVolumesLists includes the list of volumes which were included in the snapshot and volumes which were excluded from the snapshot", + "properties": { + "excludedVolumes": { + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + }, + "includedVolumes": { + "items": { + "type": "string" + }, + "type": "array", + "x-kubernetes-list-type": "set" + } + }, + "type": "object" + }, + "v1VmSoundDevice": { + "description": "Represents the user's configuration to emulate sound cards in the VMI.", + "properties": { + "model": { + "description": "We only support ich9 or ac97. If SoundDevice is not set: No sound card is emulated. If SoundDevice is set but Model is not: ich9", + "type": "string" + }, + "name": { + "description": "User's defined name for this sound device", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + }, + "v1VmSshPublicKeyAccessCredential": { + "description": "SSHPublicKeyAccessCredential represents a source and propagation method for injecting ssh public keys into a vm guest", + "properties": { + "propagationMethod": { + "$ref": "#/definitions/v1VmSshPublicKeyAccessCredentialPropagationMethod" + }, + "source": { + "$ref": "#/definitions/v1VmSshPublicKeyAccessCredentialSource" + } + }, + "required": [ + "source", + "propagationMethod" + ], + "type": "object" + }, + "v1VmSshPublicKeyAccessCredentialPropagationMethod": { + "description": "SSHPublicKeyAccessCredentialPropagationMethod represents the method used to inject a ssh public key into the vm guest. Only one of its members may be specified.", + "properties": { + "configDrive": { + "$ref": "#/definitions/v1VmConfigDriveSshPublicKeyAccessCredentialPropagation" + }, + "qemuGuestAgent": { + "$ref": "#/definitions/v1VmQemuGuestAgentSshPublicKeyAccessCredentialPropagation" + } + }, + "type": "object" + }, + "v1VmSshPublicKeyAccessCredentialSource": { + "description": "SSHPublicKeyAccessCredentialSource represents where to retrieve the ssh key credentials Only one of its members may be specified.", + "properties": { + "secret": { + "$ref": "#/definitions/v1VmAccessCredentialSecretSource" + } + }, + "type": "object" + }, + "v1VmStorageSpec": { + "description": "StorageSpec defines the Storage type specification", + "properties": { + "accessModes": { + "description": "AccessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1", + "items": { + "type": "string" + }, + "type": "array" + }, + "dataSource": { + "$ref": "#/definitions/v1VmTypedLocalObjectReference" + }, + "resources": { + "$ref": "#/definitions/v1VmCoreResourceRequirements" + }, + "selector": { + "$ref": "#/definitions/v1VmLabelSelector" + }, + "storageClassName": { + "description": "Name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1", + "type": "string" + }, + "volumeMode": { + "description": "volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec.", + "type": "string" + }, + "volumeName": { + "description": "VolumeName is the binding reference to the PersistentVolume backing this claim.", + "type": "string" + } + }, + "type": "object" + }, + "v1VmSyNICTimer": { + "properties": { + "direct": { + "$ref": "#/definitions/v1VmFeatureState" + }, + "enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "v1VmSysprepSource": { + "description": "Represents a Sysprep volume source.", + "properties": { + "configMap": { + "$ref": "#/definitions/v1VmLocalObjectReference" + }, + "secret": { + "$ref": "#/definitions/v1VmLocalObjectReference" + } + }, + "type": "object" + }, + "v1VmTPMDevice": { + "type": "object" + }, + "v1VmTcpSocketAction": { + "description": "TCPSocketAction describes an action based on opening a socket", + "properties": { + "host": { + "description": "Optional: Host name to connect to, defaults to the pod IP.", + "type": "string" + }, + "port": { + "description": "Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.", + "type": [ + "string", + "number" + ] + } + }, + "required": [ + "port" + ], + "type": "object" + }, + "v1VmTimer": { + "description": "Represents all available timers in a vmi.", + "properties": { + "hpet": { + "$ref": "#/definitions/v1VmHPETTimer" + }, + "hyperv": { + "$ref": "#/definitions/v1VmHypervTimer" + }, + "kvm": { + "$ref": "#/definitions/v1VmKVmTimer" + }, + "pit": { + "$ref": "#/definitions/v1VmPITTimer" + }, + "rtc": { + "$ref": "#/definitions/v1VmRTCTimer" + } + }, + "type": "object" + }, + "v1VmToleration": { + "description": "The pod this Toleration is attached to tolerates any taint that matches the triple \u003ckey,value,effect\u003e using the matching operator \u003coperator\u003e.", + "properties": { + "effect": { + "description": "Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.", + "type": "string" + }, + "key": { + "description": "Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.", + "type": "string" + }, + "operator": { + "description": "Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.", + "type": "string" + }, + "tolerationSeconds": { + "description": "TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.", + "format": "int64", + "type": "integer" + }, + "value": { + "description": "Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.", + "type": "string" + } + }, + "type": "object" + }, + "v1VmTopologySpreadConstraint": { + "description": "TopologySpreadConstraint specifies how to spread matching pods among the given topology.", + "properties": { + "labelSelector": { + "$ref": "#/definitions/v1VmLabelSelector" + }, + "maxSkew": { + "description": "MaxSkew describes the degree to which pods may be unevenly distributed. When `whenUnsatisfiable=DoNotSchedule`, it is the maximum permitted difference between the number of matching pods in the target topology and the global minimum. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same labelSelector spread as 1/1/0: | zone1 | zone2 | zone3 | | P | P | | - if MaxSkew is 1, incoming pod can only be scheduled to zone3 to become 1/1/1; scheduling it onto zone1(zone2) would make the ActualSkew(2-0) on zone1(zone2) violate MaxSkew(1). - if MaxSkew is 2, incoming pod can be scheduled onto any zone. When `whenUnsatisfiable=ScheduleAnyway`, it is used to give higher precedence to topologies that satisfy it. It's a required field. Default value is 1 and 0 is not allowed.", + "format": "int32", + "type": "integer" + }, + "topologyKey": { + "description": "TopologyKey is the key of node labels. Nodes that have a label with this key and identical values are considered to be in the same topology. We consider each \u003ckey, value\u003e as a \"bucket\", and try to put balanced number of pods into each bucket. It's a required field.", + "type": "string" + }, + "whenUnsatisfiable": { + "description": "WhenUnsatisfiable indicates how to deal with a pod if it doesn't satisfy the spread constraint. - DoNotSchedule (default) tells the scheduler not to schedule it. - ScheduleAnyway tells the scheduler to schedule the pod in any location,\n but giving higher precedence to topologies that would help reduce the\n skew.\nA constraint is considered \"Unsatisfiable\" for an incoming pod if and only if every possible node assignment for that pod would violate \"MaxSkew\" on some topology. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same labelSelector spread as 3/1/1: | zone1 | zone2 | zone3 | | P P P | P | P | If WhenUnsatisfiable is set to DoNotSchedule, incoming pod can only be scheduled to zone2(zone3) to become 3/2/1(3/1/2) as ActualSkew(2-1) on zone2(zone3) satisfies MaxSkew(1). In other words, the cluster can still be imbalanced, but scheduler won't make it *more* imbalanced. It's a required field.", + "type": "string" + } + }, + "required": [ + "maxSkew", + "topologyKey", + "whenUnsatisfiable" + ], + "type": "object" + }, + "v1VmTypedLocalObjectReference": { + "description": "TypedLocalObjectReference contains enough information to let you locate the typed referenced object inside the same namespace.", + "properties": { + "apiGroup": { + "description": "APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required.", + "type": "string" + }, + "kind": { + "description": "Kind is the type of resource being referenced", + "type": "string" + }, + "name": { + "description": "Name is the name of resource being referenced", + "type": "string" + } + }, + "required": [ + "kind", + "name" + ], + "type": "object" + }, + "v1VmUserPasswordAccessCredential": { + "description": "UserPasswordAccessCredential represents a source and propagation method for injecting user passwords into a vm guest Only one of its members may be specified.", + "properties": { + "propagationMethod": { + "$ref": "#/definitions/v1VmUserPasswordAccessCredentialPropagationMethod" + }, + "source": { + "$ref": "#/definitions/v1VmUserPasswordAccessCredentialSource" + } + }, + "required": [ + "source", + "propagationMethod" + ], + "type": "object" + }, + "v1VmUserPasswordAccessCredentialPropagationMethod": { + "description": "UserPasswordAccessCredentialPropagationMethod represents the method used to inject a user passwords into the vm guest. Only one of its members may be specified.", + "properties": { + "qemuGuestAgent": { + "$ref": "#/definitions/v1VmQemuGuestAgentUserPasswordAccessCredentialPropagation" + } + }, + "type": "object" + }, + "v1VmUserPasswordAccessCredentialSource": { + "description": "UserPasswordAccessCredentialSource represents where to retrieve the user password credentials Only one of its members may be specified.", + "properties": { + "secret": { + "$ref": "#/definitions/v1VmAccessCredentialSecretSource" + } + }, + "type": "object" + }, + "v1VmVGPUDisplayOptions": { + "properties": { + "enabled": { + "description": "Enabled determines if a display addapter backed by a vGPU should be enabled or disabled on the guest. Defaults to true.", + "type": "boolean" + }, + "ramFB": { + "$ref": "#/definitions/v1VmFeatureState" + } + }, + "type": "object" + }, + "v1VmVGPUOptions": { + "properties": { + "display": { + "$ref": "#/definitions/v1VmVGPUDisplayOptions" + } + }, + "type": "object" + }, + "v1VmVirtualMachineCondition": { + "description": "VirtualMachineCondition represents the state of VirtualMachine", + "properties": { + "lastProbeTime": { + "type": "string" + }, + "lastTransitionTime": { + "type": "string" + }, + "message": { + "type": "string" + }, + "reason": { + "type": "string" + }, + "status": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "type", + "status" + ], + "type": "object" + }, + "v1VmVirtualMachineInstanceSpec": { + "description": "VirtualMachineInstanceSpec is a description of a VirtualMachineInstance.", + "properties": { + "accessCredentials": { + "description": "Specifies a set of public keys to inject into the vm guest", + "items": { + "$ref": "#/definitions/v1VmAccessCredential" + }, + "type": "array", + "x-kubernetes-list-type": "atomic" + }, + "affinity": { + "$ref": "#/definitions/v1VmAffinity" + }, + "dnsConfig": { + "$ref": "#/definitions/v1VmPodDnsConfig" + }, + "dnsPolicy": { + "description": "Set DNS policy for the pod. Defaults to \"ClusterFirst\". Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' or 'None'. DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy. To have DNS options set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'.", + "type": "string" + }, + "domain": { + "$ref": "#/definitions/v1VmDomainSpec" + }, + "evictionStrategy": { + "description": "EvictionStrategy can be set to \"LiveMigrate\" if the VirtualMachineInstance should be migrated instead of shut-off in case of a node drain.", + "type": "string" + }, + "hostname": { + "description": "Specifies the hostname of the vmi If not specified, the hostname will be set to the name of the vmi, if dhcp or cloud-init is configured properly.", + "type": "string" + }, + "livenessProbe": { + "$ref": "#/definitions/v1VmProbe" + }, + "networks": { + "description": "List of networks that can be attached to a vm's virtual interface.", + "items": { + "$ref": "#/definitions/v1VmNetwork" + }, + "type": "array" + }, + "nodeSelector": { + "additionalProperties": { + "type": "string" + }, + "description": "NodeSelector is a selector which must be true for the vmi to fit on a node. Selector which must match a node's labels for the vmi to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/", + "type": "object" + }, + "priorityClassName": { + "description": "If specified, indicates the pod's priority. If not specified, the pod priority will be default or zero if there is no default.", + "type": "string" + }, + "readinessProbe": { + "$ref": "#/definitions/v1VmProbe" + }, + "schedulerName": { + "description": "If specified, the VMI will be dispatched by specified scheduler. If not specified, the VMI will be dispatched by default scheduler.", + "type": "string" + }, + "startStrategy": { + "description": "StartStrategy can be set to \"Paused\" if Virtual Machine should be started in paused state.", + "type": "string" + }, + "subdomain": { + "description": "If specified, the fully qualified vmi hostname will be \"\u003chostname\u003e.\u003csubdomain\u003e.\u003cpod namespace\u003e.svc.\u003ccluster domain\u003e\". If not specified, the vmi will not have a domainname at all. The DNS entry will resolve to the vmi, no matter if the vmi itself can pick up a hostname.", + "type": "string" + }, + "terminationGracePeriodSeconds": { + "description": "Grace period observed after signalling a VirtualMachineInstance to stop after which the VirtualMachineInstance is force terminated.", + "format": "int64", + "type": "integer" + }, + "tolerations": { + "description": "If toleration is specified, obey all the toleration rules.", + "items": { + "$ref": "#/definitions/v1VmToleration" + }, + "type": "array" + }, + "topologySpreadConstraints": { + "description": "TopologySpreadConstraints describes how a group of VMIs will be spread across a given topology domains. K8s scheduler will schedule VMI pods in a way which abides by the constraints.", + "items": { + "$ref": "#/definitions/v1VmTopologySpreadConstraint" + }, + "type": "array", + "x-kubernetes-list-map-keys": [ + "topologyKey", + "whenUnsatisfiable" + ], + "x-kubernetes-list-type": "map", + "x-kubernetes-patch-merge-key": "topologyKey", + "x-kubernetes-patch-strategy": "merge" + }, + "volumes": { + "description": "List of volumes that can be mounted by disks belonging to the vmi.", + "items": { + "$ref": "#/definitions/v1VmVolume" + }, + "type": "array" + } + }, + "required": [ + "domain" + ], + "type": "object" + }, + "v1VmVirtualMachineInstanceTemplateSpec": { + "properties": { + "metadata": { + "$ref": "#/definitions/v1VmObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1VmVirtualMachineInstanceSpec" + } + }, + "type": "object" + }, + "v1VmVirtualMachineMemoryDumpRequest": { + "description": "VirtualMachineMemoryDumpRequest represent the memory dump request phase and info", + "properties": { + "claimName": { + "description": "ClaimName is the name of the pvc that will contain the memory dump", + "type": "string" + }, + "endTimestamp": { + "$ref": "#/definitions/v1Time" + }, + "fileName": { + "description": "FileName represents the name of the output file", + "type": "string" + }, + "message": { + "description": "Message is a detailed message about failure of the memory dump", + "type": "string" + }, + "phase": { + "description": "Phase represents the memory dump phase", + "type": "string" + }, + "remove": { + "description": "Remove represents request of dissociating the memory dump pvc", + "type": "boolean" + }, + "startTimestamp": { + "$ref": "#/definitions/v1Time" + } + }, + "required": [ + "claimName", + "phase" + ], + "type": "object" + }, + "v1VmVirtualMachineStartFailure": { + "description": "VirtualMachineStartFailure tracks VMIs which failed to transition successfully to running using the VM status", + "properties": { + "consecutiveFailCount": { + "format": "int32", + "type": "integer" + }, + "lastFailedVMIUID": { + "type": "string" + }, + "retryAfterTimestamp": { + "$ref": "#/definitions/v1Time" + } + }, + "type": "object" + }, + "v1VmVirtualMachineStateChangeRequest": { + "properties": { + "action": { + "description": "Indicates the type of action that is requested. e.g. Start or Stop", + "type": "string" + }, + "data": { + "additionalProperties": { + "type": "string" + }, + "description": "Provides additional data in order to perform the Action", + "type": "object" + }, + "uid": { + "description": "Indicates the UUID of an existing Virtual Machine Instance that this change request applies to -- if applicable", + "type": "string" + } + }, + "required": [ + "action" + ], + "type": "object" + }, + "v1VmVirtualMachineVolumeRequest": { + "properties": { + "addVolumeOptions": { + "$ref": "#/definitions/v1VmAddVolumeOptions" + }, + "removeVolumeOptions": { + "$ref": "#/definitions/v1VmRemoveVolumeOptions" + } + }, + "type": "object" + }, + "v1VmVolume": { + "description": "Volume represents a named volume in a vmi.", + "properties": { + "cloudInitConfigDrive": { + "$ref": "#/definitions/v1VmCloudInitConfigDriveSource" + }, + "cloudInitNoCloud": { + "$ref": "#/definitions/v1VmCloudInitNoCloudSource" + }, + "configMap": { + "$ref": "#/definitions/v1VmConfigMapVolumeSource" + }, + "containerDisk": { + "$ref": "#/definitions/v1VmContainerDiskSource" + }, + "dataVolume": { + "$ref": "#/definitions/v1VmCoreDataVolumeSource" + }, + "downwardAPI": { + "$ref": "#/definitions/v1VmDownwardApiVolumeSource" + }, + "downwardMetrics": { + "$ref": "#/definitions/v1VmDownwardMetricsVolumeSource" + }, + "emptyDisk": { + "$ref": "#/definitions/v1VmEmptyDiskSource" + }, + "ephemeral": { + "$ref": "#/definitions/v1VmEphemeralVolumeSource" + }, + "hostDisk": { + "$ref": "#/definitions/v1VmHostDisk" + }, + "memoryDump": { + "$ref": "#/definitions/v1VmMemoryDumpVolumeSource" + }, + "name": { + "description": "Volume's name. Must be a DNS_LABEL and unique within the vmi. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "persistentVolumeClaim": { + "$ref": "#/definitions/v1VmPersistentVolumeClaimVolumeSource" + }, + "secret": { + "$ref": "#/definitions/v1VmSecretVolumeSource" + }, + "serviceAccount": { + "$ref": "#/definitions/v1VmServiceAccountVolumeSource" + }, + "sysprep": { + "$ref": "#/definitions/v1VmSysprepSource" + } + }, + "required": [ + "name" + ], + "type": "object" + }, + "v1VmVolumeSnapshotStatus": { + "properties": { + "enabled": { + "description": "True if the volume supports snapshotting", + "type": "boolean" + }, + "name": { + "description": "Volume name", + "type": "string" + }, + "reason": { + "description": "Empty if snapshotting is enabled, contains reason otherwise", + "type": "string" + } + }, + "required": [ + "name", + "enabled" + ], + "type": "object" + }, + "v1VmWatchdog": { + "description": "Named watchdog device.", + "properties": { + "i6300esb": { + "$ref": "#/definitions/v1VmI6300ESBWatchdog" + }, + "name": { + "description": "Name of the watchdog.", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + }, + "v1VmWeightedPodAffinityTerm": { + "description": "The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)", + "properties": { + "podAffinityTerm": { + "$ref": "#/definitions/v1VmPodAffinityTerm" + }, + "weight": { + "description": "weight associated with matching the corresponding podAffinityTerm, in the range 1-100.", + "format": "int32", + "type": "integer" + } + }, + "required": [ + "weight", + "podAffinityTerm" + ], + "type": "object" + }, + "v1VsphereAccount": { + "description": "VSphere account information", + "properties": { + "apiVersion": { + "description": "Cloud account api version", + "type": "string" + }, + "kind": { + "description": "Cloud account kind", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1VsphereCloudAccount" + }, + "status": { + "$ref": "#/definitions/v1CloudAccountStatus" + } + }, + "type": "object" + }, + "v1VsphereAccounts": { + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1VsphereAccount" + }, + "type": "array", + "uniqueItems": true + }, + "listmeta": { + "$ref": "#/definitions/v1ListMetaData" + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1VsphereCloudAccount": { + "properties": { + "insecure": { + "description": "Insecure is a flag that controls whether or not to validate the vSphere server's certificate.", + "type": "boolean", + "x-omitempty": false + }, + "password": { + "type": "string" + }, + "username": { + "type": "string" + }, + "vcenterServer": { + "description": "VcenterServer is the address of the vSphere endpoint", + "type": "string" + } + }, + "required": [ + "vcenterServer", + "username", + "password" + ], + "type": "object" + }, + "v1VsphereCloudClusterConfigEntity": { + "description": "vSphere cloud cluster config entity", + "properties": { + "clusterConfig": { + "$ref": "#/definitions/v1VsphereClusterConfigEntity" + } + }, + "type": "object" + }, + "v1VsphereCloudConfig": { + "description": "VsphereCloudConfig is the Schema for the vspherecloudconfigs API", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1VsphereCloudConfigSpec" + }, + "status": { + "$ref": "#/definitions/v1VsphereCloudConfigStatus" + } + }, + "type": "object" + }, + "v1VsphereCloudConfigSpec": { + "description": "VsphereCloudConfigSpec defines the desired state of VsphereCloudConfig", + "properties": { + "cloudAccountRef": { + "$ref": "#/definitions/v1ObjectReference", + "description": "cloudAccountRef should point to the secret which contains VsphereCloudAccount" + }, + "clusterConfig": { + "$ref": "#/definitions/v1VsphereClusterConfig" + }, + "edgeHostRef": { + "$ref": "#/definitions/v1ObjectReference", + "description": "Appliance (Edge Host) uid for Edge env" + }, + "machinePoolConfig": { + "items": { + "$ref": "#/definitions/v1VsphereMachinePoolConfig" + }, + "type": "array" + } + }, + "required": [ + "clusterConfig", + "machinePoolConfig" + ], + "type": "object" + }, + "v1VsphereCloudConfigStatus": { + "description": "VsphereCloudConfigStatus defines the observed state of VsphereCloudConfig", + "properties": { + "ansibleDigest": { + "type": "string" + }, + "conditions": { + "items": { + "$ref": "#/definitions/v1ClusterCondition" + }, + "type": "array" + }, + "isAddonLayer": { + "description": "addon layers present in spc", + "type": "boolean" + }, + "lastOVACreated": { + "type": "string" + }, + "lastVMExported": { + "type": "string" + }, + "nodeImage": { + "$ref": "#/definitions/v1VsphereImage" + }, + "roleDigest": { + "additionalProperties": { + "type": "string" + }, + "description": "this map will be for ansible roles present in eack pack", + "type": "object" + }, + "sourceImageId": { + "description": "sourceImageId, it can be from packref's annotations or from pack.json", + "type": "string" + }, + "uploadOvaS3": { + "description": "UploadOVAS3 will hold last image name which uploaded to S3", + "type": "string" + }, + "useCapiImage": { + "description": "If no ansible roles found in Packs then Mold should tell Drive to use capi image and not create custom image, because there is nothing to add", + "type": "boolean" + } + }, + "type": "object" + }, + "v1VsphereCloudDatacenter": { + "description": "Vsphere datacenter", + "properties": { + "computeClusters": { + "items": { + "$ref": "#/definitions/v1VsphereComputeCluster" + }, + "type": "array" + }, + "folders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "name": { + "type": "string" + } + }, + "type": "object" + }, + "v1VsphereClusterConfig": { + "properties": { + "controlPlaneEndpoint": { + "$ref": "#/definitions/v1ControlPlaneEndPoint", + "description": "The optional control plane endpoint, which can be an IP or FQDN" + }, + "ntpServers": { + "description": "NTPServers is a list of NTP servers to use instead of the machine image's default NTP server list.", + "items": { + "type": "string" + }, + "type": "array" + }, + "placement": { + "$ref": "#/definitions/v1VspherePlacementConfig", + "description": "Placement configuration Placement config in ClusterConfig serve as default values for each MachinePool" + }, + "sshKeys": { + "description": "SSHKeys specifies a list of ssh authorized keys for the 'spectro' user", + "items": { + "type": "string" + }, + "type": "array" + }, + "staticIp": { + "description": "whether this cluster should use dhcp or static IP, if false, use DHCP if this is set, then all machinepools should have staticIP with provided IPPool adding this as an additional standalone flag without relating to placement.Nework main reason is to enable more validation for placement.Network.StaticIP which should come together with valid Network.IPPool and Network.Name", + "type": "boolean" + } + }, + "required": [ + "placement" + ], + "type": "object" + }, + "v1VsphereClusterConfigEntity": { + "properties": { + "controlPlaneEndpoint": { + "$ref": "#/definitions/v1ControlPlaneEndPoint", + "description": "The optional control plane endpoint, which can be an IP or FQDN" + }, + "ntpServers": { + "description": "NTPServers is a list of NTP servers to use instead of the machine image's default NTP server list.", + "items": { + "type": "string" + }, + "type": "array" + }, + "placement": { + "$ref": "#/definitions/v1VspherePlacementConfigEntity", + "description": "Placement configuration Placement config in ClusterConfig serve as default values for each MachinePool" + }, + "sshKeys": { + "description": "SSHKeys specifies a list of ssh authorized keys for the 'spectro' user", + "items": { + "type": "string" + }, + "type": "array" + }, + "staticIp": { + "description": "whether this cluster should use dhcp or static IP, if false, use DHCP if this is set, then all machinepools should have staticIP with provided IPPool adding this as an additional standalone flag without relating to placement.Nework main reason is to enable more validation for placement.Network.StaticIP which should come together with valid Network.IPPool and Network.Name", + "type": "boolean" + } + }, + "required": [ + "placement" + ], + "type": "object" + }, + "v1VsphereComputeCluster": { + "description": "Vsphere compute cluster", + "properties": { + "datastores": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "name": { + "type": "string" + }, + "networks": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "resourcePools": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "v1VsphereComputeClusterResources": { + "description": "Datacenter and its resources like datastore, resoucepool, folders", + "properties": { + "computecluster": { + "$ref": "#/definitions/v1VsphereComputeCluster" + }, + "datacenter": { + "description": "Name of the datacenter", + "type": "string" + } + }, + "type": "object" + }, + "v1VsphereDatacenter": { + "description": "List of Datacenter with computeclusters", + "properties": { + "computeclusters": { + "description": "List of the VSphere compute clusters in datacenter", + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "datacenter": { + "description": "name of the datacenter of the VSphere", + "type": "string" + }, + "folders": { + "description": "List of the VSphere folders in datacenter", + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "v1VsphereDatacenters": { + "description": "List of Datacenters with computeclusters", + "properties": { + "items": { + "description": "List of associated datacenters", + "items": { + "$ref": "#/definitions/v1VsphereDatacenter" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1VsphereDnsMapping": { + "description": "VSphere DNS Mapping", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1VsphereDnsMappingSpec" + } + }, + "type": "object" + }, + "v1VsphereDnsMappingSpec": { + "description": "VSphere DNS Mapping Spec", + "properties": { + "datacenter": { + "description": "VSphere datacenter name", + "type": "string" + }, + "dnsName": { + "description": "VSphere DNS name", + "type": "string" + }, + "network": { + "description": "VSphere network name", + "type": "string" + }, + "networkUrl": { + "description": "VSphere network URL", + "readOnly": true, + "type": "string" + }, + "privateGatewayUid": { + "description": "VSphere private gateway uid", + "type": "string" + } + }, + "required": [ + "privateGatewayUid", + "datacenter", + "network", + "dnsName" + ], + "type": "object" + }, + "v1VsphereDnsMappings": { + "properties": { + "items": { + "description": "List of vSphere DNS mapping", + "items": { + "$ref": "#/definitions/v1VsphereDnsMapping" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1VsphereEnv": { + "description": "Vsphere environment entity", + "properties": { + "version": { + "description": "Version of vsphere environment", + "type": "string" + } + }, + "type": "object" + }, + "v1VsphereImage": { + "description": "A generated Image should always be a template which resides inside vsphere Will not generate a OVA file out of the image OVA can be used as a base input of the os pack, that's internal to the pack", + "properties": { + "fullPath": { + "description": "full path of the image template location it contains datacenter/folder/templatename etc eg: /mydc/vm/template/spectro/workerpool-1-centos", + "type": "string" + }, + "state": { + "type": "string" + } + }, + "type": "object" + }, + "v1VsphereInstanceType": { + "properties": { + "diskGiB": { + "description": "DiskGiB is the size of a virtual machine's disk, in GiB. Defaults to the analogue property value in the template from which this machine is cloned.", + "format": "int32", + "type": "integer" + }, + "memoryMiB": { + "description": "MemoryMiB is the size of a virtual machine's memory, in MiB. Defaults to the analogue property value in the template from which this machine is cloned.", + "format": "int64", + "type": "integer" + }, + "numCPUs": { + "description": "NumCPUs is the number of virtual processors in a virtual machine. Defaults to the analogue property value in the template from which this machine is cloned.", + "format": "int32", + "type": "integer" + } + }, + "required": [ + "numCPUs", + "memoryMiB", + "diskGiB" + ], + "type": "object" + }, + "v1VsphereMachine": { + "description": "vSphere cloud VM definition", + "properties": { + "apiVersion": { + "type": "string" + }, + "kind": { + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1VsphereMachineSpec" + }, + "status": { + "$ref": "#/definitions/v1CloudMachineStatus" + } + }, + "type": "object" + }, + "v1VsphereMachinePoolCloudConfigEntity": { + "properties": { + "instanceType": { + "$ref": "#/definitions/v1VsphereInstanceType" + }, + "placements": { + "description": "Placements configuration Placements If defined, will replace default values defined in VsphereClusterConfig Array means one MachinePool can span across multiple vsphere compute cluster", + "items": { + "$ref": "#/definitions/v1VspherePlacementConfigEntity" + }, + "type": "array" + } + } + }, + "v1VsphereMachinePoolConfig": { + "properties": { + "additionalLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "additionalLabels", + "type": "object" + }, + "additionalTags": { + "additionalProperties": { + "type": "string" + }, + "description": "AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole", + "type": "object" + }, + "instanceType": { + "$ref": "#/definitions/v1VsphereInstanceType", + "description": "InstanceType defines the required CPU, Memory, Storage" + }, + "isControlPlane": { + "description": "whether this pool is for control plane", + "type": "boolean", + "x-omitempty": false + }, + "labels": { + "description": "labels for this pool, example: control-plane/worker, gpu, windows", + "items": { + "type": "string" + }, + "type": "array" + }, + "machinePoolProperties": { + "$ref": "#/definitions/v1MachinePoolProperties" + }, + "maxSize": { + "description": "max size of the pool, for scaling", + "format": "int32", + "type": "integer" + }, + "minSize": { + "description": "min size of the pool, for scaling", + "format": "int32", + "type": "integer" + }, + "name": { + "type": "string" + }, + "nodeRepaveInterval": { + "description": "Minimum number of seconds a node should be Ready, before the next node is selected for repave. Applicable only for workerpools in infrastructure cluster", + "format": "int32", + "type": "integer" + }, + "placements": { + "description": "Placements configuration Placements If defined, will replace default values defined in VsphereClusterConfig Array means one MachinePool can span across multiple vsphere compute cluster", + "items": { + "$ref": "#/definitions/v1VspherePlacementConfig" + }, + "type": "array" + }, + "size": { + "description": "size of the pool, number of machines", + "format": "int32", + "type": "integer" + }, + "taints": { + "description": "control plane or worker taints", + "items": { + "$ref": "#/definitions/v1Taint" + }, + "type": "array", + "uniqueItems": true + }, + "updateStrategy": { + "$ref": "#/definitions/v1UpdateStrategy", + "description": "rolling update strategy for this machinepool if not specified, will use ScaleOut" + }, + "useControlPlaneAsWorker": { + "description": "if IsControlPlane==true \u0026\u0026 useControlPlaneAsWorker==true, then will remove control plane taint this will not be used for worker pools", + "type": "boolean", + "x-omitempty": false + } + }, + "required": [ + "isControlPlane", + "instanceType" + ], + "type": "object" + }, + "v1VsphereMachinePoolConfigEntity": { + "properties": { + "cloudConfig": { + "$ref": "#/definitions/v1VsphereMachinePoolCloudConfigEntity" + }, + "poolConfig": { + "$ref": "#/definitions/v1MachinePoolConfigEntity" + } + }, + "required": [ + "cloudConfig" + ], + "type": "object" + }, + "v1VsphereMachineSpec": { + "description": "vSphere cloud VM definition spec", + "properties": { + "images": { + "items": { + "$ref": "#/definitions/v1VsphereImage" + }, + "type": "array" + }, + "instanceType": { + "$ref": "#/definitions/v1VsphereInstanceType" + }, + "nics": { + "items": { + "$ref": "#/definitions/v1VsphereNic" + }, + "type": "array" + }, + "ntpServers": { + "description": "NTPServers is a list of NTP servers to use instead of the machine image's default NTP server list.", + "items": { + "type": "string" + }, + "type": "array" + }, + "placement": { + "$ref": "#/definitions/v1VspherePlacementConfig", + "description": "Placement configuration" + }, + "vcenterServer": { + "description": "VcenterServer is the address of the vSphere endpoint", + "type": "string" + } + }, + "required": [ + "vcenterServer", + "nics", + "placement" + ], + "type": "object" + }, + "v1VsphereMachines": { + "description": "vSphere machine list", + "properties": { + "items": { + "items": { + "$ref": "#/definitions/v1VsphereMachine" + }, + "type": "array", + "uniqueItems": true + }, + "listmeta": { + "$ref": "#/definitions/v1ListMetaData" + } + }, + "required": [ + "items" + ], + "type": "object" + }, + "v1VsphereNetworkConfig": { + "properties": { + "ipPool": { + "$ref": "#/definitions/v1IPPool", + "description": "when staticIP=true, need to provide IPPool" + }, + "networkName": { + "description": "NetworkName is the name of the network in which VMs are created/located.", + "type": "string" + }, + "parentPoolRef": { + "$ref": "#/definitions/v1ObjectReference", + "description": "ParentPoolRef reference to the ParentPool which allocates IPs for this IPPool" + }, + "staticIp": { + "description": "support dhcp or static IP, if false, use DHCP", + "type": "boolean" + } + }, + "required": [ + "networkName" + ], + "type": "object" + }, + "v1VsphereNetworkConfigEntity": { + "properties": { + "networkName": { + "description": "NetworkName is the name of the network in which VMs are created/located.", + "type": "string" + }, + "parentPoolUid": { + "description": "ParentPoolRef Uid to the ParentPool which allocates IPs for this IPPool", + "type": "string" + }, + "staticIp": { + "description": "support dhcp or static IP, if false, use DHCP", + "type": "boolean" + } + }, + "required": [ + "networkName" + ], + "type": "object" + }, + "v1VsphereNic": { + "description": "vSphere network interface", + "properties": { + "index": { + "format": "int8", + "type": "integer" + }, + "macAddress": { + "type": "string" + }, + "networkName": { + "type": "string" + }, + "privateIPs": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "networkName" + ], + "type": "object" + }, + "v1VsphereOverlordClusterConfigEntity": { + "properties": { + "controlPlaneEndpoint": { + "$ref": "#/definitions/v1ControlPlaneEndPoint", + "description": "The optional control plane endpoint, which can be an IP or FQDN" + }, + "ntpServers": { + "description": "NTPServers is a list of NTP servers to use instead of the machine image's default NTP server list.", + "items": { + "type": "string" + }, + "type": "array" + }, + "placements": { + "description": "Placements configuration Placements If defined, will replace default values defined in VsphereClusterConfig Array means one MachinePool can span across multiple vsphere compute cluster", + "items": { + "$ref": "#/definitions/v1VspherePlacementConfigEntity" + }, + "type": "array" + }, + "sshKeys": { + "description": "SSHKeys specifies a list of ssh authorized keys for the 'spectro' user", + "items": { + "type": "string" + }, + "type": "array" + }, + "staticIp": { + "description": "whether this cluster should use dhcp or static IP, if false, use DHCP if this is set, then all machinepools should have staticIP with provided IPPool adding this as an additional standalone flag without relating to placement.Nework main reason is to enable more validation for placement.Network.StaticIP which should come together with valid Network.IPPool and Network.Name", + "type": "boolean" + } + }, + "type": "object" + }, + "v1VspherePlacementConfig": { + "description": "Both ClusterConfig and MachinePoolConfig will have PlacementConfig MachinePoolconfig.Placements will overwrite values defined in ClusterConfig Currently the convention is: Datacenter / Folder / ImageTemplateFolder / Network should be defined at ClusterConfig Cluster / ResourcePool / Datastore / Network is defined at MachinePool ClusterConfig Network should only indicate use DHCP or not MachinePool Network should contain the actual network and IPPool", + "properties": { + "cluster": { + "description": "Cluster is the computecluster in vsphere", + "type": "string" + }, + "datacenter": { + "description": "Datacenter is the name or inventory path of the datacenter where this machine's VM is created/located.", + "type": "string" + }, + "datastore": { + "description": "Datastore is the datastore in which VMs are created/located.", + "type": "string" + }, + "folder": { + "description": "Folder is the folder in which VMs are created/located.", + "type": "string" + }, + "imageTemplateFolder": { + "description": "ImageTemplateFolder is the folder in which VMs templates are created/located. if empty will use default value spectro-templates", + "type": "string" + }, + "network": { + "$ref": "#/definitions/v1VsphereNetworkConfig", + "description": "network info" + }, + "resourcePool": { + "description": "ResourcePool is the resource pool within the above computecluster Cluster", + "type": "string" + }, + "storagePolicyName": { + "description": "StoragePolicyName of the storage policy to use with this Virtual Machine", + "type": "string" + }, + "uid": { + "description": "UID for this placement", + "type": "string" + } + }, + "type": "object" + }, + "v1VspherePlacementConfigEntity": { + "description": "Both ClusterConfig and MachinePoolConfig will have PlacementConfig MachinePoolconfig.Placements will overwrite values defined in ClusterConfig Currently the convention is: Datacenter / Folder / ImageTemplateFolder / Network should be defined at ClusterConfig Cluster / ResourcePool / Datastore / Network is defined at MachinePool ClusterConfig Network should only indicate use DHCP or not MachinePool Network should contain the actual network and IPPool", + "properties": { + "cluster": { + "description": "Cluster is the computecluster in vsphere", + "type": "string" + }, + "datacenter": { + "description": "Datacenter is the name or inventory path of the datacenter where this machine's VM is created/located.", + "type": "string" + }, + "datastore": { + "description": "Datastore is the datastore in which VMs are created/located.", + "type": "string" + }, + "folder": { + "description": "Folder is the folder in which VMs are created/located.", + "type": "string" + }, + "imageTemplateFolder": { + "description": "ImageTemplateFolder is the folder in which VMs templates are created/located. if empty will use default value spectro-templates", + "type": "string" + }, + "network": { + "$ref": "#/definitions/v1VsphereNetworkConfigEntity", + "description": "network info" + }, + "resourcePool": { + "description": "ResourcePool is the resource pool within the above computecluster Cluster", + "type": "string" + }, + "storagePolicyName": { + "description": "StoragePolicyName of the storage policy to use with this Virtual Machine", + "type": "string" + }, + "uid": { + "description": "UID for this placement", + "type": "string" + } + }, + "type": "object" + }, + "v1Workspace": { + "description": "Workspace information", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1WorkspaceSpec" + }, + "status": { + "$ref": "#/definitions/v1WorkspaceStatus" + } + } + }, + "v1WorkspaceBackup": { + "description": "Workspace backup", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1WorkspaceBackupSpec" + }, + "status": { + "$ref": "#/definitions/v1WorkspaceBackupStatus" + } + } + }, + "v1WorkspaceBackupClusterRef": { + "description": "Workspace backup cluster ref", + "properties": { + "backupName": { + "type": "string" + }, + "clusterUid": { + "type": "string" + } + } + }, + "v1WorkspaceBackupConfig": { + "description": "Workspace backup config", + "properties": { + "backupConfig": { + "$ref": "#/definitions/v1ClusterBackupConfig" + }, + "clusterUids": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "includeAllClusters": { + "type": "boolean" + } + } + }, + "v1WorkspaceBackupConfigEntity": { + "description": "Cluster backup config", + "properties": { + "backupConfig": { + "$ref": "#/definitions/v1ClusterBackupConfig" + }, + "clusterUids": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "includeAllClusters": { + "type": "boolean" + } + } + }, + "v1WorkspaceBackupDeleteEntity": { + "description": "Cluster backup delete config", + "properties": { + "clusterConfigs": { + "items": { + "$ref": "#/definitions/v1WorkspaceBackupClusterRef" + }, + "type": "array", + "uniqueItems": true + }, + "requestUid": { + "type": "string" + } + } + }, + "v1WorkspaceBackupSpec": { + "description": "Workspace backup spec", + "properties": { + "config": { + "$ref": "#/definitions/v1WorkspaceBackupConfig" + }, + "workspaceUid": { + "type": "string" + } + } + }, + "v1WorkspaceBackupState": { + "description": "Workspace backup state", + "properties": { + "deleteState": { + "type": "string" + }, + "state": { + "type": "string" + } + } + }, + "v1WorkspaceBackupStatus": { + "description": "Workspace backup status", + "properties": { + "workspaceBackupStatuses": { + "items": { + "$ref": "#/definitions/v1WorkspaceBackupStatusMeta" + }, + "type": "array" + } + } + }, + "v1WorkspaceBackupStatusConfig": { + "description": "Workspace backup status config", + "properties": { + "backupName": { + "type": "string" + }, + "durationInHours": { + "format": "int64", + "type": "number" + }, + "includeAllDisks": { + "type": "boolean" + }, + "includeClusterResources": { + "type": "boolean" + }, + "namespaces": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + } + }, + "v1WorkspaceBackupStatusMeta": { + "description": "Workspace backup status meta", + "properties": { + "actor": { + "$ref": "#/definitions/v1ClusterFeatureActor" + }, + "requestUid": { + "type": "string" + }, + "workspaceBackupConfig": { + "$ref": "#/definitions/v1WorkspaceClusterBackupConfig" + } + } + }, + "v1WorkspaceClusterBackupConfig": { + "description": "Workspace cluster backup config", + "properties": { + "backupName": { + "type": "string" + }, + "backupState": { + "$ref": "#/definitions/v1WorkspaceBackupState" + }, + "backupTime": { + "$ref": "#/definitions/v1Time" + }, + "clusterBackupRefs": { + "items": { + "$ref": "#/definitions/v1WorkspaceClusterBackupResponse" + }, + "type": "array" + }, + "config": { + "$ref": "#/definitions/v1WorkspaceBackupStatusConfig" + }, + "requestTime": { + "$ref": "#/definitions/v1Time" + } + } + }, + "v1WorkspaceClusterBackupResponse": { + "description": "Workspace cluster backup response", + "properties": { + "backupStatusMeta": { + "$ref": "#/definitions/v1BackupStatusMeta" + }, + "backupUid": { + "type": "string" + }, + "clusterName": { + "type": "string" + }, + "clusterUid": { + "type": "string" + } + } + }, + "v1WorkspaceClusterNamespace": { + "description": "Workspace cluster namespace", + "properties": { + "image": { + "$ref": "#/definitions/v1WorkspaceNamespaceImage" + }, + "isRegex": { + "type": "boolean", + "x-omitempty": false + }, + "name": { + "type": "string" + }, + "namespaceResourceAllocation": { + "$ref": "#/definitions/v1WorkspaceNamespaceResourceAllocation" + } + } + }, + "v1WorkspaceClusterNamespacesEntity": { + "description": "Workspace cluster namespaces update entity", + "properties": { + "clusterNamespaces": { + "items": { + "$ref": "#/definitions/v1WorkspaceClusterNamespace" + }, + "type": "array", + "uniqueItems": true + }, + "clusterRefs": { + "items": { + "$ref": "#/definitions/v1WorkspaceClusterRef" + }, + "type": "array", + "uniqueItems": true + }, + "quota": { + "$ref": "#/definitions/v1WorkspaceQuota" + } + } + }, + "v1WorkspaceClusterRef": { + "description": "Workspace cluster reference", + "properties": { + "clusterName": { + "type": "string" + }, + "clusterUid": { + "type": "string" + } + } + }, + "v1WorkspaceClusterRestoreConfig": { + "description": "Workspace cluster restore config", + "properties": { + "backupName": { + "type": "string" + }, + "clusterRestoreRefs": { + "items": { + "$ref": "#/definitions/v1WorkspaceClusterRestoreResponse" + }, + "type": "array" + }, + "restoreState": { + "$ref": "#/definitions/v1WorkspaceRestoreState" + }, + "restoreTime": { + "$ref": "#/definitions/v1Time" + } + } + }, + "v1WorkspaceClusterRestoreResponse": { + "description": "Workspace cluster restore response", + "properties": { + "backupName": { + "type": "string" + }, + "clusterName": { + "type": "string" + }, + "clusterUid": { + "type": "string" + }, + "restoreStatusMeta": { + "$ref": "#/definitions/v1WorkspaceClusterRestoreState" + }, + "restoreUid": { + "type": "string" + } + } + }, + "v1WorkspaceClusterRestoreState": { + "description": "Workspace cluster restore state", + "properties": { + "msg": { + "type": "string" + }, + "restoreTime": { + "$ref": "#/definitions/v1Time" + }, + "state": { + "type": "string" + } + } + }, + "v1WorkspaceClusterWorkloadCronJobs": { + "description": "Workspace cluster workload cronjobs summary", + "properties": { + "cronjobs": { + "items": { + "$ref": "#/definitions/v1ClusterWorkloadCronJob" + }, + "type": "array" + }, + "metadata": { + "$ref": "#/definitions/v1RelatedObject" + } + }, + "type": "object" + }, + "v1WorkspaceClusterWorkloadDaemonSets": { + "description": "Workspace cluster workload daemonsets summary", + "properties": { + "daemonSets": { + "items": { + "$ref": "#/definitions/v1ClusterWorkloadDaemonSet" + }, + "type": "array" + }, + "metadata": { + "$ref": "#/definitions/v1RelatedObject" + } + }, + "type": "object" + }, + "v1WorkspaceClusterWorkloadDeployments": { + "description": "Workspace cluster workload deployments summary", + "properties": { + "deployments": { + "items": { + "$ref": "#/definitions/v1ClusterWorkloadDeployment" + }, + "type": "array" + }, + "metadata": { + "$ref": "#/definitions/v1RelatedObject" + } + }, + "type": "object" + }, + "v1WorkspaceClusterWorkloadJobs": { + "description": "Workspace cluster workload jobs summary", + "properties": { + "jobs": { + "items": { + "$ref": "#/definitions/v1ClusterWorkloadJob" + }, + "type": "array" + }, + "metadata": { + "$ref": "#/definitions/v1RelatedObject" + } + }, + "type": "object" + }, + "v1WorkspaceClusterWorkloadNamespaces": { + "description": "Workspace cluster workload namespaces summary", + "properties": { + "metadata": { + "$ref": "#/definitions/v1RelatedObject" + }, + "namespaces": { + "items": { + "$ref": "#/definitions/v1ClusterWorkloadNamespace" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1WorkspaceClusterWorkloadPods": { + "description": "Workspace cluster workload pods summary", + "properties": { + "metadata": { + "$ref": "#/definitions/v1RelatedObject" + }, + "pods": { + "items": { + "$ref": "#/definitions/v1ClusterWorkloadPod" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1WorkspaceClusterWorkloadRoleBindings": { + "description": "Workspace cluster workload rbac bindings summary", + "properties": { + "bindings": { + "items": { + "$ref": "#/definitions/v1ClusterWorkloadRoleBinding" + }, + "type": "array" + }, + "metadata": { + "$ref": "#/definitions/v1RelatedObject" + } + }, + "type": "object" + }, + "v1WorkspaceClusterWorkloadStatefulSets": { + "description": "Workspace cluster workload statefulsets summary", + "properties": { + "metadata": { + "$ref": "#/definitions/v1RelatedObject" + }, + "statefulSets": { + "items": { + "$ref": "#/definitions/v1ClusterWorkloadStatefulSet" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1WorkspaceClustersWorkloadCronJobs": { + "description": "Workspace clusters workload cronjobs summary", + "properties": { + "clusters": { + "items": { + "$ref": "#/definitions/v1WorkspaceClusterWorkloadCronJobs" + }, + "type": "array" + }, + "metadata": { + "$ref": "#/definitions/v1ObjectMetaInputEntity" + } + }, + "type": "object" + }, + "v1WorkspaceClustersWorkloadDaemonSets": { + "description": "Workspace clusters workload statefulsets summary", + "properties": { + "clusters": { + "items": { + "$ref": "#/definitions/v1WorkspaceClusterWorkloadDaemonSets" + }, + "type": "array" + }, + "metadata": { + "$ref": "#/definitions/v1ObjectMetaInputEntity" + } + }, + "type": "object" + }, + "v1WorkspaceClustersWorkloadDeployments": { + "description": "Workspace clusters workload deployments summary", + "properties": { + "clusters": { + "items": { + "$ref": "#/definitions/v1WorkspaceClusterWorkloadDeployments" + }, + "type": "array" + }, + "metadata": { + "$ref": "#/definitions/v1ObjectMetaInputEntity" + } + }, + "type": "object" + }, + "v1WorkspaceClustersWorkloadJobs": { + "description": "Workspace clusters workload jobs summary", + "properties": { + "clusters": { + "items": { + "$ref": "#/definitions/v1WorkspaceClusterWorkloadJobs" + }, + "type": "array" + }, + "metadata": { + "$ref": "#/definitions/v1ObjectMetaInputEntity" + } + }, + "type": "object" + }, + "v1WorkspaceClustersWorkloadNamespaces": { + "description": "Workspace clusters workload namespaces summary", + "properties": { + "clusters": { + "items": { + "$ref": "#/definitions/v1WorkspaceClusterWorkloadNamespaces" + }, + "type": "array" + }, + "metadata": { + "$ref": "#/definitions/v1ObjectMetaInputEntity" + } + }, + "type": "object" + }, + "v1WorkspaceClustersWorkloadPods": { + "description": "Workspace clusters workload pods summary", + "properties": { + "clusters": { + "items": { + "$ref": "#/definitions/v1WorkspaceClusterWorkloadPods" + }, + "type": "array" + }, + "metadata": { + "$ref": "#/definitions/v1ObjectMetaInputEntity" + } + }, + "type": "object" + }, + "v1WorkspaceClustersWorkloadRoleBindings": { + "description": "Workspace clusters workload rbac bindings summary", + "properties": { + "clusters": { + "items": { + "$ref": "#/definitions/v1WorkspaceClusterWorkloadRoleBindings" + }, + "type": "array" + }, + "metadata": { + "$ref": "#/definitions/v1ObjectMetaInputEntity" + } + }, + "type": "object" + }, + "v1WorkspaceClustersWorkloadStatefulSets": { + "description": "Workspace clusters workload statefulsets summary", + "properties": { + "clusters": { + "items": { + "$ref": "#/definitions/v1WorkspaceClusterWorkloadStatefulSets" + }, + "type": "array" + }, + "metadata": { + "$ref": "#/definitions/v1ObjectMetaInputEntity" + } + }, + "type": "object" + }, + "v1WorkspaceEntity": { + "description": "Workspace information", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1WorkspaceSpec" + } + } + }, + "v1WorkspaceError": { + "description": "Workspace error", + "properties": { + "clusterUid": { + "type": "string" + }, + "msg": { + "type": "string" + }, + "name": { + "type": "string" + }, + "resourceType": { + "type": "string" + } + } + }, + "v1WorkspaceNamespaceImage": { + "description": "Workspace namespace image information", + "properties": { + "blackListedImages": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + } + }, + "v1WorkspaceNamespaceResourceAllocation": { + "description": "Workspace namespace resource allocation", + "properties": { + "clusterResourceAllocations": { + "items": { + "$ref": "#/definitions/v1ClusterResourceAllocation" + }, + "type": "array", + "uniqueItems": true + }, + "defaultResourceAllocation": { + "$ref": "#/definitions/v1WorkspaceResourceAllocation" + } + } + }, + "v1WorkspacePolicies": { + "description": "Workspace policies", + "properties": { + "backupPolicy": { + "$ref": "#/definitions/v1WorkspaceBackupConfigEntity" + } + } + }, + "v1WorkspaceQuota": { + "description": "Workspace resource quota", + "properties": { + "resourceAllocation": { + "$ref": "#/definitions/v1WorkspaceResourceAllocation" + } + } + }, + "v1WorkspaceResourceAllocation": { + "description": "Workspace resource allocation", + "properties": { + "cpuCores": { + "minimum": -1, + "type": "number", + "x-omitempty": false + }, + "memoryMiB": { + "minimum": -1, + "type": "number", + "x-omitempty": false + } + } + }, + "v1WorkspaceResourceAllocationsEntity": { + "description": "Workspace resource allocation update entity", + "properties": { + "clusterNamespaces": { + "items": { + "$ref": "#/definitions/v1WorkspaceClusterNamespace" + }, + "type": "array", + "uniqueItems": true + }, + "clusterRefs": { + "items": { + "$ref": "#/definitions/v1WorkspaceClusterRef" + }, + "type": "array", + "uniqueItems": true + }, + "quota": { + "$ref": "#/definitions/v1WorkspaceQuota" + } + } + }, + "v1WorkspaceRestore": { + "description": "Workspace restore", + "properties": { + "metadata": { + "$ref": "#/definitions/v1ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1WorkspaceRestoreSpec" + }, + "status": { + "$ref": "#/definitions/v1WorkspaceRestoreStatus" + } + } + }, + "v1WorkspaceRestoreConfig": { + "description": "Workspace cluster restore config", + "properties": { + "backupName": { + "type": "string" + }, + "includeClusterResources": { + "type": "boolean" + }, + "includeNamespaces": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "preserveNodePorts": { + "type": "boolean" + }, + "restorePVs": { + "type": "boolean" + }, + "sourceClusterUid": { + "type": "string" + } + }, + "required": [ + "backupName", + "sourceClusterUid" + ] + }, + "v1WorkspaceRestoreConfigEntity": { + "description": "Cluster restore config", + "properties": { + "backupRequestUid": { + "type": "string" + }, + "restoreConfigs": { + "items": { + "$ref": "#/definitions/v1WorkspaceRestoreConfig" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "backupRequestUid" + ] + }, + "v1WorkspaceRestoreSpec": { + "description": "Workspace restore spec", + "properties": { + "workspaceUid": { + "type": "string" + } + } + }, + "v1WorkspaceRestoreState": { + "description": "Workspace restore state", + "properties": { + "deleteState": { + "type": "string" + }, + "state": { + "type": "string" + } + } + }, + "v1WorkspaceRestoreStatus": { + "description": "Workspace restore status", + "properties": { + "workspaceRestoreStatuses": { + "items": { + "$ref": "#/definitions/v1WorkspaceRestoreStatusMeta" + }, + "type": "array" + } + } + }, + "v1WorkspaceRestoreStatusMeta": { + "description": "Workspace restore status meta", + "properties": { + "actor": { + "$ref": "#/definitions/v1ClusterFeatureActor" + }, + "requestUid": { + "type": "string" + }, + "workspaceRestoreConfig": { + "$ref": "#/definitions/v1WorkspaceClusterRestoreConfig" + } + } + }, + "v1WorkspaceRolesPatch": { + "properties": { + "roles": { + "items": { + "type": "string" + }, + "type": "array" + }, + "uid": { + "type": "string" + } + }, + "type": "object" + }, + "v1WorkspaceRolesUidSummary": { + "properties": { + "name": { + "type": "string" + }, + "uid": { + "type": "string" + } + }, + "type": "object" + }, + "v1WorkspaceScopeRoles": { + "description": "List all workspaces with the roles assigned to the users", + "properties": { + "projects": { + "items": { + "$ref": "#/definitions/v1ProjectsWorkspaces" + }, + "type": "array", + "uniqueItems": true + } + } + }, + "v1WorkspaceSpec": { + "description": "Workspace specifications", + "properties": { + "clusterNamespaces": { + "items": { + "$ref": "#/definitions/v1WorkspaceClusterNamespace" + }, + "type": "array", + "uniqueItems": true + }, + "clusterRbacs": { + "items": { + "$ref": "#/definitions/v1ClusterRbac" + }, + "type": "array", + "uniqueItems": true + }, + "clusterRefs": { + "items": { + "$ref": "#/definitions/v1WorkspaceClusterRef" + }, + "type": "array", + "uniqueItems": true + }, + "policies": { + "$ref": "#/definitions/v1WorkspacePolicies" + }, + "quota": { + "$ref": "#/definitions/v1WorkspaceQuota" + } + } + }, + "v1WorkspaceStatus": { + "description": "Workspace status", + "properties": { + "errors": { + "items": { + "$ref": "#/definitions/v1WorkspaceError" + }, + "type": "array", + "uniqueItems": true + } + } + }, + "v1WorkspaceWorkloadsFilter": { + "description": "Workspace workloads filter", + "properties": { + "clusters": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "namespaces": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "v1WorkspaceWorkloadsSpec": { + "description": "Workspace workloads spec", + "properties": { + "filter": { + "$ref": "#/definitions/v1WorkspaceWorkloadsFilter" + } + }, + "type": "object" + }, + "v1WorkspacesRoles": { + "description": "Workspace users and their roles", + "properties": { + "inheritedRoles": { + "items": { + "$ref": "#/definitions/v1WorkspaceRolesUidSummary" + }, + "type": "array" + }, + "name": { + "type": "string" + }, + "roles": { + "items": { + "$ref": "#/definitions/v1WorkspaceRolesUidSummary" + }, + "type": "array" + }, + "uid": { + "type": "string" + } + } + }, + "v1WorkspacesRolesPatch": { + "properties": { + "workspaces": { + "items": { + "$ref": "#/definitions/v1WorkspaceRolesPatch" + }, + "type": "array" + } + }, + "type": "object" + }, + "v1YearlyUsage": { + "description": "Yearly usage object", + "properties": { + "billingPeriod": { + "$ref": "#/definitions/v1InvoiceBillingPeriod" + }, + "monthlyUsages": { + "description": "List of monthly usages", + "items": { + "$ref": "#/definitions/v1MonthlyUsage" + }, + "type": "array", + "uniqueItems": true + }, + "productUsages": { + "$ref": "#/definitions/v1ProductUsage" + } + } + }, + "v1ZoneEntity": { + "description": "Azure availability zone entity", + "properties": { + "id": { + "description": "Azure availability zone id", + "type": "string" + } + }, + "type": "object" + } + }, + "info": { + "title": "Palette APIs - 4.4", + "version": "v1" + }, + "paths": { + "/v1/apiKeys": { + "get": { + "operationId": "v1ApiKeysList", + "responses": { + "200": { + "description": "Retrieves a list of API keys", + "schema": { + "$ref": "#/definitions/v1ApiKeys" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of API keys", + "tags": [ + "v1" + ] + }, + "post": { + "operationId": "v1ApiKeysCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ApiKeyEntity" + } + } + ], + "responses": { + "201": { + "description": "APIKey Created successfully", + "schema": { + "$ref": "#/definitions/v1ApiKeyCreateResponse" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Create an API key", + "tags": [ + "v1" + ] + } + }, + "/v1/apiKeys/{uid}": { + "delete": { + "operationId": "v1ApiKeysUidDelete", + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the specified API key", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "v1ApiKeysUidGet", + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1ApiKey" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified API key", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Specify API key uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "patch": { + "operationId": "v1ApiKeysUidActiveState", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ApiKeyActiveState" + } + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Activate or de-active the specified API key", + "tags": [ + "v1" + ] + }, + "put": { + "operationId": "v1ApiKeysUidUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ApiKeyUpdate" + } + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Update the specified API key", + "tags": [ + "v1" + ] + } + }, + "/v1/apiKeys/{uid}/state": { + "parameters": [ + { + "description": "Specify API key uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1ApiKeysUidState", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ApiKeyActiveState" + } + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Revoke or re-activate the API key access", + "tags": [ + "v1" + ] + } + }, + "/v1/appDeployments": { + "post": { + "operationId": "v1AppDeploymentsVirtualClusterCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1AppDeploymentVirtualClusterEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Creates a application deployment in the virtual cluster", + "tags": [ + "v1" + ] + } + }, + "/v1/appDeployments/clusterGroup": { + "post": { + "operationId": "v1AppDeploymentsClusterGroupCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1AppDeploymentClusterGroupEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Creates a application deployment in one of virtual clusters in the cluster group", + "tags": [ + "v1" + ] + } + }, + "/v1/appDeployments/{uid}": { + "delete": { + "operationId": "v1AppDeploymentsUidDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the specified application deployment", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "v1AppDeploymentsUidGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1AppDeployment" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified application deployment", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Application deployment uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ] + }, + "/v1/appDeployments/{uid}/profile": { + "get": { + "operationId": "v1AppDeploymentsUidProfileGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1AppDeploymentProfileSpec" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns profile of the specified application deployment", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Application deployment uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1AppDeploymentsUidProfileUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1AppDeploymentProfileEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified application deployment profile", + "tags": [ + "v1" + ] + } + }, + "/v1/appDeployments/{uid}/profile/apply": { + "parameters": [ + { + "description": "Application deployment uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "description": "Application deployment notification uid", + "in": "query", + "name": "notify", + "type": "string" + } + ], + "patch": { + "operationId": "v1AppDeploymentsUidProfileApply", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Apply the application deployment profile updates", + "tags": [ + "v1" + ] + } + }, + "/v1/appDeployments/{uid}/profile/tiers/{tierUid}": { + "get": { + "operationId": "v1AppDeploymentsProfileTiersUidGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1AppTier" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified application deployment profile tier information", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Application deployment uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "description": "Application deployment tier uid", + "in": "path", + "name": "tierUid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1AppDeploymentsProfileTiersUidUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1AppTierUpdateEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified application deployment profile tier information", + "tags": [ + "v1" + ] + } + }, + "/v1/appDeployments/{uid}/profile/tiers/{tierUid}/manifests": { + "get": { + "operationId": "v1AppDeploymentsProfileTiersUidManifestsGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1AppTierManifests" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of manifests of the specified application deployment profile tier", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Application deployment uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "description": "Application deployment tier uid", + "in": "path", + "name": "tierUid", + "required": true, + "type": "string" + } + ] + }, + "/v1/appDeployments/{uid}/profile/tiers/{tierUid}/manifests/{manifestUid}": { + "get": { + "operationId": "v1AppDeploymentsProfileTiersManifestsUidGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1Manifest" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified application deployment tier manifest information", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Application deployment uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "description": "Application deployment tier uid", + "in": "path", + "name": "tierUid", + "required": true, + "type": "string" + }, + { + "description": "Application deployment tier manifest uid", + "in": "path", + "name": "manifestUid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1AppDeploymentsProfileTiersManifestsUidUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ManifestRefUpdateEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified application deployment tier manifest information", + "tags": [ + "v1" + ] + } + }, + "/v1/appDeployments/{uid}/profile/versions": { + "get": { + "operationId": "v1AppDeploymentsUidProfileVersionsGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1AppDeploymentProfileVersions" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of profile versions of the specified application deployment", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Application deployment uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ] + }, + "/v1/appProfiles": { + "post": { + "operationId": "v1AppProfilesCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1AppProfileEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Creates a application profile", + "tags": [ + "v1" + ] + } + }, + "/v1/appProfiles/macros": { + "get": { + "operationId": "v1AppProfilesMacrosList", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1Macros" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of application profile macros", + "tags": [ + "v1" + ] + } + }, + "/v1/appProfiles/{uid}": { + "delete": { + "operationId": "v1AppProfilesUidDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the specified application profile", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "v1AppProfilesUidGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1AppProfile" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified application profile", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1AppProfilesUidUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1AppProfileEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified application profile", + "tags": [ + "v1" + ] + } + }, + "/v1/appProfiles/{uid}/clone": { + "parameters": [ + { + "description": "Application profile uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1AppProfilesUidClone", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1AppProfileCloneEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Clones the specified application profile", + "tags": [ + "v1" + ] + } + }, + "/v1/appProfiles/{uid}/clone/validate": { + "parameters": [ + { + "description": "Application profile uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1AppProfilesUidCloneValidate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1AppProfileCloneMetaInputEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Validates the specified application profile clone", + "tags": [ + "v1" + ] + } + }, + "/v1/appProfiles/{uid}/metadata": { + "parameters": [ + { + "description": "Application profile uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "patch": { + "operationId": "v1AppProfilesUidMetadataUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1AppProfileMetaEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified application profile metadata", + "tags": [ + "v1" + ] + } + }, + "/v1/appProfiles/{uid}/tiers": { + "get": { + "operationId": "v1AppProfilesUidTiersGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1AppProfileTiers" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of tiers of the specified application profile", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Application profile uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "patch": { + "operationId": "v1AppProfilesUidTiersPatch", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1AppTierPatchEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates app tier of the specified application profile", + "tags": [ + "v1" + ] + }, + "post": { + "operationId": "v1AppProfilesUidTiersCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1AppTierEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Adds tier to the specified application profile", + "tags": [ + "v1" + ] + } + }, + "/v1/appProfiles/{uid}/tiers/{tierUid}": { + "delete": { + "operationId": "v1AppProfilesUidTiersUidDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the specified application profile tier", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "v1AppProfilesUidTiersUidGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1AppTier" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified application profile tier information", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Application profile uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "description": "Application profile tier uid", + "in": "path", + "name": "tierUid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1AppProfilesUidTiersUidUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1AppTierUpdateEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified application profile tier", + "tags": [ + "v1" + ] + } + }, + "/v1/appProfiles/{uid}/tiers/{tierUid}/manifests": { + "get": { + "operationId": "v1AppProfilesUidTiersUidManifestsGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1AppTierManifests" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of manifests of the specified application profile tier", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Application profile uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "description": "Application profile tier uid", + "in": "path", + "name": "tierUid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1AppProfilesUidTiersUidManifestsCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ManifestInputEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Adds manifest to the specified application profile tier", + "tags": [ + "v1" + ] + } + }, + "/v1/appProfiles/{uid}/tiers/{tierUid}/manifests/{manifestUid}": { + "delete": { + "operationId": "v1AppProfilesUidTiersUidManifestsUidDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the specified application profile tier manifest", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "v1AppProfilesUidTiersUidManifestsUidGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1Manifest" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified application profile tier manifest information", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Application profile uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "description": "Application profile tier uid", + "in": "path", + "name": "tierUid", + "required": true, + "type": "string" + }, + { + "description": "Application profile tier manifest uid", + "in": "path", + "name": "manifestUid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1AppProfilesUidTiersUidManifestsUidUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ManifestRefUpdateEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified application profile tier manifest information", + "tags": [ + "v1" + ] + } + }, + "/v1/appProfiles/{uid}/tiers/{tierUid}/resolvedValues": { + "get": { + "operationId": "v1AppProfilesUidTiersUidResolvedValuesGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1AppTierResolvedValues" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified application profile tier resolved values", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Application profile uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "description": "Application profile tier uid", + "in": "path", + "name": "tierUid", + "required": true, + "type": "string" + } + ] + }, + "/v1/audits": { + "get": { + "operationId": "v1AuditsList", + "parameters": [ + { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "format": "date-time", + "in": "query", + "name": "startTime", + "type": "string" + }, + { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "format": "date-time", + "in": "query", + "name": "endTime", + "type": "string" + }, + { + "description": "Specify the user uid, to retrieve the specific user audit logs", + "in": "query", + "name": "userUid", + "type": "string" + }, + { + "description": "Specify the project uid, to retrieve the specific project audit logs", + "in": "query", + "name": "projectUid", + "type": "string" + }, + { + "description": "Specify the tenant uid, to retrieve the specific tenant audit logs", + "in": "query", + "name": "tenantUid", + "type": "string" + }, + { + "description": "Specify the resource name, to retrieve the specific resource audit logs", + "in": "query", + "name": "resourceKind", + "type": "string" + }, + { + "description": "Specify the resource uid, to retrieve the specific resource audit logs", + "in": "query", + "name": "resourceUid", + "type": "string" + }, + { + "enum": [ + "create", + "update", + "delete", + "publish", + "deploy" + ], + "in": "query", + "name": "actionType", + "type": "string" + }, + { + "default": 50, + "description": "limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "format": "int64", + "in": "query", + "name": "limit", + "type": "integer" + }, + { + "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", + "format": "int64", + "in": "query", + "name": "offset", + "type": "integer" + }, + { + "description": "continue token to paginate the subsequent data items", + "in": "query", + "name": "continue", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1Audits" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves the list of audit logs", + "tags": [ + "v1" + ] + } + }, + "/v1/audits/{uid}": { + "get": { + "operationId": "v1AuditsUidGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1Audit" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified audit log", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Specify the audit uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ] + }, + "/v1/audits/{uid}/sysMsg": { + "get": { + "operationId": "v1AuditsUidGetSysMsg", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1AuditSysMsg" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified system audit message", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Specify the audit uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ] + }, + "/v1/audits/{uid}/userMsg": { + "parameters": [ + { + "description": "Specify the audit uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "patch": { + "operationId": "v1AuditsUidMsgUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1AuditMsgUpdate" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified user message for the specified audit", + "tags": [ + "v1" + ] + } + }, + "/v1/auth/authenticate": { + "post": { + "description": "Creates a authentication request with the specified credentials", + "operationId": "v1Authenticate", + "parameters": [ + { + "default": true, + "description": "Describes a way to set cookie from backend.", + "in": "query", + "name": "setCookie", + "type": "boolean" + }, + { + "description": "Describes the credential details required for authentication", + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v1AuthLogin" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1UserToken" + } + } + }, + "summary": "Authenticates the user for the specified crendentials", + "tags": [ + "v1" + ] + } + }, + "/v1/auth/org": { + "get": { + "description": "Returns the allowed login method and information with the organization details", + "operationId": "v1AuthOrg", + "parameters": [ + { + "in": "query", + "name": "orgName", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1LoginResponse" + } + } + }, + "summary": "Returns the user organization details", + "tags": [ + "v1" + ] + } + }, + "/v1/auth/org/{org}/oidc/callback": { + "get": { + "description": "Returns the Authorization token for the palette. This is called by the IDP as a callback url after IDP authenticates the user with its server.", + "operationId": "V1OidcCallback", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1UserToken" + } + } + }, + "summary": "Idp authorization code callback", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Organization name", + "in": "path", + "name": "org", + "required": true, + "type": "string" + }, + { + "description": "Describes temporary and very short lived code sent by IDP to validate the token", + "in": "query", + "name": "code", + "type": "string" + }, + { + "description": "Describes a state to validate and associate request and response", + "in": "query", + "name": "state", + "type": "string" + }, + { + "description": "Describes a error code in case the IDP is not able to validate and authenticates the user", + "in": "query", + "name": "error", + "type": "string" + }, + { + "description": "Describes a error in case the IDP is not able to validate and authenticates the user", + "in": "query", + "name": "error_description", + "type": "string" + } + ] + }, + "/v1/auth/org/{org}/oidc/logout": { + "get": { + "description": "Returns No Content. Works as a callback url after the IDP logout from their server.", + "operationId": "V1OidcLogout", + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "summary": "Identity provider logout url for the Oidc", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Organization name", + "in": "path", + "name": "org", + "required": true, + "type": "string" + }, + { + "description": "Describes a state to validate and associate request and response", + "in": "query", + "name": "state", + "type": "string" + } + ] + }, + "/v1/auth/org/{org}/saml/callback": { + "parameters": [ + { + "description": "Organization name", + "in": "path", + "name": "org", + "required": true, + "type": "string" + }, + { + "description": "Deprecated.", + "in": "query", + "name": "authToken", + "type": "string" + } + ], + "post": { + "consumes": [ + "application/x-www-form-urlencoded" + ], + "description": "Returns the Authorization token for the palette. This is called by the SAML based IDP as a callback url after IDP authenticates the user with its server.", + "operationId": "V1SamlCallback", + "parameters": [ + { + "description": "Describe the SAML compliant response sent by IDP which will be validated by Palette", + "in": "formData", + "name": "SAMLResponse", + "type": "string" + }, + { + "description": "Describes a state to validate and associate request and response", + "in": "formData", + "name": "RelayState", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1UserToken" + } + } + }, + "summary": "Identity provider callback url for the SMAL authentication", + "tags": [ + "v1" + ] + } + }, + "/v1/auth/org/{org}/saml/logout": { + "parameters": [ + { + "description": "Organization name", + "in": "path", + "name": "org", + "required": true, + "type": "string" + }, + { + "description": "Deprecated.", + "in": "query", + "name": "authToken", + "type": "string" + } + ], + "post": { + "consumes": [ + "application/x-www-form-urlencoded" + ], + "description": "Returns No Content. Works as a callback url after the IDP logout from their server.", + "operationId": "V1SamlLogout", + "parameters": [ + { + "description": "Describe the SAML compliant response sent by IDP which will be validated by Palette to perform logout.", + "in": "formData", + "name": "SAMLResponse", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "summary": "Identity provider logout url for the SMAL", + "tags": [ + "v1" + ] + } + }, + "/v1/auth/orgs": { + "get": { + "description": "Returns a list of user's organizations details and login methods", + "operationId": "V1AuthOrgs", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1Organizations" + } + } + }, + "summary": "Returns a list of user's organizations", + "tags": [ + "v1" + ] + } + }, + "/v1/auth/password/{passwordToken}/activate": { + "parameters": [ + { + "description": "Describes the expirable password token for the user to be used for authentication of user", + "in": "path", + "name": "passwordToken", + "required": true, + "type": "string" + } + ], + "patch": { + "description": "Updates and Activates user password with the help of password token", + "operationId": "v1PasswordActivate", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "properties": { + "password": { + "description": "Describes the new password for the user", + "format": "password", + "type": "string" + } + }, + "required": [ + "password" + ], + "type": "object" + } + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "summary": "Updates and Activates the specified user password using the password token", + "tags": [ + "v1" + ] + } + }, + "/v1/auth/password/{passwordToken}/reset": { + "parameters": [ + { + "description": "Describes the expirable password token for the user to be used for authentication of user", + "in": "path", + "name": "passwordToken", + "required": true, + "type": "string" + } + ], + "patch": { + "description": "Updates the new user password with the help of password token", + "operationId": "v1PasswordReset", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "properties": { + "password": { + "description": "Describes the new password for the user", + "format": "password", + "type": "string" + } + }, + "required": [ + "password" + ], + "type": "object" + } + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "summary": "Resets the user password using the password token", + "tags": [ + "v1" + ] + } + }, + "/v1/auth/refresh/{token}": { + "get": { + "description": "Returns a new token within refresh timeout and same session id is maintained", + "operationId": "v1AuthRefresh", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1UserToken" + } + } + }, + "summary": "Refreshes authentication token", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "default": true, + "description": "Describes a way to set cookie from backend.", + "in": "query", + "name": "setCookie", + "type": "boolean" + }, + { + "description": "Non expired Authorization token", + "in": "path", + "name": "token", + "required": true, + "type": "string" + } + ] + }, + "/v1/auth/sso/idps": { + "get": { + "description": "Returns a list of predefined Identity Provider (IDP)", + "operationId": "V1SsoIdps", + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1IdentityProviders" + } + } + }, + "summary": "Returns a list of predefined Identity Provider (IDP)", + "tags": [ + "v1" + ] + } + }, + "/v1/auth/sso/logins": { + "get": { + "description": "Returns a list of supported sso logins and their authentication mechanism", + "operationId": "V1SsoLogins", + "parameters": [ + { + "in": "query", + "name": "org", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1SsoLogins" + } + } + }, + "summary": "Returns a list of supported sso logins", + "tags": [ + "v1" + ] + } + }, + "/v1/auth/sso/providers": { + "get": { + "description": "Returns a list of supported sso auth providers", + "operationId": "V1AuthSsoProviders", + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1SsoLogins" + } + } + }, + "summary": "Returns a list of supported sso auth providers", + "tags": [ + "v1" + ] + } + }, + "/v1/auth/sso/{ssoApp}/callback": { + "get": { + "description": "Returns Authorization token. Works as a callback url for the system defined sso apps", + "operationId": "V1SsoCallback", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1UserToken" + } + } + }, + "summary": "Returns Authorization token. Works as a callback url for the system defined sso apps", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Describes the sso app use to login into the system", + "in": "path", + "name": "ssoApp", + "required": true, + "type": "string" + }, + { + "description": "Describes temporary and very short lived code sent by IDP to validate the token", + "in": "query", + "name": "code", + "type": "string" + }, + { + "description": "Describes a state to validate and associate request and response", + "in": "query", + "name": "state", + "type": "string" + }, + { + "description": "Describes a error code in case the IDP is not able to validate and authenticates the user", + "in": "query", + "name": "error", + "type": "string" + }, + { + "description": "Describes a error in case the IDP is not able to validate and authenticates the user", + "in": "query", + "name": "error_description", + "type": "string" + } + ] + }, + "/v1/auth/user/org/forgot": { + "get": { + "description": "Returns No Content. Sends the user organization(s) information via email", + "operationId": "V1AuthUserOrgForgot", + "parameters": [ + { + "description": "Describes user's email id for sending organzation(s) details via email.", + "in": "query", + "name": "emailId", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "summary": "Returns No Content. Sends the user organization information via email", + "tags": [ + "v1" + ] + } + }, + "/v1/auth/user/password/reset": { + "post": { + "description": "Creates request to reset password via email. Password reset email will be sent to the user. Sends 204 No Content.", + "operationId": "v1PasswordResetRequest", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "properties": { + "emailId": { + "description": "Describes email if for which password reset email has to be sent", + "type": "string" + } + }, + "required": [ + "emailId" + ], + "type": "object" + } + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "summary": "Creates request to reset password via email", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudaccounts/aws": { + "get": { + "operationId": "v1CloudAccountsAwsList", + "parameters": [ + { + "description": "Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name", + "in": "query", + "name": "fields", + "type": "string" + }, + { + "description": "Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.", + "in": "query", + "name": "filters", + "type": "string" + }, + { + "description": "Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1", + "in": "query", + "name": "orderBy", + "type": "string" + }, + { + "default": 50, + "description": "limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "format": "int64", + "in": "query", + "name": "limit", + "type": "integer" + }, + { + "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", + "format": "int64", + "in": "query", + "name": "offset", + "type": "integer" + }, + { + "description": "continue token to paginate the subsequent data items", + "in": "query", + "name": "continue", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of cloud account items", + "schema": { + "$ref": "#/definitions/v1AwsAccounts" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of AWS cloud accounts", + "tags": [ + "v1" + ] + }, + "post": { + "operationId": "v1CloudAccountsAwsCreate", + "parameters": [ + { + "description": "Request payload to validate AWS cloud account", + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1AwsAccount" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Creates an AWS cloud account", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudaccounts/aws/{uid}": { + "delete": { + "operationId": "v1CloudAccountsAwsDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the specified AWS account", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "v1CloudAccountsAwsGet", + "parameters": [ + { + "default": false, + "in": "query", + "name": "assumeCredentials", + "type": "boolean" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1AwsAccount" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified AWS account", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "AWS cloud account uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1CloudAccountsAwsUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1AwsAccount" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified AWS account", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudaccounts/azure": { + "get": { + "operationId": "v1CloudAccountsAzureList", + "parameters": [ + { + "description": "Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name", + "in": "query", + "name": "fields", + "type": "string" + }, + { + "description": "Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.", + "in": "query", + "name": "filters", + "type": "string" + }, + { + "description": "Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1", + "in": "query", + "name": "orderBy", + "type": "string" + }, + { + "default": 50, + "description": "limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "format": "int64", + "in": "query", + "name": "limit", + "type": "integer" + }, + { + "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", + "format": "int64", + "in": "query", + "name": "offset", + "type": "integer" + }, + { + "description": "continue token to paginate the subsequent data items", + "in": "query", + "name": "continue", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of azure cloud account items", + "schema": { + "$ref": "#/definitions/v1AzureAccounts" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of azure cloud accounts", + "tags": [ + "v1" + ] + }, + "post": { + "operationId": "v1CloudAccountsAzureCreate", + "parameters": [ + { + "description": "Request payload to validate Azure cloud account", + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1AzureAccount" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Create azure cloud account", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudaccounts/azure/{uid}": { + "delete": { + "operationId": "v1CloudAccountsAzureDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the specified azure account", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "v1CloudAccountsAzureGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1AzureAccount" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified azure cloud account", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Azure cloud account uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1CloudAccountsAzureUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1AzureAccount" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified azure account", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudaccounts/cloudTypes/{cloudType}": { + "get": { + "operationId": "v1CloudAccountsCustomList", + "parameters": [ + { + "description": "Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name", + "in": "query", + "name": "fields", + "type": "string" + }, + { + "description": "Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.", + "in": "query", + "name": "filters", + "type": "string" + }, + { + "description": "Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1", + "in": "query", + "name": "orderBy", + "type": "string" + }, + { + "default": 50, + "description": "limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "format": "int64", + "in": "query", + "name": "limit", + "type": "integer" + }, + { + "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", + "format": "int64", + "in": "query", + "name": "offset", + "type": "integer" + }, + { + "description": "continue token to paginate the subsequent data items", + "in": "query", + "name": "continue", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of cloud account by specified cloud type items", + "schema": { + "$ref": "#/definitions/v1CustomAccounts" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of cloud accounts by cloud type", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Custom cloud type", + "in": "path", + "name": "cloudType", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1CloudAccountsCustomCreate", + "parameters": [ + { + "description": "Request payload to validate Custom cloud account", + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1CustomAccountEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Creates an cloud account of specific cloud type", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudaccounts/cloudTypes/{cloudType}/{uid}": { + "delete": { + "operationId": "v1CloudAccountsCustomDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the specified account by cloud type", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "v1CloudAccountsCustomGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1CustomAccount" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified account by cloud type", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Custom cloud account uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "description": "Custom cloud type", + "in": "path", + "name": "cloudType", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1CloudAccountsCustomUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1CustomAccountEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified account by cloud type", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudaccounts/gcp": { + "get": { + "operationId": "v1CloudAccountsGcpList", + "parameters": [ + { + "description": "Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name", + "in": "query", + "name": "fields", + "type": "string" + }, + { + "description": "Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.", + "in": "query", + "name": "filters", + "type": "string" + }, + { + "description": "Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1", + "in": "query", + "name": "orderBy", + "type": "string" + }, + { + "default": 50, + "description": "limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "format": "int64", + "in": "query", + "name": "limit", + "type": "integer" + }, + { + "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", + "format": "int64", + "in": "query", + "name": "offset", + "type": "integer" + }, + { + "description": "continue token to paginate the subsequent data items", + "in": "query", + "name": "continue", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of gcp cloud account items", + "schema": { + "$ref": "#/definitions/v1GcpAccounts" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of gcp cloud accounts", + "tags": [ + "v1" + ] + }, + "post": { + "operationId": "v1CloudAccountsGcpCreate", + "parameters": [ + { + "description": "Request payload to validate GCP cloud account", + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1GcpAccountEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Creates a GCP cloud account", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudaccounts/gcp/{uid}": { + "delete": { + "operationId": "v1CloudAccountsGcpDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the specified GCP account", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "v1CloudAccountsGcpGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1GcpAccount" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified GCP cloud account", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "GCP cloud account uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1CloudAccountsGcpUpdate", + "parameters": [ + { + "description": "Request payload to validate GCP cloud account", + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1GcpAccountEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified GCP account", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudaccounts/maas": { + "get": { + "operationId": "v1CloudAccountsMaasList", + "parameters": [ + { + "description": "Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name", + "in": "query", + "name": "fields", + "type": "string" + }, + { + "description": "Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.", + "in": "query", + "name": "filters", + "type": "string" + }, + { + "description": "Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1", + "in": "query", + "name": "orderBy", + "type": "string" + }, + { + "default": 50, + "description": "limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "format": "int64", + "in": "query", + "name": "limit", + "type": "integer" + }, + { + "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", + "format": "int64", + "in": "query", + "name": "offset", + "type": "integer" + }, + { + "description": "continue token to paginate the subsequent data items", + "in": "query", + "name": "continue", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of cloud account items", + "schema": { + "$ref": "#/definitions/v1MaasAccounts" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of Maas cloud accounts", + "tags": [ + "v1" + ] + }, + "post": { + "operationId": "v1CloudAccountsMaasCreate", + "parameters": [ + { + "description": "Request payload to validate Maas cloud account", + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1MaasAccount" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Creates an Maas cloud account", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudaccounts/maas/{uid}": { + "delete": { + "operationId": "v1CloudAccountsMaasDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the specified Maas account", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "v1CloudAccountsMaasGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1MaasAccount" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified Maas account", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Maas cloud account uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "patch": { + "operationId": "v1CloudAccountsMaasPatch", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v1CloudAccountsPatch" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Patches the specified CloudAccount Maas", + "tags": [ + "v1" + ] + }, + "put": { + "operationId": "v1CloudAccountsMaasUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1MaasAccount" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified Maas account", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudaccounts/maas/{uid}/properties/azs": { + "get": { + "operationId": "v1MaasAccountsUidAzs", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1MaasZones" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Get the maas azs for a given account", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ] + }, + "/v1/cloudaccounts/maas/{uid}/properties/domains": { + "get": { + "operationId": "v1MaasAccountsUidDomains", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1MaasDomains" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Get the maas domains for a given account", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ] + }, + "/v1/cloudaccounts/maas/{uid}/properties/resourcePools": { + "get": { + "operationId": "v1MaasAccountsUidPools", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1MaasPools" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Get the maas pools for a given account", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ] + }, + "/v1/cloudaccounts/maas/{uid}/properties/subnets": { + "get": { + "operationId": "v1MaasAccountsUidSubnets", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1MaasSubnets" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Get the maas subnets for a given account", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ] + }, + "/v1/cloudaccounts/maas/{uid}/properties/tags": { + "get": { + "operationId": "v1MaasAccountsUidTags", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1MaasTags" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Get the maas tags for a given account", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ] + }, + "/v1/cloudaccounts/openstack": { + "get": { + "operationId": "v1CloudAccountsOpenStackList", + "parameters": [ + { + "description": "Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name", + "in": "query", + "name": "fields", + "type": "string" + }, + { + "description": "Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.", + "in": "query", + "name": "filters", + "type": "string" + }, + { + "description": "Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1", + "in": "query", + "name": "orderBy", + "type": "string" + }, + { + "default": 50, + "description": "limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "format": "int64", + "in": "query", + "name": "limit", + "type": "integer" + }, + { + "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", + "format": "int64", + "in": "query", + "name": "offset", + "type": "integer" + }, + { + "description": "continue token to paginate the subsequent data items", + "in": "query", + "name": "continue", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of cloud account items", + "schema": { + "$ref": "#/definitions/v1OpenStackAccounts" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of OpenStack cloud accounts", + "tags": [ + "v1" + ] + }, + "post": { + "operationId": "v1CloudAccountsOpenStackCreate", + "parameters": [ + { + "description": "Request payload to validate OpenStack cloud account", + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1OpenStackAccount" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Creates a OpenStack cloud account", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudaccounts/openstack/{uid}": { + "delete": { + "operationId": "v1CloudAccountsOpenStackDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the specified OpenStack account", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "v1CloudAccountsOpenStackGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1OpenStackAccount" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified OpenStack account", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "OpenStack cloud account uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1CloudAccountsOpenStackUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1OpenStackAccount" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified OpenStack account", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudaccounts/openstack/{uid}/properties/azs": { + "get": { + "operationId": "v1OpenstackAccountsUidAzs", + "parameters": [ + { + "in": "query", + "name": "region", + "type": "string" + }, + { + "in": "query", + "name": "project", + "type": "string" + }, + { + "in": "query", + "name": "domain", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1OpenStackAzs" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Get the openstack azs for a given account and region", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ] + }, + "/v1/cloudaccounts/openstack/{uid}/properties/flavors": { + "get": { + "operationId": "v1OpenstackAccountsUidFlavors", + "parameters": [ + { + "in": "query", + "name": "project", + "type": "string" + }, + { + "in": "query", + "name": "region", + "type": "string" + }, + { + "in": "query", + "name": "domain", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1OpenStackFlavors" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Get the openstack keypairs for a given account and scope", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ] + }, + "/v1/cloudaccounts/openstack/{uid}/properties/keypairs": { + "get": { + "operationId": "v1OpenstackAccountsUidKeypairs", + "parameters": [ + { + "in": "query", + "name": "project", + "type": "string" + }, + { + "in": "query", + "name": "region", + "type": "string" + }, + { + "in": "query", + "name": "domain", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1OpenStackKeypairs" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Get the openstack keypairs for a given account and scope", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ] + }, + "/v1/cloudaccounts/openstack/{uid}/properties/networks": { + "get": { + "operationId": "v1OpenstackAccountsUidNetworks", + "parameters": [ + { + "in": "query", + "name": "project", + "type": "string" + }, + { + "in": "query", + "name": "region", + "type": "string" + }, + { + "in": "query", + "name": "domain", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1OpenStackNetworks" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Get the openstack networks for a given account and scope", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ] + }, + "/v1/cloudaccounts/openstack/{uid}/properties/projects": { + "get": { + "operationId": "v1OpenstackAccountsUidProjects", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1OpenStackProjects" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Get the openstack projects for a given account", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ] + }, + "/v1/cloudaccounts/openstack/{uid}/properties/regions": { + "get": { + "operationId": "v1OpenstackAccountsUidRegions", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1OpenStackRegions" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Get the openstack regions for a given account", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ] + }, + "/v1/cloudaccounts/summary": { + "get": { + "operationId": "v1CloudAccountsListSummary", + "parameters": [ + { + "description": "Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.", + "in": "query", + "name": "filters", + "type": "string" + }, + { + "description": "Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1", + "in": "query", + "name": "orderBy", + "type": "string" + }, + { + "default": 50, + "description": "limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "format": "int64", + "in": "query", + "name": "limit", + "type": "integer" + }, + { + "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", + "format": "int64", + "in": "query", + "name": "offset", + "type": "integer" + }, + { + "description": "continue token to paginate the subsequent data items", + "in": "query", + "name": "continue", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of cloud account summary items", + "schema": { + "$ref": "#/definitions/v1CloudAccountsSummary" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of cloud accounts summary", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudaccounts/tencent": { + "get": { + "operationId": "v1CloudAccountsTencentList", + "parameters": [ + { + "description": "Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name", + "in": "query", + "name": "fields", + "type": "string" + }, + { + "description": "Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.", + "in": "query", + "name": "filters", + "type": "string" + }, + { + "description": "Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1", + "in": "query", + "name": "orderBy", + "type": "string" + }, + { + "default": 50, + "description": "limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "format": "int64", + "in": "query", + "name": "limit", + "type": "integer" + }, + { + "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", + "format": "int64", + "in": "query", + "name": "offset", + "type": "integer" + }, + { + "description": "continue token to paginate the subsequent data items", + "in": "query", + "name": "continue", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of cloud account items", + "schema": { + "$ref": "#/definitions/v1TencentAccounts" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of Tencent cloud accounts", + "tags": [ + "v1" + ] + }, + "post": { + "operationId": "v1CloudAccountsTencentCreate", + "parameters": [ + { + "description": "Request payload to validate Tencent cloud account", + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1TencentAccount" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Creates an Tencent cloud account", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudaccounts/tencent/{uid}": { + "delete": { + "operationId": "v1CloudAccountsTencentDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the specified Tencent account", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "v1CloudAccountsTencentGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1TencentAccount" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified Tencent account", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Tencent cloud account uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1CloudAccountsTencentUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1TencentAccount" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified Tencent account", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudaccounts/vsphere": { + "get": { + "operationId": "v1CloudAccountsVsphereList", + "parameters": [ + { + "description": "Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name", + "in": "query", + "name": "fields", + "type": "string" + }, + { + "description": "Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.", + "in": "query", + "name": "filters", + "type": "string" + }, + { + "description": "Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1", + "in": "query", + "name": "orderBy", + "type": "string" + }, + { + "default": 50, + "description": "limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "format": "int64", + "in": "query", + "name": "limit", + "type": "integer" + }, + { + "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", + "format": "int64", + "in": "query", + "name": "offset", + "type": "integer" + }, + { + "description": "continue token to paginate the subsequent data items", + "in": "query", + "name": "continue", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of cloud account items", + "schema": { + "$ref": "#/definitions/v1VsphereAccounts" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of vSphere cloud accounts", + "tags": [ + "v1" + ] + }, + "post": { + "operationId": "v1CloudAccountsVsphereCreate", + "parameters": [ + { + "description": "Request payload to validate VSphere cloud account", + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1VsphereAccount" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Creates a vSphere cloud account", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudaccounts/vsphere/{uid}": { + "delete": { + "operationId": "v1CloudAccountsVsphereDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the specified vSphere account", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "v1CloudAccountsVsphereGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1VsphereAccount" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified vSphere account", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "VSphere cloud account uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1CloudAccountsVsphereUpdate", + "parameters": [ + { + "description": "Request payload to validate VSphere cloud account", + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1VsphereAccount" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified VSphere account", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudaccounts/vsphere/{uid}/properties/computecluster/resources": { + "get": { + "operationId": "v1VsphereAccountsUidClusterRes", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1VsphereComputeClusterResources" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Get the vSphere computecluster resources for the given overlord account", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "datacenter", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "computecluster", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "useQualifiedNetworkName", + "type": "boolean" + } + ] + }, + "/v1/cloudaccounts/vsphere/{uid}/properties/datacenters": { + "get": { + "operationId": "v1VsphereAccountsUidDatacenters", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1VsphereDatacenters" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Get the vSphere datacenters \u0026 datacluster for the given overlord account", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ] + }, + "/v1/cloudaccounts/{uid}/geoLocation": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "patch": { + "operationId": "v1AccountsGeolocationPatch", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v1GeolocationLatlong" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Update the geolocation annotation", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/aks/{configUid}": { + "get": { + "operationId": "v1CloudConfigsAksGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1AzureCloudConfig" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified AKS cloud config", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + } + ] + }, + "/v1/cloudconfigs/aks/{configUid}/clusterConfig": { + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1CloudConfigsAksUidClusterConfig", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1AzureCloudClusterConfigEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the cluster configuration information", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/aks/{configUid}/machinePools": { + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1CloudConfigsAksMachinePoolCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1AzureMachinePoolConfigEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Creates an AKS cloud config's machine pool", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/aks/{configUid}/machinePools/{machinePoolName}": { + "delete": { + "operationId": "v1CloudConfigsAksMachinePoolDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the specified machine pool", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + }, + { + "description": "Machine pool name", + "in": "path", + "name": "machinePoolName", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1CloudConfigsAksMachinePoolUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1AzureMachinePoolConfigEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified AKS cloud config's machine pool", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/aks/{configUid}/machinePools/{machinePoolName}/machines": { + "get": { + "operationId": "v1CloudConfigsAksPoolMachinesList", + "parameters": [ + { + "description": "Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name", + "in": "query", + "name": "fields", + "type": "string" + }, + { + "description": "Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.", + "in": "query", + "name": "filters", + "type": "string" + }, + { + "description": "Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1", + "in": "query", + "name": "orderBy", + "type": "string" + }, + { + "default": 50, + "description": "limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "format": "int64", + "in": "query", + "name": "limit", + "type": "integer" + }, + { + "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", + "format": "int64", + "in": "query", + "name": "offset", + "type": "integer" + }, + { + "description": "continue token to paginate the subsequent data items", + "in": "query", + "name": "continue", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of AKS machine items", + "schema": { + "$ref": "#/definitions/v1AzureMachines" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of AKS machines", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + }, + { + "description": "Machine pool name", + "in": "path", + "name": "machinePoolName", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1CloudConfigsAksPoolMachinesAdd", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1AzureMachine" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Adds the machine to cloud config's machine pool", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/aks/{configUid}/machinePools/{machinePoolName}/machines/{machineUid}": { + "delete": { + "operationId": "v1CloudConfigsAksPoolMachinesUidDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the specified Azure machine", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "v1CloudConfigsAksPoolMachinesUidGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1AzureMachine" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified AKS machine", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + }, + { + "description": "Machine pool name", + "in": "path", + "name": "machinePoolName", + "required": true, + "type": "string" + }, + { + "description": "Machine uid", + "in": "path", + "name": "machineUid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1CloudConfigsAksPoolMachinesUidUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1AzureMachine" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified machine to the cloud config's machine pool", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/aws/{configUid}": { + "get": { + "operationId": "v1CloudConfigsAwsGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1AwsCloudConfig" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified AWS cloud config", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + } + ] + }, + "/v1/cloudconfigs/aws/{configUid}/clusterConfig": { + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1CloudConfigsAwsUidClusterConfig", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1AwsCloudClusterConfigEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the cluster configuration information", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/aws/{configUid}/machinePools": { + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1CloudConfigsAwsMachinePoolCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1AwsMachinePoolConfigEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Creates an AWS cloud config's machine pool", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/aws/{configUid}/machinePools/{machinePoolName}": { + "delete": { + "operationId": "v1CloudConfigsAwsMachinePoolDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the specified machine pool", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + }, + { + "description": "Machine pool name", + "in": "path", + "name": "machinePoolName", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1CloudConfigsAwsMachinePoolUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1AwsMachinePoolConfigEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified AWS cloud config's machine pool", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/aws/{configUid}/machinePools/{machinePoolName}/machines": { + "get": { + "operationId": "v1CloudConfigsAwsPoolMachinesList", + "parameters": [ + { + "description": "Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name", + "in": "query", + "name": "fields", + "type": "string" + }, + { + "description": "Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.", + "in": "query", + "name": "filters", + "type": "string" + }, + { + "description": "Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1", + "in": "query", + "name": "orderBy", + "type": "string" + }, + { + "default": 50, + "description": "limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "format": "int64", + "in": "query", + "name": "limit", + "type": "integer" + }, + { + "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", + "format": "int64", + "in": "query", + "name": "offset", + "type": "integer" + }, + { + "description": "continue token to paginate the subsequent data items", + "in": "query", + "name": "continue", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of AWS machine items", + "schema": { + "$ref": "#/definitions/v1AwsMachines" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of AWS machines", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + }, + { + "description": "Machine pool name", + "in": "path", + "name": "machinePoolName", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1CloudConfigsAwsPoolMachinesAdd", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1AwsMachine" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Adds the machine to cloud config's machine pool", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/aws/{configUid}/machinePools/{machinePoolName}/machines/{machineUid}": { + "delete": { + "operationId": "v1CloudConfigsAwsPoolMachinesUidDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the specified AWS machine", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "v1CloudConfigsAwsPoolMachinesUidGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1AwsMachine" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified AWS machine", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + }, + { + "description": "Machine pool name", + "in": "path", + "name": "machinePoolName", + "required": true, + "type": "string" + }, + { + "description": "Machine uid", + "in": "path", + "name": "machineUid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1CloudConfigsAwsPoolMachinesUidUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1AwsMachine" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified machine to the cloud config's machine pool", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/azure/{configUid}": { + "get": { + "operationId": "v1CloudConfigsAzureGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1AzureCloudConfig" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified Azure cloud config", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + } + ] + }, + "/v1/cloudconfigs/azure/{configUid}/clusterConfig": { + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1CloudConfigsAzureUidClusterConfig", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1AzureCloudClusterConfigEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the cluster configuration information", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/azure/{configUid}/machinePools": { + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1CloudConfigsAzureMachinePoolCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1AzureMachinePoolConfigEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Creates an Azure cloud config's machine pool", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/azure/{configUid}/machinePools/{machinePoolName}": { + "delete": { + "operationId": "v1CloudConfigsAzureMachinePoolDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the specified machine pool", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + }, + { + "description": "Machine pool name", + "in": "path", + "name": "machinePoolName", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1CloudConfigsAzureMachinePoolUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1AzureMachinePoolConfigEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified Azure cloud config's machine pool", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/azure/{configUid}/machinePools/{machinePoolName}/machines": { + "get": { + "description": "Returns all the Azure machines restricted to the user role and filters.", + "operationId": "v1CloudConfigsAzurePoolMachinesList", + "parameters": [ + { + "description": "Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name", + "in": "query", + "name": "fields", + "type": "string" + }, + { + "description": "Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.", + "in": "query", + "name": "filters", + "type": "string" + }, + { + "description": "Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1", + "in": "query", + "name": "orderBy", + "type": "string" + }, + { + "default": 50, + "description": "limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "format": "int64", + "in": "query", + "name": "limit", + "type": "integer" + }, + { + "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", + "format": "int64", + "in": "query", + "name": "offset", + "type": "integer" + }, + { + "description": "continue token to paginate the subsequent data items", + "in": "query", + "name": "continue", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of AWS machine items", + "schema": { + "$ref": "#/definitions/v1AzureMachines" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of Azure machines", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + }, + { + "description": "Machine pool name", + "in": "path", + "name": "machinePoolName", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1CloudConfigsAzurePoolMachinesAdd", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1AzureMachine" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Adds the machine to cloud config's machine pool", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/azure/{configUid}/machinePools/{machinePoolName}/machines/{machineUid}": { + "delete": { + "operationId": "v1CloudConfigsAzurePoolMachinesUidDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the specified Azure machine", + "tags": [ + "v1" + ] + }, + "get": { + "description": "Returns a Azure machine for the specified uid.", + "operationId": "v1CloudConfigsAzurePoolMachinesUidGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1AzureMachine" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified Azure machine", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + }, + { + "description": "Machine pool name", + "in": "path", + "name": "machinePoolName", + "required": true, + "type": "string" + }, + { + "description": "Machine uid", + "in": "path", + "name": "machineUid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1CloudConfigsAzurePoolMachinesUidUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1AzureMachine" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified machine to cloud config's machine pool", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/cloudTypes/{cloudType}/{configUid}": { + "get": { + "operationId": "v1CloudConfigsCustomGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1CustomCloudConfig" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified Custom cloud config", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster's cloud type", + "in": "path", + "name": "cloudType", + "required": true, + "type": "string" + }, + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + } + ] + }, + "/v1/cloudconfigs/cloudTypes/{cloudType}/{configUid}/clusterConfig": { + "parameters": [ + { + "description": "Cluster's cloud type", + "in": "path", + "name": "cloudType", + "required": true, + "type": "string" + }, + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1CloudConfigsCustomUidClusterConfig", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1CustomCloudClusterConfigEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the cluster configuration information", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/cloudTypes/{cloudType}/{configUid}/machinePools": { + "parameters": [ + { + "description": "Cluster's cloud type", + "in": "path", + "name": "cloudType", + "required": true, + "type": "string" + }, + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1CloudConfigsCustomMachinePoolCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1CustomMachinePoolConfigEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Creates an Custom cloud config's machine pool", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/cloudTypes/{cloudType}/{configUid}/machinePools/{machinePoolName}": { + "delete": { + "operationId": "v1CloudConfigsCustomMachinePoolDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the specified machine pool", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster's cloud type", + "in": "path", + "name": "cloudType", + "required": true, + "type": "string" + }, + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + }, + { + "description": "Machine pool name", + "in": "path", + "name": "machinePoolName", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1CloudConfigsCustomMachinePoolUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1CustomMachinePoolConfigEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified Custom cloud config's machine pool", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/cloudTypes/{cloudType}/{configUid}/machinePools/{machinePoolName}/machines": { + "get": { + "operationId": "v1CloudConfigsCustomPoolMachinesList", + "parameters": [ + { + "description": "Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name", + "in": "query", + "name": "fields", + "type": "string" + }, + { + "description": "Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.", + "in": "query", + "name": "filters", + "type": "string" + }, + { + "description": "Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1", + "in": "query", + "name": "orderBy", + "type": "string" + }, + { + "default": 50, + "description": "limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "format": "int64", + "in": "query", + "name": "limit", + "type": "integer" + }, + { + "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", + "format": "int64", + "in": "query", + "name": "offset", + "type": "integer" + }, + { + "description": "continue token to paginate the subsequent data items", + "in": "query", + "name": "continue", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of Custom machine items", + "schema": { + "$ref": "#/definitions/v1CustomMachines" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of Custom machines", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster's cloud type", + "in": "path", + "name": "cloudType", + "required": true, + "type": "string" + }, + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + }, + { + "description": "Machine pool name", + "in": "path", + "name": "machinePoolName", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1CloudConfigsCustomPoolMachinesAdd", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1CustomMachine" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Adds the machine to cloud config's machine pool", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/cloudTypes/{cloudType}/{configUid}/machinePools/{machinePoolName}/machines/{machineUid}": { + "delete": { + "operationId": "v1CloudConfigsCustomPoolMachinesUidDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the specified Custom machine", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "v1CloudConfigsCustomPoolMachinesUidGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1CustomMachine" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified Custom machine", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster's cloud type", + "in": "path", + "name": "cloudType", + "required": true, + "type": "string" + }, + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + }, + { + "description": "Machine pool name", + "in": "path", + "name": "machinePoolName", + "required": true, + "type": "string" + }, + { + "description": "Machine uid", + "in": "path", + "name": "machineUid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1CloudConfigsCustomPoolMachinesUidUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1CustomMachine" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified machine to the cloud config's machine pool", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/coxedge/{configUid}/machinePools/{machinePoolName}/machines": { + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + }, + { + "description": "Machine pool name", + "in": "path", + "name": "machinePoolName", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1CloudConfigsCoxEdgePoolMachinesAdd", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1CoxEdgeMachine" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Adds the machine to cloud config's machine pool", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/edge-native/{configUid}": { + "get": { + "operationId": "v1CloudConfigsEdgeNativeGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1EdgeNativeCloudConfig" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified edge-native cloud config", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + } + ] + }, + "/v1/cloudconfigs/edge-native/{configUid}/clusterConfig": { + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1CloudConfigsEdgeNativeUidClusterConfig", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1EdgeNativeCloudClusterConfigEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the cluster configuration information", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/edge-native/{configUid}/machinePools": { + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1CloudConfigsEdgeNativeMachinePoolCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1EdgeNativeMachinePoolConfigEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Creates a edge-native cloud config's machine pool", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/edge-native/{configUid}/machinePools/{machinePoolName}": { + "delete": { + "operationId": "v1CloudConfigsEdgeNativeMachinePoolDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the specified machine pool", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + }, + { + "description": "Machine pool name", + "in": "path", + "name": "machinePoolName", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1CloudConfigsEdgeNativeMachinePoolUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1EdgeNativeMachinePoolConfigEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified edge-native cloud config's machine pool", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/edge-native/{configUid}/machinePools/{machinePoolName}/machines": { + "get": { + "operationId": "v1CloudConfigsEdgeNativePoolMachinesList", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of edge-native machine items", + "schema": { + "$ref": "#/definitions/v1EdgeNativeMachines" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of edge-native machines", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + }, + { + "description": "Machine pool name", + "in": "path", + "name": "machinePoolName", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1CloudConfigsEdgeNativePoolMachinesAdd", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1EdgeNativeMachine" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Adds the edge-native machine to cloud config's machine pool", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/edge-native/{configUid}/machinePools/{machinePoolName}/machines/{machineUid}": { + "delete": { + "operationId": "v1CloudConfigsEdgeNativePoolMachinesUidDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the specified edge-native machine", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "v1CloudConfigsEdgeNativePoolMachinesUidGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1EdgeNativeMachine" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified edge-native machine", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + }, + { + "description": "Machine pool name", + "in": "path", + "name": "machinePoolName", + "required": true, + "type": "string" + }, + { + "description": "Machine uid", + "in": "path", + "name": "machineUid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1CloudConfigsEdgeNativePoolMachinesUidUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1EdgeNativeMachine" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified machine to cloud config's machine pool", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/eks/{configUid}": { + "get": { + "operationId": "v1CloudConfigsEksGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1EksCloudConfig" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified EKS cloud config", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + } + ] + }, + "/v1/cloudconfigs/eks/{configUid}/clusterConfig": { + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1CloudConfigsEksUidClusterConfig", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1EksCloudClusterConfigEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the cluster configuration information", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/eks/{configUid}/fargateProfiles": { + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1CloudConfigsEksUidFargateProfilesUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1EksFargateProfiles" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates EKS cloud config's fargate profiles", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/eks/{configUid}/machinePools": { + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1CloudConfigsEksMachinePoolCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1EksMachinePoolConfigEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Creates an EKS cloud config's machine pool", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/eks/{configUid}/machinePools/{machinePoolName}": { + "delete": { + "operationId": "v1CloudConfigsEksMachinePoolDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the specified machine pool", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + }, + { + "description": "Machine pool name", + "in": "path", + "name": "machinePoolName", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1CloudConfigsEksMachinePoolUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1EksMachinePoolConfigEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified EKS cloud config's machine pool", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/eks/{configUid}/machinePools/{machinePoolName}/machines": { + "get": { + "operationId": "v1CloudConfigsEksPoolMachinesList", + "parameters": [ + { + "description": "Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name", + "in": "query", + "name": "fields", + "type": "string" + }, + { + "description": "Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.", + "in": "query", + "name": "filters", + "type": "string" + }, + { + "description": "Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1", + "in": "query", + "name": "orderBy", + "type": "string" + }, + { + "default": 50, + "description": "limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "format": "int64", + "in": "query", + "name": "limit", + "type": "integer" + }, + { + "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", + "format": "int64", + "in": "query", + "name": "offset", + "type": "integer" + }, + { + "description": "continue token to paginate the subsequent data items", + "in": "query", + "name": "continue", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of EKS machine items", + "schema": { + "$ref": "#/definitions/v1AwsMachines" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of EKS machines", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + }, + { + "description": "Machine pool name", + "in": "path", + "name": "machinePoolName", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1CloudConfigsEksPoolMachinesAdd", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1AwsMachine" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Adds the machine to cloud config's machine pool", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/eks/{configUid}/machinePools/{machinePoolName}/machines/{machineUid}": { + "delete": { + "operationId": "v1CloudConfigsEksPoolMachinesUidDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the specified EKS machine", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "v1CloudConfigsEksPoolMachinesUidGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1AwsMachine" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified EKS machine", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + }, + { + "description": "Machine pool name", + "in": "path", + "name": "machinePoolName", + "required": true, + "type": "string" + }, + { + "description": "Machine uid", + "in": "path", + "name": "machineUid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1CloudConfigsEksPoolMachinesUidUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1AwsMachine" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified machine to the cloud config's machine pool", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/gcp/{configUid}": { + "get": { + "operationId": "v1CloudConfigsGcpGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1GcpCloudConfig" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified GCP cloud config", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + } + ] + }, + "/v1/cloudconfigs/gcp/{configUid}/clusterConfig": { + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1CloudConfigsGcpUidClusterConfig", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1GcpCloudClusterConfigEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the cluster configuration information", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/gcp/{configUid}/machinePools": { + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1CloudConfigsGcpMachinePoolCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1GcpMachinePoolConfigEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Creates a Gcp cloud config's machine pool", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/gcp/{configUid}/machinePools/{machinePoolName}": { + "delete": { + "operationId": "v1CloudConfigsGcpMachinePoolDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the specified machine pool", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + }, + { + "description": "Machine pool name", + "in": "path", + "name": "machinePoolName", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1CloudConfigsGcpMachinePoolUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1GcpMachinePoolConfigEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified GCP cloud config's machine pool", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/gcp/{configUid}/machinePools/{machinePoolName}/machines": { + "get": { + "operationId": "v1CloudConfigsGcpPoolMachinesList", + "parameters": [ + { + "description": "Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name", + "in": "query", + "name": "fields", + "type": "string" + }, + { + "description": "Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.", + "in": "query", + "name": "filters", + "type": "string" + }, + { + "description": "Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1", + "in": "query", + "name": "orderBy", + "type": "string" + }, + { + "default": 50, + "description": "limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "format": "int64", + "in": "query", + "name": "limit", + "type": "integer" + }, + { + "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", + "format": "int64", + "in": "query", + "name": "offset", + "type": "integer" + }, + { + "description": "continue token to paginate the subsequent data items", + "in": "query", + "name": "continue", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of GCP machine items", + "schema": { + "$ref": "#/definitions/v1GcpMachines" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of GCP machines", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + }, + { + "description": "Machine pool name", + "in": "path", + "name": "machinePoolName", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1CloudConfigsGcpPoolMachinesAdd", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1GcpMachine" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Adds the machine to cloud config's machine pool", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/gcp/{configUid}/machinePools/{machinePoolName}/machines/{machineUid}": { + "delete": { + "operationId": "v1CloudConfigsGcpPoolMachinesUidDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the specified GCP machine", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "v1CloudConfigsGcpPoolMachinesUidGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1GcpMachine" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified GCP machine", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + }, + { + "description": "Machine pool name", + "in": "path", + "name": "machinePoolName", + "required": true, + "type": "string" + }, + { + "description": "Machine uid", + "in": "path", + "name": "machineUid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1CloudConfigsGcpPoolMachinesUidUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1GcpMachine" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified machine to the cloud config's machine pool", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/generic/{configUid}": { + "get": { + "operationId": "v1CloudConfigsGenericGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1GenericCloudConfig" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified Generic cloud config", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + } + ] + }, + "/v1/cloudconfigs/generic/{configUid}/clusterConfig": { + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1CloudConfigsGenericUidClusterConfig", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1GenericCloudClusterConfigEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the cluster configuration information", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/generic/{configUid}/machinePools": { + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1CloudConfigsGenericMachinePoolCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1GenericMachinePoolConfigEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Creates a generic cloud config's machine pool", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/generic/{configUid}/machinePools/{machinePoolName}": { + "delete": { + "operationId": "v1CloudConfigsGenericMachinePoolDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the specified machine pool", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + }, + { + "description": "Machine pool name", + "in": "path", + "name": "machinePoolName", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1CloudConfigsGenericMachinePoolUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1GenericMachinePoolConfigEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified generic cloud config's machine pool", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/generic/{configUid}/machinePools/{machinePoolName}/machines": { + "get": { + "operationId": "v1CloudConfigsGenericPoolMachinesList", + "parameters": [ + { + "description": "Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name", + "in": "query", + "name": "fields", + "type": "string" + }, + { + "description": "Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.", + "in": "query", + "name": "filters", + "type": "string" + }, + { + "description": "Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1", + "in": "query", + "name": "orderBy", + "type": "string" + }, + { + "default": 50, + "description": "limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "format": "int64", + "in": "query", + "name": "limit", + "type": "integer" + }, + { + "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", + "format": "int64", + "in": "query", + "name": "offset", + "type": "integer" + }, + { + "description": "continue token to paginate the subsequent data items", + "in": "query", + "name": "continue", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of Generic machine items", + "schema": { + "$ref": "#/definitions/v1GenericMachines" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of Generic machines", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + }, + { + "description": "Machine pool name", + "in": "path", + "name": "machinePoolName", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1CloudConfigsGenericPoolMachinesAdd", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1GenericMachine" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Adds the machine to cloud config's machine pool", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/generic/{configUid}/machinePools/{machinePoolName}/machines/{machineUid}": { + "delete": { + "operationId": "v1CloudConfigsGenericPoolMachinesUidDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the specified machine", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "v1CloudConfigsGenericPoolMachinesUidGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1GenericMachine" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified generic machine", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + }, + { + "description": "Machine pool name", + "in": "path", + "name": "machinePoolName", + "required": true, + "type": "string" + }, + { + "description": "Machine uid", + "in": "path", + "name": "machineUid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1CloudConfigsGenericPoolMachinesUidUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1GenericMachine" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified machine to the cloud config's machine pool", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/gke/{configUid}": { + "get": { + "operationId": "v1CloudConfigsGkeGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1GcpCloudConfig" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified GKE cloud config", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + } + ] + }, + "/v1/cloudconfigs/gke/{configUid}/clusterConfig": { + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1CloudConfigsGkeUidClusterConfig", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1GcpCloudClusterConfigEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the cluster configuration information", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/gke/{configUid}/machinePools": { + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1CloudConfigsGkeMachinePoolCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1GcpMachinePoolConfigEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Creates an GKE cloud config's machine pool", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/gke/{configUid}/machinePools/{machinePoolName}": { + "delete": { + "operationId": "v1CloudConfigsGkeMachinePoolDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the specified machine pool", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + }, + { + "description": "Machine pool name", + "in": "path", + "name": "machinePoolName", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1CloudConfigsGkeMachinePoolUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1GcpMachinePoolConfigEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified GKE cloud config's machine pool", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/gke/{configUid}/machinePools/{machinePoolName}/machines": { + "get": { + "operationId": "v1CloudConfigsGkePoolMachinesList", + "parameters": [ + { + "description": "Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name", + "in": "query", + "name": "fields", + "type": "string" + }, + { + "description": "Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.", + "in": "query", + "name": "filters", + "type": "string" + }, + { + "description": "Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1", + "in": "query", + "name": "orderBy", + "type": "string" + }, + { + "default": 50, + "description": "limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "format": "int64", + "in": "query", + "name": "limit", + "type": "integer" + }, + { + "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", + "format": "int64", + "in": "query", + "name": "offset", + "type": "integer" + }, + { + "description": "continue token to paginate the subsequent data items", + "in": "query", + "name": "continue", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of GKE machine items", + "schema": { + "$ref": "#/definitions/v1GcpMachines" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of GKE machines", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + }, + { + "description": "Machine pool name", + "in": "path", + "name": "machinePoolName", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1CloudConfigsGkePoolMachinesAdd", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1GcpMachine" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Adds the machine to cloud config's machine pool", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/gke/{configUid}/machinePools/{machinePoolName}/machines/{machineUid}": { + "delete": { + "operationId": "v1CloudConfigsGkePoolMachinesUidDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the specified Gcp machine", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "v1CloudConfigsGkePoolMachinesUidGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1GcpMachine" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified GKE machine", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + }, + { + "description": "Machine pool name", + "in": "path", + "name": "machinePoolName", + "required": true, + "type": "string" + }, + { + "description": "Machine uid", + "in": "path", + "name": "machineUid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1CloudConfigsGkePoolMachinesUidUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1GcpMachine" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified machine to the cloud config's machine pool", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/maas/{configUid}": { + "get": { + "operationId": "v1CloudConfigsMaasGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1MaasCloudConfig" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified Maas cloud config", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + } + ] + }, + "/v1/cloudconfigs/maas/{configUid}/clusterConfig": { + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1CloudConfigsMaasUidClusterConfig", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1MaasCloudClusterConfigEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the cluster configuration information", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/maas/{configUid}/machinePools": { + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1CloudConfigsMaasMachinePoolCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1MaasMachinePoolConfigEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Creates an Maas cloud config's machine pool", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/maas/{configUid}/machinePools/{machinePoolName}": { + "delete": { + "operationId": "v1CloudConfigsMaasMachinePoolDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the specified machine pool", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + }, + { + "description": "Machine pool name", + "in": "path", + "name": "machinePoolName", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1CloudConfigsMaasMachinePoolUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1MaasMachinePoolConfigEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified Maas cloud config's machine pool", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/maas/{configUid}/machinePools/{machinePoolName}/machines": { + "get": { + "operationId": "v1CloudConfigsMaasPoolMachinesList", + "parameters": [ + { + "description": "Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name", + "in": "query", + "name": "fields", + "type": "string" + }, + { + "description": "Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.", + "in": "query", + "name": "filters", + "type": "string" + }, + { + "description": "Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1", + "in": "query", + "name": "orderBy", + "type": "string" + }, + { + "default": 50, + "description": "limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "format": "int64", + "in": "query", + "name": "limit", + "type": "integer" + }, + { + "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", + "format": "int64", + "in": "query", + "name": "offset", + "type": "integer" + }, + { + "description": "continue token to paginate the subsequent data items", + "in": "query", + "name": "continue", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of Maas machine items", + "schema": { + "$ref": "#/definitions/v1MaasMachines" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of Maas machines", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + }, + { + "description": "Machine pool name", + "in": "path", + "name": "machinePoolName", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1CloudConfigsMaasPoolMachinesAdd", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1MaasMachine" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Adds the machine to cloud config's machine pool", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/maas/{configUid}/machinePools/{machinePoolName}/machines/{machineUid}": { + "delete": { + "operationId": "v1CloudConfigsMaasPoolMachinesUidDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the specified Maas machine", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "v1CloudConfigsMaasPoolMachinesUidGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1MaasMachine" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified Maas machine", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + }, + { + "description": "Machine pool name", + "in": "path", + "name": "machinePoolName", + "required": true, + "type": "string" + }, + { + "description": "Machine uid", + "in": "path", + "name": "machineUid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1CloudConfigsMaasPoolMachinesUidUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1MaasMachine" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified machine to the cloud config's machine pool", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/openstack/{configUid}": { + "get": { + "operationId": "v1CloudConfigsOpenStackGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1OpenStackCloudConfig" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified OpenStack cloud config", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + } + ] + }, + "/v1/cloudconfigs/openstack/{configUid}/clusterConfig": { + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1CloudConfigsOpenStackUidClusterConfig", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1OpenStackCloudClusterConfigEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the cluster configuration information", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/openstack/{configUid}/machinePools": { + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1CloudConfigsOpenStackMachinePoolCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1OpenStackMachinePoolConfigEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Creates a OpenStack cloud config's machine pool", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/openstack/{configUid}/machinePools/{machinePoolName}": { + "delete": { + "operationId": "v1CloudConfigsOpenStackMachinePoolDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the specified machine pool", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + }, + { + "description": "Machine pool name", + "in": "path", + "name": "machinePoolName", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1CloudConfigsOpenStackMachinePoolUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1OpenStackMachinePoolConfigEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified OpenStack cloud config's machine pool", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/openstack/{configUid}/machinePools/{machinePoolName}/machines": { + "get": { + "operationId": "v1CloudConfigsOpenStackPoolMachinesList", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of OpenStack machine items", + "schema": { + "$ref": "#/definitions/v1OpenStackMachines" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of OpenStack machines", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + }, + { + "description": "Machine pool name", + "in": "path", + "name": "machinePoolName", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1CloudConfigsOpenStackPoolMachinesAdd", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1OpenStackMachine" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Adds the OpenStack machine to cloud config's machine pool", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/openstack/{configUid}/machinePools/{machinePoolName}/machines/{machineUid}": { + "delete": { + "operationId": "v1CloudConfigsOpenStackPoolMachinesUidDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the specified OpenStack machine", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "v1CloudConfigsOpenStackPoolMachinesUidGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1OpenStackMachine" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified OpenStack machine", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + }, + { + "description": "Machine pool name", + "in": "path", + "name": "machinePoolName", + "required": true, + "type": "string" + }, + { + "description": "Machine uid", + "in": "path", + "name": "machineUid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1CloudConfigsOpenStackPoolMachinesUidUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1OpenStackMachine" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified machine to cloud config's machine pool", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/tke/{configUid}": { + "get": { + "operationId": "v1CloudConfigsTkeGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1TencentCloudConfig" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified TKE cloud config", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + } + ] + }, + "/v1/cloudconfigs/tke/{configUid}/clusterConfig": { + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1CloudConfigsTkeUidClusterConfig", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1TencentCloudClusterConfigEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the cluster configuration information", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/tke/{configUid}/machinePools": { + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1CloudConfigsTkeMachinePoolCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1TencentMachinePoolConfigEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Creates an TKE cloud config's machine pool", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/tke/{configUid}/machinePools/{machinePoolName}": { + "delete": { + "operationId": "v1CloudConfigsTkeMachinePoolDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the specified machine pool", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + }, + { + "description": "Machine pool name", + "in": "path", + "name": "machinePoolName", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1CloudConfigsTkeMachinePoolUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1TencentMachinePoolConfigEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified TKE cloud config's machine pool", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/tke/{configUid}/machinePools/{machinePoolName}/machines": { + "get": { + "operationId": "v1CloudConfigsTkePoolMachinesList", + "parameters": [ + { + "description": "Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name", + "in": "query", + "name": "fields", + "type": "string" + }, + { + "description": "Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.", + "in": "query", + "name": "filters", + "type": "string" + }, + { + "description": "Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1", + "in": "query", + "name": "orderBy", + "type": "string" + }, + { + "default": 50, + "description": "limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "format": "int64", + "in": "query", + "name": "limit", + "type": "integer" + }, + { + "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", + "format": "int64", + "in": "query", + "name": "offset", + "type": "integer" + }, + { + "description": "continue token to paginate the subsequent data items", + "in": "query", + "name": "continue", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of TKE machine items", + "schema": { + "$ref": "#/definitions/v1TencentMachines" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of TKE machines", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + }, + { + "description": "Machine pool name", + "in": "path", + "name": "machinePoolName", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1CloudConfigsTkePoolMachinesAdd", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1TencentMachine" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Adds the machine to cloud config's machine pool", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/tke/{configUid}/machinePools/{machinePoolName}/machines/{machineUid}": { + "delete": { + "operationId": "v1CloudConfigsTkePoolMachinesUidDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the specified Tencent machine", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "v1CloudConfigsTkePoolMachinesUidGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1TencentMachine" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified Tke machine", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + }, + { + "description": "Machine pool name", + "in": "path", + "name": "machinePoolName", + "required": true, + "type": "string" + }, + { + "description": "Machine uid", + "in": "path", + "name": "machineUid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1CloudConfigsTkePoolMachinesUidUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1TencentMachine" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified machine to the cloud config's machine pool", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/virtual/{configUid}": { + "get": { + "operationId": "v1CloudConfigsVirtualGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1VirtualCloudConfig" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified Virtual cloud config", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + } + ] + }, + "/v1/cloudconfigs/virtual/{configUid}/clusterConfig": { + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1CloudConfigsVirtualUidClusterConfig", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1VirtualCloudClusterConfigEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the cluster configuration information", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/virtual/{configUid}/machinePools": { + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1CloudConfigsVirtualMachinePoolCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1VirtualMachinePoolConfigEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Creates a virtual cloud config's machine pool", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/virtual/{configUid}/machinePools/{machinePoolName}": { + "delete": { + "operationId": "v1CloudConfigsVirtualMachinePoolDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the specified machine pool", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + }, + { + "description": "Machine pool name", + "in": "path", + "name": "machinePoolName", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1CloudConfigsVirtualMachinePoolUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1VirtualMachinePoolConfigEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified virtual cloud config's machine pool", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/virtual/{configUid}/machinePools/{machinePoolName}/machines": { + "get": { + "operationId": "v1CloudConfigsVirtualPoolMachinesList", + "parameters": [ + { + "description": "Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name", + "in": "query", + "name": "fields", + "type": "string" + }, + { + "description": "Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.", + "in": "query", + "name": "filters", + "type": "string" + }, + { + "description": "Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1", + "in": "query", + "name": "orderBy", + "type": "string" + }, + { + "default": 50, + "description": "limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "format": "int64", + "in": "query", + "name": "limit", + "type": "integer" + }, + { + "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", + "format": "int64", + "in": "query", + "name": "offset", + "type": "integer" + }, + { + "description": "continue token to paginate the subsequent data items", + "in": "query", + "name": "continue", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of virtual machine items", + "schema": { + "$ref": "#/definitions/v1VirtualMachines" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of virtual machines", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + }, + { + "description": "Machine pool name", + "in": "path", + "name": "machinePoolName", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1CloudConfigsVirtualPoolMachinesAdd", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1VirtualMachine" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Adds the machine to cloud config's machine pool", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/virtual/{configUid}/machinePools/{machinePoolName}/machines/{machineUid}": { + "delete": { + "operationId": "v1CloudConfigsVirtualPoolMachinesUidDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the specified virtual machine", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "v1CloudConfigsVirtualPoolMachinesUidGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1VirtualMachine" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified virtual machine", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + }, + { + "description": "Machine pool name", + "in": "path", + "name": "machinePoolName", + "required": true, + "type": "string" + }, + { + "description": "Machine uid", + "in": "path", + "name": "machineUid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1CloudConfigsVirtualPoolMachinesUidUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1VirtualMachine" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified machine to the cloud config's machine pool", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/virtual/{configUid}/resize": { + "parameters": [ + { + "description": "Specify virtual cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1CloudConfigsVirtualUidUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1VirtualClusterResize" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates and resizes the virtual cluster", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/vsphere/{configUid}": { + "get": { + "operationId": "v1CloudConfigsVsphereGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1VsphereCloudConfig" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified vSphere cloud config", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + } + ] + }, + "/v1/cloudconfigs/vsphere/{configUid}/clusterConfig": { + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1CloudConfigsVsphereUidClusterConfig", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1VsphereCloudClusterConfigEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the cluster configuration information", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/vsphere/{configUid}/machinePools": { + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1CloudConfigsVsphereMachinePoolCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1VsphereMachinePoolConfigEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Creates a vSphere cloud config's machine pool", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/vsphere/{configUid}/machinePools/{machinePoolName}": { + "delete": { + "operationId": "v1CloudConfigsVsphereMachinePoolDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the specified machine pool", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + }, + { + "description": "Machine pool name", + "in": "path", + "name": "machinePoolName", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1CloudConfigsVsphereMachinePoolUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1VsphereMachinePoolConfigEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified vSphere cloud config's machine pool", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/vsphere/{configUid}/machinePools/{machinePoolName}/machines": { + "get": { + "operationId": "v1CloudConfigsVspherePoolMachinesList", + "parameters": [ + { + "description": "Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name", + "in": "query", + "name": "fields", + "type": "string" + }, + { + "description": "Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.", + "in": "query", + "name": "filters", + "type": "string" + }, + { + "description": "Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1", + "in": "query", + "name": "orderBy", + "type": "string" + }, + { + "default": 50, + "description": "limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "format": "int64", + "in": "query", + "name": "limit", + "type": "integer" + }, + { + "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", + "format": "int64", + "in": "query", + "name": "offset", + "type": "integer" + }, + { + "description": "continue token to paginate the subsequent data items", + "in": "query", + "name": "continue", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of vSphere machine items", + "schema": { + "$ref": "#/definitions/v1VsphereMachines" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of vSphere machines", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + }, + { + "description": "Machine pool name", + "in": "path", + "name": "machinePoolName", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1CloudConfigsVspherePoolMachinesAdd", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1VsphereMachine" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Adds the vSphere machine to cloud config's machine pool", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/vsphere/{configUid}/machinePools/{machinePoolName}/machines/{machineUid}": { + "delete": { + "operationId": "v1CloudConfigsVspherePoolMachinesUidDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the specified vSphere machine", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "v1CloudConfigsVspherePoolMachinesUidGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1VsphereMachine" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified vSphere machine", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + }, + { + "description": "Machine pool name", + "in": "path", + "name": "machinePoolName", + "required": true, + "type": "string" + }, + { + "description": "Machine uid", + "in": "path", + "name": "machineUid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1CloudConfigsVspherePoolMachinesUidUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1VsphereMachine" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified machine to cloud config's machine pool", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/{cloudType}/{configUid}/machinePools/{machinePoolName}/machines/{machineUid}/maintenance": { + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + }, + { + "description": "Machine pool name", + "in": "path", + "name": "machinePoolName", + "required": true, + "type": "string" + }, + { + "description": "Machine uid", + "in": "path", + "name": "machineUid", + "required": true, + "type": "string" + }, + { + "description": "Cloud type", + "in": "path", + "name": "cloudType", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1CloudConfigsMachinePoolsMachineUidMaintenanceUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1MachineMaintenance" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified machine maintenance", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/{cloudType}/{configUid}/machinePools/{machinePoolName}/machines/{machineUid}/maintenance/status": { + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + }, + { + "description": "Machine pool name", + "in": "path", + "name": "machinePoolName", + "required": true, + "type": "string" + }, + { + "description": "Machine uid", + "in": "path", + "name": "machineUid", + "required": true, + "type": "string" + }, + { + "description": "Cloud type", + "in": "path", + "name": "cloudType", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1CloudConfigsMachinePoolsMachineUidMaintenanceStatusUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1MachineMaintenanceStatus" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified machine maintenance", + "tags": [ + "v1" + ] + } + }, + "/v1/cloudconfigs/{configUid}/machinePools/machineUids": { + "get": { + "operationId": "v1CloudConfigsMachinePoolsMachineUidsGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1MachinePoolsMachineUids" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified cloud config's machine pools and machine uid", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster's cloud config uid", + "in": "path", + "name": "configUid", + "required": true, + "type": "string" + } + ] + }, + "/v1/clouds/aws/account/sts": { + "get": { + "operationId": "V1AwsAccountStsGet", + "parameters": [ + { + "default": "aws", + "description": "AWS accounts are scoped to a single partition. Allowed values [aws, aws-us-gov], Default values", + "enum": [ + "aws", + "aws-us-gov" + ], + "in": "query", + "name": "partition", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/V1AwsAccountSts" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves AWS external id and account id", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/aws/account/validate": { + "post": { + "operationId": "V1AwsAccountValidate", + "parameters": [ + { + "description": "Request payload to validate AWS cloud account", + "in": "body", + "name": "awsCloudAccount", + "required": true, + "schema": { + "$ref": "#/definitions/v1AwsCloudAccount" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Validate the specified AWS account credentials", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/aws/cloudwatch/validate": { + "post": { + "description": "Validates aws cloud watch credentials", + "operationId": "V1CloudsAwsCloudWatchValidate", + "parameters": [ + { + "description": "Request payload for cloud watch config", + "in": "body", + "name": "cloudWatchConfig", + "required": true, + "schema": { + "$ref": "#/definitions/v1.CloudWatchConfig" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "validates aws cloud watch credentials", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/aws/cost": { + "post": { + "operationId": "v1AwsCloudCost", + "parameters": [ + { + "description": "Request payload for AWS cloud cost", + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v1AwsCloudCostSpec" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1AwsCloudCostSummary" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves AWS cloud account usage cost from cost explorer.", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/aws/imageIds/{imageId}/volumeSize": { + "get": { + "description": "Get AWS Volume Size", + "operationId": "V1AwsVolumeSizeGet", + "parameters": [ + { + "description": "Specific AWS Region", + "in": "query", + "name": "region", + "required": true, + "type": "string" + }, + { + "description": "Uid for the specific AWS cloud account", + "in": "query", + "name": "cloudAccountUid", + "required": true, + "type": "string" + }, + { + "description": "AWS image id", + "in": "path", + "name": "imageId", + "required": true, + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1AwsVolumeSize" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Get AWS Volume Size", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/aws/policies": { + "post": { + "operationId": "V1AwsIamPolicies", + "parameters": [ + { + "description": "Request payload for AWS Cloud Account", + "in": "body", + "name": "account", + "required": true, + "schema": { + "$ref": "#/definitions/v1AwsCloudAccount" + } + }, + { + "description": "Uid for the specific AWS cloud account", + "in": "query", + "name": "cloudAccountUid", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1AwsPolicies" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of AWS policies for the specified account", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/aws/policyArns/validate": { + "post": { + "operationId": "V1AwsPolicyArnsValidate", + "parameters": [ + { + "description": "Request payload to validate AWS policy ARN", + "in": "body", + "name": "spec", + "required": true, + "schema": { + "$ref": "#/definitions/v1AwsPolicyArnsSpec" + } + }, + { + "description": "Uid for the specific AWS cloud account", + "in": "query", + "name": "cloudAccountUid", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Validate the aws policy arns validate", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/aws/properties/validate": { + "post": { + "operationId": "V1AwsPropertiesValidate", + "parameters": [ + { + "description": "Request payload for AWS properties validate spec", + "in": "body", + "name": "properties", + "required": true, + "schema": { + "$ref": "#/definitions/V1AwsPropertiesValidateSpec" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Validate AWS properties", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/aws/regions": { + "get": { + "operationId": "V1AwsRegions", + "parameters": [ + { + "description": "Uid for the specific AWS cloud account", + "in": "query", + "name": "cloudAccountUid", + "required": true, + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1AwsRegions" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of AWS regions for the specified account", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/aws/regions/{region}/availabilityzones": { + "get": { + "operationId": "V1AwsZones", + "parameters": [ + { + "description": "Region for which zones are requested", + "in": "path", + "name": "region", + "required": true, + "type": "string" + }, + { + "description": "Uid for the specific AWS cloud account", + "in": "query", + "name": "cloudAccountUid", + "required": true, + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1AwsAvailabilityZones" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of AWS availability zones for the specified region", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/aws/regions/{region}/copydefaultimages": { + "post": { + "operationId": "V1AwsCopyImageFromDefaultRegion", + "parameters": [ + { + "description": "Region to copy AWS image from", + "in": "path", + "name": "region", + "required": true, + "type": "string" + }, + { + "description": "Request payload to copy the AWS image", + "in": "body", + "name": "spectroClusterAwsImageTag", + "schema": { + "$ref": "#/definitions/v1AwsFindImageRequest" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1AsyncOperationIdEntity" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Copies the specified image from one region to another region", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/aws/regions/{region}/eksClusters/name/validate": { + "get": { + "description": "Returns no contents if aws cluster name is valid else error.", + "operationId": "V1AwsClusterNameValidate", + "parameters": [ + { + "description": "Uid for the specific AWS cloud account", + "in": "query", + "name": "cloudAccountUid", + "required": true, + "type": "string" + }, + { + "description": "cluster name to be validated", + "in": "query", + "name": "name", + "required": true, + "type": "string" + }, + { + "description": "Region for which cluster name is validated", + "in": "path", + "name": "region", + "required": true, + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Check if Aws cluster name is valid", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/aws/regions/{region}/images": { + "post": { + "operationId": "V1AwsFindImage", + "parameters": [ + { + "description": "Region to find AWS image", + "in": "path", + "name": "region", + "required": true, + "type": "string" + }, + { + "description": "Request payload to find the AWS image", + "in": "body", + "name": "awsImageRequest", + "schema": { + "$ref": "#/definitions/v1AwsFindImageRequest" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1AwsImage" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns AWS image for the specified AMI name", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/aws/regions/{region}/instancetypes": { + "get": { + "operationId": "V1AwsInstanceTypes", + "parameters": [ + { + "description": "Region for which AWS instances are requested", + "in": "path", + "name": "region", + "required": true, + "type": "string" + }, + { + "description": "Filter for instances having cpu greater than or equal", + "format": "double", + "in": "query", + "name": "cpuGtEq", + "type": "number" + }, + { + "description": "Filter for instances having memory greater than or equal", + "format": "double", + "in": "query", + "name": "memoryGtEq", + "type": "number" + }, + { + "description": "Filter for instances having gpu greater than or equal", + "format": "double", + "in": "query", + "name": "gpuGtEq", + "type": "number" + }, + { + "description": "Uid for the specific AWS cloud account", + "in": "query", + "name": "cloudAccountUid", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1AwsInstanceTypes" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of AWS instance types", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/aws/regions/{region}/keypairs": { + "get": { + "operationId": "V1AwsKeyPairs", + "parameters": [ + { + "description": "Region for which AWS key pairs are requested", + "in": "path", + "name": "region", + "required": true, + "type": "string" + }, + { + "description": "Uid for the specific AWS cloud account", + "in": "query", + "name": "cloudAccountUid", + "required": true, + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1AwsKeyPairs" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of AWS keypairs", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/aws/regions/{region}/keypairs/{keypair}/validate": { + "post": { + "operationId": "V1AwsKeyPairValidate", + "parameters": [ + { + "description": "Region for which AWS key pairs is validated", + "in": "path", + "name": "region", + "required": true, + "type": "string" + }, + { + "description": "Uid for the specific AWS cloud account", + "in": "query", + "name": "cloudAccountUid", + "required": true, + "type": "string" + }, + { + "description": "AWS Key pair which is to be validated", + "in": "path", + "name": "keypair", + "required": true, + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Validate the specified AWS keypair", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/aws/regions/{region}/kms/{keyId}": { + "get": { + "operationId": "V1AwsKmsKeyGet", + "parameters": [ + { + "description": "Region for which AWS KMS key belongs", + "in": "path", + "name": "region", + "required": true, + "type": "string" + }, + { + "description": "The globally unique identifier for the KMS key", + "in": "path", + "name": "keyId", + "required": true, + "type": "string" + }, + { + "description": "Uid for the specific AWS cloud account", + "in": "query", + "name": "cloudAccountUid", + "required": true, + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1AwsKmsKeyEntity" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Get AWS KMS key by Id", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/aws/regions/{region}/kmskeys": { + "get": { + "operationId": "V1AwsKmsKeys", + "parameters": [ + { + "description": "Region for which AWS KMS key are requested", + "in": "path", + "name": "region", + "required": true, + "type": "string" + }, + { + "description": "Uid for the specific AWS cloud account", + "in": "query", + "name": "cloudAccountUid", + "required": true, + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1AwsKmsKeys" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of AWS KMS keys for the specified account", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/aws/regions/{region}/kmskeys/validate": { + "get": { + "operationId": "V1AwsKmsKeyValidate", + "parameters": [ + { + "description": "Region for which AWS KMS key is validated", + "in": "path", + "name": "region", + "required": true, + "type": "string" + }, + { + "description": "Uid for the specific AWS cloud account", + "in": "query", + "name": "cloudAccountUid", + "required": true, + "type": "string" + }, + { + "description": "AWS KEY ARN for validation", + "in": "query", + "name": "keyArn", + "required": true, + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Validate an Aws KMS key for the specified account", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/aws/regions/{region}/storagetypes": { + "get": { + "operationId": "V1AwsStorageTypes", + "parameters": [ + { + "description": "Region for which AWS storage types are requested", + "in": "path", + "name": "region", + "required": true, + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1AwsStorageTypes" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of AWS storage types", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/aws/regions/{region}/vpcs": { + "get": { + "operationId": "V1AwsVpcs", + "parameters": [ + { + "description": "Region for which VPCs are requested", + "in": "path", + "name": "region", + "required": true, + "type": "string" + }, + { + "description": "Uid for the specific AWS cloud account", + "in": "query", + "name": "cloudAccountUid", + "required": true, + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1AwsVpcs" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of VPCs for the specified account", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/aws/s3/validate": { + "post": { + "operationId": "V1AwsS3Validate", + "parameters": [ + { + "description": "AWS S3 bucket credentials", + "in": "body", + "name": "awsS3Credential", + "required": true, + "schema": { + "$ref": "#/definitions/v1AwsS3BucketCredentials" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Validate the AWS S3 bucket", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/aws/securitygroups": { + "get": { + "operationId": "V1AwsSecurityGroups", + "parameters": [ + { + "description": "Uid for the specific AWS cloud account", + "in": "query", + "name": "cloudAccountUid", + "type": "string" + }, + { + "description": "Region for which security groups are requested", + "in": "query", + "name": "region", + "required": true, + "type": "string" + }, + { + "description": "Vpc Id for which security groups are requested", + "in": "query", + "name": "vpcId", + "required": true, + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1AwsSecurityGroups" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of AWS security groups for the specified account", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/aws/volumeTypes": { + "get": { + "description": "List all AWS Volume Types", + "operationId": "V1AwsVolumeTypesGet", + "parameters": [ + { + "description": "Specific AWS Region", + "in": "query", + "name": "region", + "required": true, + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1AWSVolumeTypes" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Get all AWS Volume Types", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/azure/account/validate": { + "post": { + "description": "Returns no contents if account is valid else error.", + "operationId": "V1AzureAccountValidate", + "parameters": [ + { + "description": "Request payload for Azure cloud account", + "in": "body", + "name": "azureCloudAccount", + "required": true, + "schema": { + "$ref": "#/definitions/v1AzureCloudAccount" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Check if Azure account is valid", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/azure/groups": { + "get": { + "operationId": "V1AzureGroups", + "parameters": [ + { + "description": "Uid for the specific Azure cloud account", + "in": "query", + "name": "cloudAccountUid", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1AzureGroups" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of Azure groups", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/azure/regions": { + "get": { + "operationId": "V1AzureRegions", + "parameters": [ + { + "description": "Uid for the specific Azure cloud account", + "in": "query", + "name": "cloudAccountUid", + "type": "string" + }, + { + "description": "SubscriptionId for which resources is requested", + "in": "query", + "name": "subscriptionId", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1AzureRegions" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of Azure regions", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/azure/regions/{region}/instancetypes": { + "get": { + "operationId": "V1AzureInstanceTypes", + "parameters": [ + { + "description": "Region for which Azure instance types are requested", + "in": "path", + "name": "region", + "required": true, + "type": "string" + }, + { + "description": "Filter for instances having cpu greater than or equal", + "format": "double", + "in": "query", + "name": "cpuGtEq", + "type": "number" + }, + { + "description": "Filter for instances having memory greater than or equal", + "format": "double", + "in": "query", + "name": "memoryGtEq", + "type": "number" + }, + { + "description": "Filter for instances having gpu greater than or equal", + "format": "double", + "in": "query", + "name": "gpuGtEq", + "type": "number" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1AzureInstanceTypes" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of Azure instance types", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/azure/regions/{region}/storagetypes": { + "get": { + "operationId": "V1AzureStorageTypes", + "parameters": [ + { + "description": "Region for which Azure storage types are requested", + "in": "path", + "name": "region", + "required": true, + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1AzureStorageTypes" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of Azure storage types", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/azure/regions/{region}/subscriptions/{subscriptionId}/aksClusters/name/validate": { + "get": { + "description": "Returns no contents if Azure cluster name is valid else error.", + "operationId": "V1AzureClusterNameValidate", + "parameters": [ + { + "description": "Uid for the specific Azure cloud account", + "in": "query", + "name": "cloudAccountUid", + "required": true, + "type": "string" + }, + { + "description": "cluster name to be validated", + "in": "query", + "name": "name", + "required": true, + "type": "string" + }, + { + "description": "region in which cluster name is to be validated", + "in": "path", + "name": "region", + "required": true, + "type": "string" + }, + { + "description": "subscriptionId in which cluster name is to be validated", + "in": "path", + "name": "subscriptionId", + "required": true, + "type": "string" + }, + { + "description": "resourceGroup in which cluster name is to be validated", + "in": "query", + "name": "resourceGroup", + "required": true, + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Check if Azure cluster name is valid", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/azure/regions/{region}/subscriptions/{subscriptionId}/networks": { + "get": { + "operationId": "V1AzureVirtualNetworkList", + "parameters": [ + { + "description": "Uid for the specific Azure cloud account", + "in": "query", + "name": "cloudAccountUid", + "required": true, + "type": "string" + }, + { + "description": "Region for which Azure virtual networks are requested", + "in": "path", + "name": "region", + "required": true, + "type": "string" + }, + { + "description": "Uid for which Azure virtual networks are requested", + "in": "path", + "name": "subscriptionId", + "required": true, + "type": "string" + }, + { + "description": "Resource group for which Azure virtual networks are requested", + "in": "query", + "name": "resourceGroup", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1AzureVirtualNetworkList" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of Azure virtual network list for the sepcified account", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/azure/regions/{region}/subscriptions/{subscriptionId}/resourceGroups": { + "get": { + "operationId": "V1AzureResourceGroupList", + "parameters": [ + { + "description": "Uid for the specific Azure cloud account", + "in": "query", + "name": "cloudAccountUid", + "required": true, + "type": "string" + }, + { + "description": "Region for which Azure resource group are requested", + "in": "path", + "name": "region", + "required": true, + "type": "string" + }, + { + "description": "Uid for which Azure resource group are requested", + "in": "path", + "name": "subscriptionId", + "required": true, + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1AzureResourceGroupList" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of Azure resource group for the specified account", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/azure/regions/{region}/zones": { + "get": { + "operationId": "V1AzureZones", + "parameters": [ + { + "description": "Region for which Azure zones are requested", + "in": "path", + "name": "region", + "required": true, + "type": "string" + }, + { + "description": "Uid for the specific Azure cloud account", + "in": "query", + "name": "cloudAccountUid", + "type": "string" + }, + { + "description": "subscriptionId of azure account", + "in": "query", + "name": "subscriptionId", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1AzureZoneEntity" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of Azure zones for the specified region", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/azure/resourceGroups/{resourceGroup}/privateDnsZones": { + "get": { + "description": "Returns Azure private DNS zones", + "operationId": "V1AzurePrivateDnsZones", + "parameters": [ + { + "description": "resourceGroup for which Azure private dns zones are requested", + "in": "path", + "name": "resourceGroup", + "required": true, + "type": "string" + }, + { + "description": "Uid for the specific Azure cloud account", + "in": "query", + "name": "cloudAccountUid", + "required": true, + "type": "string" + }, + { + "description": "subscriptionId for which Azure private dns zones are requested", + "in": "query", + "name": "subscriptionId", + "required": true, + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1AzurePrivateDnsZones" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Get Azure private DNS zones for the given resource group", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/azure/resourceGroups/{resourceGroup}/storageAccounts": { + "get": { + "description": "Returns Azure storage accounts.", + "operationId": "V1AzureStorageAccounts", + "parameters": [ + { + "description": "resourceGroup for which Azure storage accounts are requested", + "in": "path", + "name": "resourceGroup", + "required": true, + "type": "string" + }, + { + "description": "Uid for the specific Azure cloud account", + "in": "query", + "name": "cloudAccountUid", + "type": "string" + }, + { + "description": "subscriptionId for which Azure storage accounts are requested", + "in": "query", + "name": "subscriptionId", + "required": true, + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1AzureStorageAccounts" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Get Azure storage accounts", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/azure/resourceGroups/{resourceGroup}/storageAccounts/{storageAccountName}/containers": { + "get": { + "description": "Returns Azure storage containers for the given account.", + "operationId": "V1AzureStorageContainers", + "parameters": [ + { + "description": "resourceGroup for which Azure storage accounts are requested", + "in": "path", + "name": "resourceGroup", + "required": true, + "type": "string" + }, + { + "description": "Uid for the specific Azure cloud account", + "in": "query", + "name": "cloudAccountUid", + "type": "string" + }, + { + "description": "subscriptionId for which Azure storage accounts are requested", + "in": "query", + "name": "subscriptionId", + "required": true, + "type": "string" + }, + { + "description": "resourceGroup for which Azure storage accounts are requested", + "in": "path", + "name": "storageAccountName", + "required": true, + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1AzureStorageContainers" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Get Azure storage containers", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/azure/storageaccounttypes": { + "get": { + "description": "Returns Azure storage account types.", + "operationId": "V1AzureStorageAccountTypes", + "parameters": [ + { + "description": "Region for which Azure storage account types are requested", + "in": "query", + "name": "region", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1AzureStorageAccountEntity" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Get Azure storage account types", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/azure/subscriptions": { + "get": { + "description": "Returns list of Azure subscription list.", + "operationId": "V1AzureSubscriptionList", + "parameters": [ + { + "description": "Uid for the specific Azure cloud account", + "in": "query", + "name": "cloudAccountUid", + "required": true, + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1AzureSubscriptionList" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of Azure subscription list for the specified account", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/azure/vhds/{vhd}/url": { + "get": { + "operationId": "V1AzureVhdUrl", + "parameters": [ + { + "description": "vhd location for which Azure vhd url is requested", + "in": "path", + "name": "vhd", + "required": true, + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1AzureVhdUrlEntity" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the Azure vhd url for the specified vhd location", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/cloudTypes": { + "get": { + "operationId": "V1CustomCloudTypesGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1CustomCloudTypes" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the custom cloud types", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/cloudTypes/register": { + "post": { + "operationId": "V1CustomCloudTypeRegister", + "parameters": [ + { + "description": "Request payload to register custom cloud type", + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1CustomCloudRequestEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Registers the custom cloud type", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/cloudTypes/{cloudType}": { + "delete": { + "operationId": "V1CustomCloudTypesDelete", + "parameters": [ + { + "description": "Unique cloud type", + "in": "path", + "name": "cloudType", + "required": true, + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the custom cloud type", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/cloudTypes/{cloudType}/cloudAccountKeys": { + "get": { + "operationId": "V1CustomCloudTypeCloudAccountKeysGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1CustomCloudTypeCloudAccountKeys" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns valid keys for the cloud account used for custom cloud type", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Unique cloud type", + "in": "path", + "name": "cloudType", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "V1CustomCloudTypeCloudAccountKeysUpdate", + "parameters": [ + { + "description": "Request payload for custom cloud meta entity", + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v1CustomCloudTypeCloudAccountKeys" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Update the custom cloud type cloud account keys", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/cloudTypes/{cloudType}/content/bootstrap": { + "delete": { + "operationId": "V1CustomCloudTypeBootstrapDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Delete the custom cloud type bootstrap", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "V1CustomCloudTypeBootstrapGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1CustomCloudTypeContentResponse" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the custom cloud type bootstrap", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Unique cloud type", + "in": "path", + "name": "cloudType", + "required": true, + "type": "string" + } + ], + "put": { + "consumes": [ + "multipart/form-data" + ], + "operationId": "V1CustomCloudTypeBootstrapUpdate", + "parameters": [ + { + "in": "formData", + "name": "fileName", + "type": "file" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Update the custom cloud type bootstrap", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/cloudTypes/{cloudType}/content/cloudProvider": { + "delete": { + "operationId": "V1CustomCloudTypeCloudProviderDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Delete the custom cloud type cloud provider", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "V1CustomCloudTypeCloudProviderGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1CustomCloudTypeContentResponse" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the custom cloud type cloud provider", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Unique cloud type", + "in": "path", + "name": "cloudType", + "required": true, + "type": "string" + } + ], + "put": { + "consumes": [ + "multipart/form-data" + ], + "operationId": "V1CustomCloudTypeCloudProviderUpdate", + "parameters": [ + { + "in": "formData", + "name": "fileName", + "type": "file" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Update the custom cloud type cloud provider", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/cloudTypes/{cloudType}/content/controlPlane": { + "delete": { + "operationId": "V1CustomCloudTypeControlPlaneDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Delete the custom cloud type control plane", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "V1CustomCloudTypeControlPlaneGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1CustomCloudTypeContentResponse" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the custom cloud type control plane", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Unique cloud type", + "in": "path", + "name": "cloudType", + "required": true, + "type": "string" + } + ], + "put": { + "consumes": [ + "multipart/form-data" + ], + "operationId": "V1CustomCloudTypeControlPlaneUpdate", + "parameters": [ + { + "in": "formData", + "name": "fileName", + "type": "file" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Update the custom cloud type control plane", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/cloudTypes/{cloudType}/content/templates/clusterTemplate": { + "delete": { + "operationId": "V1CustomCloudTypeClusterTemplateDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Delete the custom cloud type cluster template", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "V1CustomCloudTypeClusterTemplateGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1CustomCloudTypeContentResponse" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the custom cloud type cluster template", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Unique cloud type", + "in": "path", + "name": "cloudType", + "required": true, + "type": "string" + } + ], + "put": { + "consumes": [ + "multipart/form-data" + ], + "operationId": "V1CustomCloudTypeClusterTemplateUpdate", + "parameters": [ + { + "in": "formData", + "name": "fileName", + "type": "file" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Update the custom cloud type cluster template", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/cloudTypes/{cloudType}/content/templates/controlPlanePoolTemplate": { + "delete": { + "operationId": "V1CustomCloudTypeControlPlanePoolTemplateDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Delete the custom cloud type controlPlane pool template", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "V1CustomCloudTypeControlPlanePoolTemplateGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1CustomCloudTypeContentResponse" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the custom cloud type controlPlane pool template", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Unique cloud type", + "in": "path", + "name": "cloudType", + "required": true, + "type": "string" + } + ], + "put": { + "consumes": [ + "multipart/form-data" + ], + "operationId": "V1CustomCloudTypeControlPlanePoolTemplateUpdate", + "parameters": [ + { + "in": "formData", + "name": "fileName", + "type": "file" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Update the custom cloud type controlPlane pool template", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/cloudTypes/{cloudType}/content/templates/workerPoolTemplate": { + "delete": { + "operationId": "V1CustomCloudTypeWorkerPoolTemplateDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Delete the custom cloud type worker pool template", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "V1CustomCloudTypeWorkerPoolTemplateGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1CustomCloudTypeContentResponse" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the custom cloud type worker pool template", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Unique cloud type", + "in": "path", + "name": "cloudType", + "required": true, + "type": "string" + } + ], + "put": { + "consumes": [ + "multipart/form-data" + ], + "operationId": "V1CustomCloudTypeWorkerPoolTemplateUpdate", + "parameters": [ + { + "in": "formData", + "name": "fileName", + "type": "file" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Update the custom cloud type worker pool template", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/cloudTypes/{cloudType}/logo": { + "get": { + "operationId": "V1CustomCloudTypeLogoGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "produces": [ + "application/octet-stream" + ], + "responses": { + "200": { + "description": "Download the logo", + "headers": { + "Content-Disposition": { + "type": "string" + } + }, + "schema": { + "format": "binary", + "type": "string" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the custom cloud type logo", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Unique cloud type", + "in": "path", + "name": "cloudType", + "required": true, + "type": "string" + } + ], + "put": { + "consumes": [ + "multipart/form-data" + ], + "operationId": "V1CustomCloudTypeLogoUpdate", + "parameters": [ + { + "in": "formData", + "name": "fileName", + "type": "file" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Update the custom cloud type logo", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/cloudTypes/{cloudType}/meta": { + "get": { + "operationId": "V1CustomCloudTypeMetaGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1CustomCloudMetaEntity" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the custom cloud type meta", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Unique cloud type", + "in": "path", + "name": "cloudType", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "V1CustomCloudTypeMetaUpdate", + "parameters": [ + { + "description": "Request payload for custom cloud meta entity", + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v1CustomCloudRequestEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Update the custom cloud type meta", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/coxedge/account/validate": { + "post": { + "operationId": "V1CoxEdgeAccountValidate", + "parameters": [ + { + "description": "Request payload to validate CoxEdge cloud account", + "in": "body", + "name": "account", + "required": true, + "schema": { + "$ref": "#/definitions/v1CoxEdgeCloudAccount" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Validate the specified CoxEdge account credentials", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/coxedge/default/baseurls": { + "get": { + "operationId": "V1CoxEdgeBaseUrls", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1CoxEdgeBaseUrls" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of default base urls", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/coxedge/environments": { + "get": { + "operationId": "V1CoxEdgeEnvironmentsGet", + "parameters": [ + { + "description": "Uid for the specific CoxEdge cloud account", + "in": "query", + "name": "cloudAccountUid", + "required": true, + "type": "string" + }, + { + "description": "OrganizationId for the specific CoxEdge account", + "in": "query", + "name": "organizationId", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "List of CoxEdge environments", + "schema": { + "$ref": "#/definitions/v1CoxEdgeEnvironments" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of environments for the specified account", + "tags": [ + "v1" + ] + }, + "post": { + "operationId": "V1CoxEdgeEnvironments", + "parameters": [ + { + "description": "Request payload to get CoxEdge environments", + "in": "body", + "name": "spec", + "required": true, + "schema": { + "$ref": "#/definitions/v1CoxEdgeEnvironmentsRequest" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "List of CoxEdge environments", + "schema": { + "$ref": "#/definitions/v1CoxEdgeEnvironments" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of environments for baseUrl and apiKey", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/coxedge/organizations": { + "get": { + "operationId": "V1CoxEdgeOrganizationsGet", + "parameters": [ + { + "description": "Uid for the specific CoxEdge cloud account", + "in": "query", + "name": "cloudAccountUid", + "required": true, + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "List of CoxEdge organizations", + "schema": { + "$ref": "#/definitions/v1CoxEdgeOrganizations" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of organizations for the specified account", + "tags": [ + "v1" + ] + }, + "post": { + "operationId": "V1CoxEdgeOrganizations", + "parameters": [ + { + "description": "Request payload to get CoxEdge organizations", + "in": "body", + "name": "spec", + "required": true, + "schema": { + "$ref": "#/definitions/v1CoxEdgeCredentials" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "List of CoxEdge organizations", + "schema": { + "$ref": "#/definitions/v1CoxEdgeOrganizations" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of organizations for baseUrl and apiKey", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/coxedge/regions": { + "get": { + "operationId": "V1CoxEdgeRegions", + "parameters": [ + { + "description": "Uid for the specific AWS cloud account", + "in": "query", + "name": "cloudAccountUid", + "type": "string" + }, + { + "description": "CoxEdge organization id", + "in": "query", + "name": "organizationId", + "type": "string" + }, + { + "description": "CoxEdge service name", + "in": "query", + "name": "service", + "type": "string" + }, + { + "description": "CoxEdge environment name", + "in": "query", + "name": "environment", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1CoxEdgeRegions" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of CoxEdge regions for the specified account", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/coxedge/regions/{region}/instancetypes": { + "get": { + "operationId": "V1CoxEdgeInstanceTypes", + "parameters": [ + { + "description": "Region for which CoxEdge instances are listed", + "in": "path", + "name": "region", + "required": true, + "type": "string" + }, + { + "description": "Filter for instances having cpu greater than or equal", + "format": "double", + "in": "query", + "name": "cpuGtEq", + "type": "number" + }, + { + "description": "Filter for instances having memory greater than or equal", + "format": "double", + "in": "query", + "name": "memoryGtEq", + "type": "number" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1CoxEdgeInstanceTypes" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of CoxEdge instance types", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/coxedge/services": { + "get": { + "operationId": "V1CoxEdgeServicesGet", + "parameters": [ + { + "description": "Uid for the specific CoxEdge cloud account", + "in": "query", + "name": "cloudAccountUid", + "required": true, + "type": "string" + }, + { + "description": "OrganizationId for the specific CoxEdge account", + "in": "query", + "name": "organizationId", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "List of CoxEdge services", + "schema": { + "$ref": "#/definitions/v1CoxEdgeServices" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of services for the specified account", + "tags": [ + "v1" + ] + }, + "post": { + "operationId": "V1CoxEdgeServices", + "parameters": [ + { + "description": "Request payload to get CoxEdge services", + "in": "body", + "name": "spec", + "required": true, + "schema": { + "$ref": "#/definitions/v1CoxEdgeCredentials" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1CoxEdgeServices" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of services for baseUrl and apiKey", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/eks/properties/validate": { + "post": { + "operationId": "V1EksPropertiesValidate", + "parameters": [ + { + "description": "Request payload for EKS properties validate spec", + "in": "body", + "name": "properties", + "required": true, + "schema": { + "$ref": "#/definitions/V1EksPropertiesValidateSpec" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Validate EKS properties", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/gcp/account/validate": { + "post": { + "operationId": "V1GcpAccountValidate", + "parameters": [ + { + "description": "Uid for the specific GCP cloud account", + "in": "body", + "name": "gcpCloudAccount", + "required": true, + "schema": { + "$ref": "#/definitions/v1GcpCloudAccountValidateEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Validate the specified GCP account credentials", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/gcp/azs/validate": { + "post": { + "operationId": "V1GcpAzValidate", + "parameters": [ + { + "description": "Uid for the specific GCP cloud account", + "in": "body", + "name": "entity", + "required": true, + "schema": { + "$ref": "#/definitions/v1AzValidateEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Validate the specified GCP az", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/gcp/bucketname/validate": { + "post": { + "operationId": "V1GcpBucketNameValidate", + "parameters": [ + { + "description": "Request payload for GCP account name validate", + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v1GcpAccountNameValidateSpec" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Validate the specified GCP bucket name credentials", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/gcp/image/container/validate": { + "get": { + "operationId": "V1GcpContainerImageValidate", + "parameters": [ + { + "description": "image path in the container", + "in": "query", + "name": "imagePath", + "required": true, + "type": "string" + }, + { + "description": "tag in the GCP container", + "in": "query", + "name": "tag", + "required": true, + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Validates the image with tag", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/gcp/images/{imageName}/url": { + "get": { + "operationId": "V1GcpImageUrl", + "parameters": [ + { + "description": "imageName for which GCP image url is requested", + "in": "path", + "name": "imageName", + "required": true, + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1GcpImageUrlEntity" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the Gcp image url for the specified image location", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/gcp/projects": { + "get": { + "operationId": "V1GcpProjects", + "parameters": [ + { + "description": "Uid for the specific GCP cloud account", + "in": "query", + "name": "cloudAccountUid", + "required": true, + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1GcpProjects" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of GCP projects for the specified account", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/gcp/projects/{project}/regions": { + "get": { + "operationId": "V1GcpRegions", + "parameters": [ + { + "description": "Uid for the specific GCP cloud account", + "in": "query", + "name": "cloudAccountUid", + "required": true, + "type": "string" + }, + { + "description": "Project Name for which GCP zones are requested", + "in": "path", + "name": "project", + "required": true, + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1GcpRegions" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of GCP regions", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/gcp/projects/{project}/regions/{region}/networks": { + "get": { + "operationId": "V1GcpNetworks", + "parameters": [ + { + "description": "Uid for the specific GCP cloud account", + "in": "query", + "name": "cloudAccountUid", + "required": true, + "type": "string" + }, + { + "description": "Region for which GCP networks are requested", + "in": "path", + "name": "region", + "required": true, + "type": "string" + }, + { + "description": "Project Name for which GCP networks are requested", + "in": "path", + "name": "project", + "required": true, + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1GcpNetworks" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of GCP networks for the specified account", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/gcp/projects/{project}/regions/{region}/zones": { + "get": { + "operationId": "V1GcpZones", + "parameters": [ + { + "description": "Uid for the specific GCP cloud account", + "in": "query", + "name": "cloudAccountUid", + "required": true, + "type": "string" + }, + { + "description": "Region for which GCP zones are requested", + "in": "path", + "name": "region", + "required": true, + "type": "string" + }, + { + "description": "Project Name for which GCP zones are requested", + "in": "path", + "name": "project", + "required": true, + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1GcpZones" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of GCP zones for the specified account and region", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/gcp/projects/{project}/validate": { + "post": { + "operationId": "V1GcpProjectValidate", + "parameters": [ + { + "description": "GCP project uid", + "in": "path", + "name": "project", + "required": true, + "type": "string" + }, + { + "description": "Uid for the specific GCP cloud account", + "in": "body", + "name": "cloudAccountUid", + "required": true, + "schema": { + "$ref": "#/definitions/v1CloudAccountUidEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Validate the specified GCP project", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/gcp/projects/{project}/zones": { + "get": { + "operationId": "V1GcpAvailabilityZones", + "parameters": [ + { + "description": "Uid for the specific GCP cloud account", + "in": "query", + "name": "cloudAccountUid", + "required": true, + "type": "string" + }, + { + "description": "Project Name for which GCP zones are requested", + "in": "path", + "name": "project", + "required": true, + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1GcpZones" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of GCP zones for the specified account", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/gcp/properties/validate": { + "post": { + "operationId": "V1GcpPropertiesValidate", + "parameters": [ + { + "description": "Request payload for GCP properties validate spec", + "in": "body", + "name": "properties", + "required": true, + "schema": { + "$ref": "#/definitions/V1GcpPropertiesValidateSpec" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Validate GCP properties", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/gcp/regions/{region}/instancetypes": { + "get": { + "operationId": "V1GcpInstanceTypes", + "parameters": [ + { + "description": "Region for which GCP instance types are requested", + "in": "path", + "name": "region", + "required": true, + "type": "string" + }, + { + "description": "Filter for instances having cpu greater than or equal", + "format": "double", + "in": "query", + "name": "cpuGtEq", + "type": "number" + }, + { + "description": "Filter for instances having memory greater than or equal", + "format": "double", + "in": "query", + "name": "memoryGtEq", + "type": "number" + }, + { + "description": "Filter for instances having gpu greater than or equal", + "format": "double", + "in": "query", + "name": "gpuGtEq", + "type": "number" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1GcpInstanceTypes" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of GCP instance types", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/gcp/regions/{region}/storagetypes": { + "get": { + "operationId": "V1GcpStorageTypes", + "parameters": [ + { + "description": "Region for which GCP storage types are requested", + "in": "path", + "name": "region", + "required": true, + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1GcpStorageTypes" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of Gcp storage types", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/maas/account/validate": { + "post": { + "description": "Returns no contents if account is valid else error.", + "operationId": "V1MaasAccountValidate", + "parameters": [ + { + "description": "Request payload for Maas cloud account", + "in": "body", + "name": "account", + "required": true, + "schema": { + "$ref": "#/definitions/v1MaasCloudAccount" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Check if Maas account is valid", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/maas/azs": { + "get": { + "operationId": "V1MaasZonesGet", + "parameters": [ + { + "description": "Uid for the specific Maas cloud account", + "in": "query", + "name": "cloudAccountUid", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1MaasZones" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of Maas zones for a particular account uid", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/maas/domains": { + "get": { + "operationId": "V1MaasDomainsGet", + "parameters": [ + { + "description": "Uid for the specific Maas cloud account", + "in": "query", + "name": "cloudAccountUid", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1MaasDomains" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of Maas domains", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/maas/resourcePools": { + "get": { + "operationId": "V1MaasPoolsGet", + "parameters": [ + { + "description": "Uid for the specific Maas cloud account", + "in": "query", + "name": "cloudAccountUid", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1MaasPools" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of Maas pools for a particular account uid", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/maas/subnets": { + "get": { + "operationId": "V1MaasSubnetsGet", + "parameters": [ + { + "description": "Uid for the specific Maas cloud account", + "in": "query", + "name": "cloudAccountUid", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1MaasSubnets" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of Maas subnets for a particular account uid", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/maas/tags": { + "get": { + "operationId": "V1MaasTagsGet", + "parameters": [ + { + "description": "Uid for the specific Maas cloud account", + "in": "query", + "name": "cloudAccountUid", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1MaasTags" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of Maas tags for a particular account uid", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/openstack/account/validate": { + "post": { + "description": "Returns no contents if account is valid else error.", + "operationId": "V1OpenStackAccountValidate", + "parameters": [ + { + "description": "Request payload for OpenStack cloud account", + "in": "body", + "name": "openstackCloudAccount", + "required": true, + "schema": { + "$ref": "#/definitions/v1OpenStackCloudAccount" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Check if OpenStack account is valid", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/openstack/azs": { + "get": { + "operationId": "V1OpenStackAzsGet", + "parameters": [ + { + "description": "Uid for the specific OpenStack cloud account", + "in": "query", + "name": "cloudAccountUid", + "type": "string" + }, + { + "description": "project for which OpenStack azs are requested", + "in": "query", + "name": "project", + "type": "string" + }, + { + "description": "region for which OpenStack azs are requested", + "in": "query", + "name": "region", + "type": "string" + }, + { + "description": "domain for which OpenStack azs are requested", + "in": "query", + "name": "domain", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1OpenStackAzs" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of OpenStack azs for a particular account uid", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/openstack/flavors": { + "get": { + "operationId": "V1OpenStackFlavorsGet", + "parameters": [ + { + "description": "Uid for the specific OpenStack cloud account", + "in": "query", + "name": "cloudAccountUid", + "type": "string" + }, + { + "description": "project for which OpenStack flavors are requested", + "in": "query", + "name": "project", + "type": "string" + }, + { + "description": "region for which OpenStack flavors are requested", + "in": "query", + "name": "region", + "type": "string" + }, + { + "description": "domain for which OpenStack flavors are requested", + "in": "query", + "name": "domain", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1OpenStackFlavors" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the OpenStack flavors", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/openstack/keypairs": { + "get": { + "operationId": "V1OpenStackKeypairsGet", + "parameters": [ + { + "description": "Uid for the specific OpenStack cloud account", + "in": "query", + "name": "cloudAccountUid", + "type": "string" + }, + { + "description": "project for which OpenStack keypairs are requested", + "in": "query", + "name": "project", + "type": "string" + }, + { + "description": "region for which OpenStack keypairs are requested", + "in": "query", + "name": "region", + "type": "string" + }, + { + "description": "domain for which OpenStack keypairs are requested", + "in": "query", + "name": "domain", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1OpenStackKeypairs" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the OpenStack keypair", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/openstack/networks": { + "get": { + "operationId": "V1OpenStackNetworksGet", + "parameters": [ + { + "description": "Uid for the specific OpenStack cloud account", + "in": "query", + "name": "cloudAccountUid", + "type": "string" + }, + { + "description": "project for which OpenStack networks are requested", + "in": "query", + "name": "project", + "type": "string" + }, + { + "description": "region for which OpenStack networks are requested", + "in": "query", + "name": "region", + "type": "string" + }, + { + "description": "domain for which OpenStack networks are requested", + "in": "query", + "name": "domain", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1OpenStackNetworks" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the OpenStack networks", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/openstack/projects": { + "get": { + "operationId": "V1OpenStackProjectsGet", + "parameters": [ + { + "description": "Uid for the specific OpenStack cloud account", + "in": "query", + "name": "cloudAccountUid", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1OpenStackProjects" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the OpenStack projects", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/openstack/regions": { + "get": { + "operationId": "V1OpenStackRegionsGet", + "parameters": [ + { + "description": "Uid for the specific OpenStack cloud account", + "in": "query", + "name": "cloudAccountUid", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1OpenStackRegions" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the OpenStack regions", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/tencent/account/validate": { + "post": { + "operationId": "V1TencentAccountValidate", + "parameters": [ + { + "description": "Request payload to validate tencent cloud account", + "in": "body", + "name": "account", + "required": true, + "schema": { + "$ref": "#/definitions/v1TencentCloudAccount" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Validate the specified Tencent account credentials", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/tencent/regions": { + "get": { + "operationId": "V1TencentRegions", + "parameters": [ + { + "description": "Uid for the specific Tencent cloud account", + "in": "query", + "name": "cloudAccountUid", + "required": true, + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1TencentRegions" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of Tencent regions for the specified account", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/tencent/regions/{region}/instancetypes": { + "get": { + "operationId": "V1TencentInstanceTypes", + "parameters": [ + { + "description": "Region for which tencent instances are listed", + "in": "path", + "name": "region", + "required": true, + "type": "string" + }, + { + "description": "Filter for instances having cpu greater than or equal", + "format": "double", + "in": "query", + "name": "cpuGtEq", + "type": "number" + }, + { + "description": "Filter for instances having memory greater than or equal", + "format": "double", + "in": "query", + "name": "memoryGtEq", + "type": "number" + }, + { + "description": "Filter for instances having gpu greater than or equal", + "format": "double", + "in": "query", + "name": "gpuGtEq", + "type": "number" + }, + { + "description": "Uid for the specific tencent cloud account", + "in": "query", + "name": "cloudAccountUid", + "required": true, + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1TencentInstanceTypes" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of Tencent instance types", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/tencent/regions/{region}/keypairs": { + "get": { + "operationId": "V1TencentKeypairs", + "parameters": [ + { + "description": "Region for which keypairs are requested", + "in": "path", + "name": "region", + "required": true, + "type": "string" + }, + { + "description": "Uid for the specific Tencent cloud account", + "in": "query", + "name": "cloudAccountUid", + "required": true, + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1TencentKeypairs" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of keypairs for the specified account", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/tencent/regions/{region}/securitygroups": { + "get": { + "operationId": "V1TencentSecurityGroups", + "parameters": [ + { + "description": "Region for which security groups are requested", + "in": "path", + "name": "region", + "required": true, + "type": "string" + }, + { + "description": "Uid for the specific Tencent cloud account", + "in": "query", + "name": "cloudAccountUid", + "required": true, + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1TencentSecurityGroups" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of secutity groups for the specified account", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/tencent/regions/{region}/storagetypes": { + "get": { + "operationId": "V1TencentStorageTypes", + "parameters": [ + { + "description": "Region for which tencent storages are listed", + "in": "path", + "name": "region", + "required": true, + "type": "string" + }, + { + "description": "Uid for the specific tencent cloud account", + "in": "query", + "name": "cloudAccountUid", + "required": true, + "type": "string" + }, + { + "description": "Zone for which tencent storages are listed", + "in": "query", + "name": "zone", + "required": true, + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1TencentStorageTypes" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of Tencent storage types", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/tencent/regions/{region}/vpcs": { + "get": { + "operationId": "V1TencentVpcs", + "parameters": [ + { + "description": "Region for which VPCs are requested", + "in": "path", + "name": "region", + "required": true, + "type": "string" + }, + { + "description": "Uid for the specific Tencent cloud account", + "in": "query", + "name": "cloudAccountUid", + "required": true, + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1TencentVpcs" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of VPCs for the specified account", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/tencent/regions/{region}/zones": { + "get": { + "operationId": "V1TencentZones", + "parameters": [ + { + "description": "Region for which zones are requested", + "in": "path", + "name": "region", + "required": true, + "type": "string" + }, + { + "description": "Uid for the specific Tencent cloud account", + "in": "query", + "name": "cloudAccountUid", + "required": true, + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1TencentAvailabilityZones" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of Tencent availability zones for the specified region", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/vsphere/account/validate": { + "post": { + "description": "Returns no contents if account is valid else error.", + "operationId": "V1VsphereAccountValidate", + "parameters": [ + { + "description": "Request payload for VSphere cloud account", + "in": "body", + "name": "vsphereCloudAccount", + "required": true, + "schema": { + "$ref": "#/definitions/v1VsphereCloudAccount" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Check if Vsphere account is valid", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/vsphere/datacenters": { + "get": { + "operationId": "V1VsphereDatacenters", + "parameters": [ + { + "description": "Uid for the specific OpenStack cloud account", + "in": "query", + "name": "cloudAccountUid", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1VsphereDatacenters" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the vsphere data centers", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/vsphere/datacenters/{uid}/computeclusters/{computecluster}": { + "get": { + "operationId": "V1VsphereComputeClusterResources", + "parameters": [ + { + "description": "Uid for the specific VSphere cloud account", + "in": "query", + "name": "cloudAccountUid", + "required": true, + "type": "string" + }, + { + "description": "computecluster for which resources is requested", + "in": "path", + "name": "computecluster", + "required": true, + "type": "string" + }, + { + "description": "VSphere datacenter uid for which resources is requested", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1VsphereComputeClusterResources" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the resources for vsphere compute cluster", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/vsphere/env": { + "get": { + "operationId": "V1VsphereEnv", + "parameters": [ + { + "description": "Request payload for VSphere cloud account", + "in": "body", + "name": "vsphereCloudAccount", + "required": true, + "schema": { + "$ref": "#/definitions/v1VsphereCloudAccount" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1VsphereEnv" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves vsphere env", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/{cloudType}/instance/spotprice": { + "get": { + "operationId": "V1CloudInstanceSpotPriceGet", + "parameters": [ + { + "description": "Cloud type [aws/azure/gcp/tencent]", + "in": "path", + "name": "cloudType", + "required": true, + "type": "string" + }, + { + "description": "Instance type for a specific cloud type", + "in": "query", + "name": "instanceType", + "required": true, + "type": "string" + }, + { + "description": "Availability zone for a specific cloud type", + "in": "query", + "name": "zone", + "required": true, + "type": "string" + }, + { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "format": "date-time", + "in": "query", + "name": "timestamp", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1CloudSpotPrice" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves the cloud instance spot price based on zone and timestamp for a specific cloud", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/{cloud}/compute/{type}/rate": { + "get": { + "operationId": "V1CloudComputeRate", + "parameters": [ + { + "description": "cloud for which compute rate is requested", + "in": "path", + "name": "cloud", + "required": true, + "type": "string" + }, + { + "description": "instance type for which compute rate is requested", + "in": "path", + "name": "type", + "required": true, + "type": "string" + }, + { + "description": "region for which compute rate is requested", + "in": "query", + "name": "region", + "required": true, + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1CloudCost" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the cloud compute rate", + "tags": [ + "v1" + ] + } + }, + "/v1/clouds/{cloud}/storage/{type}/rate": { + "get": { + "operationId": "V1CloudStorageRate", + "parameters": [ + { + "description": "cloud for which compute rate is requested", + "in": "path", + "name": "cloud", + "required": true, + "type": "string" + }, + { + "description": "storage type for which compute rate is requested", + "in": "path", + "name": "type", + "required": true, + "type": "string" + }, + { + "description": "region for which compute rate is requested", + "in": "query", + "name": "region", + "required": true, + "type": "string" + }, + { + "description": "maxDiskType for which compute rate is requested", + "in": "query", + "name": "maxDiskType", + "type": "integer" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1CloudCost" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the cloud storage rate", + "tags": [ + "v1" + ] + } + }, + "/v1/clustergroups": { + "post": { + "operationId": "v1ClusterGroupsCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ClusterGroupEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Create cluster groups", + "tags": [ + "v1" + ] + } + }, + "/v1/clustergroups/developerCredit/usage/{scope}": { + "get": { + "operationId": "v1ClusterGroupsDeveloperCreditUsageGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "Cluster group developer credit usage", + "schema": { + "$ref": "#/definitions/v1ClusterGroupsDeveloperCreditUsage" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Get cluster group developer credit usage by scope", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "enum": [ + "system", + "tenant" + ], + "in": "path", + "name": "scope", + "required": true, + "type": "string" + } + ] + }, + "/v1/clustergroups/hostCluster": { + "get": { + "operationId": "v1ClusterGroupsHostClusterSummary", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of cluster groups of host cluster type summary", + "schema": { + "$ref": "#/definitions/v1ClusterGroupsHostClusterSummary" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of cluster groups host cluster summary", + "tags": [ + "v1" + ] + } + }, + "/v1/clustergroups/hostCluster/metadata": { + "get": { + "operationId": "v1ClusterGroupsHostClusterMetadata", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of cluster groups host cluster metadata items", + "schema": { + "$ref": "#/definitions/v1ClusterGroupsHostClusterMetadata" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of cluster groups host cluster metadata", + "tags": [ + "v1" + ] + } + }, + "/v1/clustergroups/validate/name": { + "get": { + "operationId": "v1ClusterGroupsValidateName", + "parameters": [ + { + "in": "query", + "name": "name", + "required": true, + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Validates the cluster groups name", + "tags": [ + "v1" + ] + } + }, + "/v1/clustergroups/{uid}": { + "delete": { + "operationId": "v1ClusterGroupsUidDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the specified cluster group", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "v1ClusterGroupsUidGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1ClusterGroup" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified cluster groups", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ] + }, + "/v1/clustergroups/{uid}/hostCluster": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1ClusterGroupsUidHostClusterUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ClusterGroupHostClusterEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates cluster reference and host cluster config", + "tags": [ + "v1" + ] + } + }, + "/v1/clustergroups/{uid}/meta": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1ClusterGroupsUidMetaUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ObjectMeta" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified cluster groups meta", + "tags": [ + "v1" + ] + } + }, + "/v1/clustergroups/{uid}/packs/resolvedValues": { + "get": { + "operationId": "v1ClusterGroupsUidPacksResolvedValuesGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1SpectroClusterProfilesResolvedValues" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified clustergroup's profile packs resolved values", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster group uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroClusterProfilesParamReferenceEntity" + } + } + ] + }, + "/v1/clustergroups/{uid}/profiles": { + "get": { + "operationId": "v1ClusterGroupsUidProfilesGet", + "parameters": [ + { + "description": "includes pack meta such as schema, presets", + "in": "query", + "name": "includePackMeta", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1SpectroClusterProfileList" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the associated profiles of a specified cluster group", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "ClusterGroup uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1ClusterGroupsUidProfilesUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroClusterProfiles" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified cluster groups profiles", + "tags": [ + "v1" + ] + } + }, + "/v1/clusterprofiles": { + "post": { + "operationId": "v1ClusterProfilesCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ClusterProfileEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Creates a cluster profile", + "tags": [ + "v1" + ] + } + }, + "/v1/clusterprofiles/bulk": { + "delete": { + "operationId": "v1ClusterProfilesBulkDelete", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1BulkDeleteRequest" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1BulkDeleteResponse" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes list of cluster profiles", + "tags": [ + "v1" + ] + } + }, + "/v1/clusterprofiles/import": { + "post": { + "operationId": "v1ClusterProfilesImport", + "parameters": [ + { + "description": "If true then cluster profile will be published post successful import", + "in": "query", + "name": "publish", + "type": "boolean" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ClusterProfileImportEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Imports a cluster profile", + "tags": [ + "v1" + ] + } + }, + "/v1/clusterprofiles/import/file": { + "post": { + "consumes": [ + "multipart/form-data" + ], + "operationId": "v1ClusterProfilesImportFile", + "parameters": [ + { + "description": "If true then cluster profile will be published post successful import", + "in": "query", + "name": "publish", + "type": "boolean" + }, + { + "description": "Cluster profile import file", + "in": "formData", + "name": "importFile", + "type": "file" + }, + { + "default": "json", + "description": "Cluster profile import file format [\"yaml\", \"json\"]", + "enum": [ + "yaml", + "json" + ], + "in": "query", + "name": "format", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Imports a cluster profile via file", + "tags": [ + "v1" + ] + } + }, + "/v1/clusterprofiles/import/validate": { + "post": { + "operationId": "v1ClusterProfilesImportValidate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ClusterProfileImportEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "Cluster profile import validated response", + "schema": { + "$ref": "#/definitions/v1ClusterProfileImportEntity" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Validates cluster profile import", + "tags": [ + "v1" + ] + } + }, + "/v1/clusterprofiles/macros": { + "get": { + "operationId": "v1MacrosList", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1Macros" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of macros", + "tags": [ + "v1" + ] + } + }, + "/v1/clusterprofiles/validate/name": { + "get": { + "description": "Validates the cluster profile name and version", + "operationId": "v1ClusterProfilesValidateNameVersion", + "parameters": [ + { + "description": "Cluster profile name", + "in": "query", + "name": "name", + "type": "string" + }, + { + "description": "Cluster profile version", + "in": "query", + "name": "version", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Validates the cluster profile metadata", + "tags": [ + "v1" + ] + } + }, + "/v1/clusterprofiles/validate/packs": { + "post": { + "operationId": "v1ClusterProfilesValidatePacks", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ClusterProfileTemplateDraft" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "Cluster profile packs validation response", + "schema": { + "$ref": "#/definitions/v1ClusterProfileValidatorResponse" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Validates cluster profile packs", + "tags": [ + "v1" + ] + } + }, + "/v1/clusterprofiles/{uid}": { + "delete": { + "operationId": "v1ClusterProfilesDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the specified cluster profile", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "v1ClusterProfilesGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1ClusterProfile" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns a specified cluster profile", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster profile uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "description": "Comma seperated pack meta such as schema, presets", + "in": "query", + "name": "includePackMeta", + "type": "string" + } + ], + "put": { + "operationId": "v1ClusterProfilesUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ClusterProfileUpdateEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified cluster profile", + "tags": [ + "v1" + ] + } + }, + "/v1/clusterprofiles/{uid}/clone": { + "parameters": [ + { + "description": "Cluster profile uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1ClusterProfilesUidClone", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ClusterProfileCloneEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Creates a clone of the specified cluster profile", + "tags": [ + "v1" + ] + } + }, + "/v1/clusterprofiles/{uid}/clone/validate": { + "parameters": [ + { + "description": "Cluster profile uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "post": { + "description": "Validates the cloned cluster profile name, version and target project uid", + "operationId": "v1ClusterProfilesUidCloneValidate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ClusterProfileCloneMetaInputEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Validates the cluster profile clone", + "tags": [ + "v1" + ] + } + }, + "/v1/clusterprofiles/{uid}/export": { + "get": { + "operationId": "V1ClusterProfilesUidExport", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "produces": [ + "application/octet-stream" + ], + "responses": { + "200": { + "description": "Exports cluster profile as a file", + "headers": { + "Content-Disposition": { + "type": "string" + } + }, + "schema": { + "format": "binary", + "type": "string" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Export the specified cluster profile", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster profile uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "default": "json", + "description": "Cluster profile export file format [ \"yaml\", \"json\" ]", + "enum": [ + "yaml", + "json" + ], + "in": "query", + "name": "format", + "type": "string" + } + ] + }, + "/v1/clusterprofiles/{uid}/export/terraform": { + "get": { + "operationId": "V1ClusterProfilesUidExportTerraform", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "produces": [ + "application/octet-stream" + ], + "responses": { + "200": { + "description": "Downloads cluster profile export file", + "headers": { + "Content-Disposition": { + "type": "string" + } + }, + "schema": { + "format": "binary", + "type": "string" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Downloads the specified cluster profile", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster profile uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "default": "yaml", + "description": "Cluster profile export file format [ \"yaml\", \"json\" ]", + "enum": [ + "yaml", + "json" + ], + "in": "query", + "name": "format", + "type": "string" + } + ] + }, + "/v1/clusterprofiles/{uid}/metadata": { + "parameters": [ + { + "description": "Cluster profile uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "patch": { + "operationId": "v1ClusterProfilesUidMetadataUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ProfileMetaEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified cluster profile metadata", + "tags": [ + "v1" + ] + } + }, + "/v1/clusterprofiles/{uid}/packRefs": { + "parameters": [ + { + "description": "Cluster profile uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "description": "Cluster profile notification uid", + "in": "query", + "name": "notify", + "type": "string" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ClusterProfileNotificationUpdateEntity" + } + } + ], + "patch": { + "operationId": "v1ClusterProfilesPacksRefUpdate", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates cluster profile packs ref", + "tags": [ + "v1" + ] + } + }, + "/v1/clusterprofiles/{uid}/packs": { + "get": { + "operationId": "v1ClusterProfilesUidPacksGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1ClusterProfilePacksEntities" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified cluster profile packs", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster profile uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "description": "Comma seperated pack meta such as schema, presets", + "in": "query", + "name": "includePackMeta", + "type": "string" + } + ], + "post": { + "operationId": "v1ClusterProfilesUidPacksAdd", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1PackInputEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Adds a new pack to the specified cluster profile and returns the created pack uid", + "tags": [ + "v1" + ] + } + }, + "/v1/clusterprofiles/{uid}/packs/manifests": { + "get": { + "operationId": "v1ClusterProfilesUidPacksManifestsGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1ClusterProfilePacksManifests" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified cluster profile pack manifests", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster profile uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "description": "Comma seperated pack meta such as schema, presets", + "in": "query", + "name": "includePackMeta", + "type": "string" + } + ] + }, + "/v1/clusterprofiles/{uid}/packs/resolvedValues": { + "get": { + "operationId": "v1ClusterProfilesUidPacksResolvedValuesGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1PackResolvedValues" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified cluster profile packs resolved values", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster profile uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1PackParamsEntity" + } + } + ] + }, + "/v1/clusterprofiles/{uid}/packs/{packName}": { + "delete": { + "operationId": "v1ClusterProfilesUidPacksNameDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the specified pack information in the cluster profile", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "V1ClusterProfilesUidPacksNameGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1PackRefSummaryResponse" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified cluster profile pack", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster profile uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "description": "Cluster profile pack name", + "in": "path", + "name": "packName", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1ClusterProfilesUidPacksNameUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1PackUpdateEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified pack information in the cluster profile", + "tags": [ + "v1" + ] + } + }, + "/v1/clusterprofiles/{uid}/packs/{packName}/config": { + "get": { + "operationId": "v1ClusterProfilesUidPacksConfigGet", + "parameters": [ + { + "description": "cluster profile uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "description": "Cluster profile pack name", + "in": "path", + "name": "packName", + "required": true, + "type": "string" + }, + { + "description": "Cluster profile pack uid", + "in": "query", + "name": "packUid", + "required": true, + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of cluster profile pack configurations", + "schema": { + "$ref": "#/definitions/v1ClusterProfilePackConfigList" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified cluster profile pack configuration", + "tags": [ + "v1" + ] + } + }, + "/v1/clusterprofiles/{uid}/packs/{packName}/manifests": { + "get": { + "operationId": "v1ClusterProfilesUidPacksUidManifests", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1ManifestEntities" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the associated manifests for the specified profile's pack", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster profile uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "description": "Cluster profile pack name", + "in": "path", + "name": "packName", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1ClusterProfilesUidPacksNameManifestsAdd", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ManifestInputEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Adds manifest to the profiles packs and returns the added manifests uid", + "tags": [ + "v1" + ] + } + }, + "/v1/clusterprofiles/{uid}/packs/{packName}/manifests/{manifestUid}": { + "delete": { + "operationId": "v1ClusterProfilesUidPacksNameManifestsUidDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the specified cluster profile pack manifest", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "v1ClusterProfilesUidPacksNameManifestsUidGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1ManifestEntity" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified cluster profile pack manifest", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster profile uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "description": "Cluster profile pack name", + "in": "path", + "name": "packName", + "required": true, + "type": "string" + }, + { + "description": "Cluster profile pack manifest uid", + "in": "path", + "name": "manifestUid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1ClusterProfilesUidPacksNameManifestsUidUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ManifestInputEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified manifest of the profile's pack", + "tags": [ + "v1" + ] + } + }, + "/v1/clusterprofiles/{uid}/publish": { + "parameters": [ + { + "description": "Cluster profile uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "patch": { + "description": "Publish the draft cluster profile with next revision, the current draft cluster profile will be marked to published\nand the draft cluster profile will be set to null in the cluster profile template.\n", + "operationId": "v1ClusterProfilesPublish", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Cluster profile published successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Publishes the specified cluster profile", + "tags": [ + "v1" + ] + } + }, + "/v1/clusterprofiles/{uid}/spc/download": { + "get": { + "operationId": "v1ClusterProfilesUidSpcDownload", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "produces": [ + "application/octet-stream" + ], + "responses": { + "200": { + "description": "Download cluster profile archive file", + "headers": { + "Content-Disposition": { + "type": "string" + } + }, + "schema": { + "format": "binary", + "type": "string" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Downloads the specified cluster profile", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster profile uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ] + }, + "/v1/clusterprofiles/{uid}/validate/packs": { + "post": { + "operationId": "v1ClusterProfilesUidValidatePacks", + "parameters": [ + { + "description": "Cluster profile uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ClusterProfileTemplateDraft" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "Cluster profile packs validation response", + "schema": { + "$ref": "#/definitions/v1ClusterProfileValidatorResponse" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Validates specified cluster profile packs", + "tags": [ + "v1" + ] + } + }, + "/v1/clusterprofiles/{uid}/variables": { + "delete": { + "operationId": "V1ClusterProfilesUidVariablesDelete", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1VariableNames" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the specified cluster profile variables", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "V1ClusterProfilesUidVariablesGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1Variables" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieve a list of variables defined for the cluster profile", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster profile uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "patch": { + "operationId": "V1ClusterProfilesUidVariablesPatch", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1Variables" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Update specific variables defined for a cluster profile", + "tags": [ + "v1" + ] + }, + "put": { + "operationId": "V1ClusterProfilesUidVariablesPut", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1Variables" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Update the variables defined for a cluster profile", + "tags": [ + "v1" + ] + } + }, + "/v1/dashboard/appDeployments": { + "post": { + "operationId": "v1DashboardAppDeployments", + "parameters": [ + { + "description": "limit is a maximum number of responses to return for a list call. Maximum value of the limit is 20.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "format": "int64", + "in": "query", + "maximum": 20, + "name": "limit", + "type": "integer" + }, + { + "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", + "format": "int64", + "in": "query", + "name": "offset", + "type": "integer" + }, + { + "description": "continue token to paginate the subsequent data items", + "in": "query", + "name": "continue", + "type": "string" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1AppDeploymentsFilterSpec" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of application deployment summary items", + "schema": { + "$ref": "#/definitions/v1AppDeploymentsSummary" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of application deployments filter summary Supported filter fields - [\"appDeploymentName\", \"clusterUid\", \"tags\"] Supported sort fields - [\"appDeploymentName\", \"creationTimestamp\", \"lastModifiedTimestamp\"]", + "tags": [ + "v1" + ] + } + }, + "/v1/dashboard/appProfiles": { + "post": { + "operationId": "v1DashboardAppProfiles", + "parameters": [ + { + "description": "limit is a maximum number of responses to return for a list call. Maximum value of the limit is 20.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "format": "int64", + "in": "query", + "maximum": 20, + "name": "limit", + "type": "integer" + }, + { + "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", + "format": "int64", + "in": "query", + "name": "offset", + "type": "integer" + }, + { + "description": "continue token to paginate the subsequent data items", + "in": "query", + "name": "continue", + "type": "string" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1AppProfilesFilterSpec" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of application profiles summary items", + "schema": { + "$ref": "#/definitions/v1AppProfilesSummary" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of application profiles filter summary Supported filter fields - [\"profileName\", \"tags\"] Supported sort fields - [\"profileName\", \"creationTimestamp\", \"lastModifiedTimestamp\"]", + "tags": [ + "v1" + ] + } + }, + "/v1/dashboard/appProfiles/metadata": { + "get": { + "operationId": "v1DashboardAppProfilesMetadata", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of application profile summary items", + "schema": { + "$ref": "#/definitions/v1AppProfilesMetadata" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of application profile metadata", + "tags": [ + "v1" + ] + } + }, + "/v1/dashboard/appliances/metadata": { + "post": { + "operationId": "v1EdgeHostsMetadata", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1EdgeHostsMetadataFilter" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of edgehost summary items", + "schema": { + "$ref": "#/definitions/v1EdgeHostsMetadataSummary" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of edgehosts summary", + "tags": [ + "v1" + ] + } + }, + "/v1/dashboard/cloudaccounts/metadata": { + "get": { + "operationId": "v1DashboardCloudAccountsMetadata", + "parameters": [ + { + "in": "query", + "name": "environment", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of cloud accounts summary items", + "schema": { + "$ref": "#/definitions/v1CloudAccountsMetadata" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of cloud accounts metadata", + "tags": [ + "v1" + ] + } + }, + "/v1/dashboard/clustergroups/{uid}/hostClusters": { + "post": { + "operationId": "v1ClusterGroupUidHostClustersSummary", + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "default": 50, + "description": "limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "format": "int64", + "in": "query", + "name": "limit", + "type": "integer" + }, + { + "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", + "format": "int64", + "in": "query", + "name": "offset", + "type": "integer" + }, + { + "description": "continue token to paginate the subsequent data items", + "in": "query", + "name": "continue", + "type": "string" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SearchFilterSummarySpec" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of cluster summary items", + "schema": { + "$ref": "#/definitions/v1SpectroClustersSummary" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of cluster summary for a given cluster group", + "tags": [ + "v1" + ] + } + }, + "/v1/dashboard/clustergroups/{uid}/virtualClusters": { + "post": { + "operationId": "v1ClusterGroupUidVirtualClustersSummary", + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "default": 50, + "description": "limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "format": "int64", + "in": "query", + "name": "limit", + "type": "integer" + }, + { + "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", + "format": "int64", + "in": "query", + "name": "offset", + "type": "integer" + }, + { + "description": "continue token to paginate the subsequent data items", + "in": "query", + "name": "continue", + "type": "string" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SearchFilterSummarySpec" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of cluster summary items", + "schema": { + "$ref": "#/definitions/v1SpectroClustersSummary" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of cluster summary for a given cluster group", + "tags": [ + "v1" + ] + } + }, + "/v1/dashboard/clusterprofiles": { + "post": { + "operationId": "v1ClusterProfilesFilterSummary", + "parameters": [ + { + "description": "limit is a maximum number of responses to return for a list call. Maximum value of the limit is 20.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "format": "int64", + "in": "query", + "maximum": 20, + "name": "limit", + "type": "integer" + }, + { + "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", + "format": "int64", + "in": "query", + "name": "offset", + "type": "integer" + }, + { + "description": "continue token to paginate the subsequent data items", + "in": "query", + "name": "continue", + "type": "string" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ClusterProfilesFilterSpec" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of cluster profiles summary items", + "schema": { + "$ref": "#/definitions/v1ClusterProfilesSummary" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of cluster profiles filter summary Supported filter fields - [\"profileName\", \"tags\", \"profileType\", \"environment\"] Supported sort fields - [\"profileName\", \"environment\", \"profileType\", \"creationTimestamp\", \"lastModifiedTimestamp\"]", + "tags": [ + "v1" + ] + } + }, + "/v1/dashboard/clusterprofiles/metadata": { + "get": { + "operationId": "v1ClusterProfilesMetadata", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of cluster summary items", + "schema": { + "$ref": "#/definitions/v1ClusterProfilesMetadata" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of cluster profiles metadata", + "tags": [ + "v1" + ] + } + }, + "/v1/dashboard/clusterprofiles/{uid}": { + "get": { + "operationId": "v1ClusterProfilesUidSummary", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "Cluster profile summary response", + "schema": { + "$ref": "#/definitions/v1ClusterProfileSummary" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a specified cluster profile summary", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ] + }, + "/v1/dashboard/edgehosts/search": { + "post": { + "operationId": "v1DashboardEdgehostsSearch", + "parameters": [ + { + "description": "limit is a maximum number of responses to return for a list call. Maximum value of the limit is 20.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "format": "int64", + "in": "query", + "maximum": 20, + "name": "limit", + "type": "integer" + }, + { + "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", + "format": "int64", + "in": "query", + "name": "offset", + "type": "integer" + }, + { + "description": "continue token to paginate the subsequent data items", + "in": "query", + "name": "continue", + "type": "string" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SearchFilterSummarySpec" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of edgehost summary items", + "schema": { + "$ref": "#/definitions/v1EdgeHostsSearchSummary" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of Edgehosts summary with provided search filter. Supported fields as per schema /v1/dashboard/edgehosts/search/schema", + "tags": [ + "v1" + ] + } + }, + "/v1/dashboard/edgehosts/search/schema": { + "get": { + "operationId": "v1DashboardEdgehostsSearchSchemaGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of schema items", + "schema": { + "$ref": "#/definitions/v1SearchFilterSchemaSpec" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a schema for the Edgehost search filter", + "tags": [ + "v1" + ] + } + }, + "/v1/dashboard/pcgs/search": { + "post": { + "operationId": "v1DashboardPcgsSearchSummary", + "parameters": [ + { + "description": "limit is a maximum number of responses to return for a list call. Maximum value of the limit is 20.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "format": "int64", + "in": "query", + "maximum": 20, + "name": "limit", + "type": "integer" + }, + { + "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", + "format": "int64", + "in": "query", + "name": "offset", + "type": "integer" + }, + { + "description": "continue token to paginate the subsequent data items", + "in": "query", + "name": "continue", + "type": "string" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SearchFilterSummarySpec" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of cluster summary items", + "schema": { + "$ref": "#/definitions/v1PcgsSummary" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of PCG summary with provided search filter. Supported fields as per schema /v1/dashboard/pcgs/search/schema", + "tags": [ + "v1" + ] + } + }, + "/v1/dashboard/pcgs/search/schema": { + "get": { + "operationId": "v1DashboardPcgSearchSchemaGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of schema items", + "schema": { + "$ref": "#/definitions/v1SearchFilterSchemaSpec" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a schema for the PCG search filter", + "tags": [ + "v1" + ] + } + }, + "/v1/dashboard/projects": { + "get": { + "description": "Deprecated: Use POST /v1/dashboard/projects", + "operationId": "v1ProjectsSummary", + "parameters": [ + { + "default": 50, + "description": "limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "format": "int64", + "in": "query", + "name": "limit", + "type": "integer" + }, + { + "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", + "format": "int64", + "in": "query", + "name": "offset", + "type": "integer" + }, + { + "description": "continue token to paginate the subsequent data items", + "in": "query", + "name": "continue", + "type": "string" + }, + { + "default": 60, + "description": "Metric period in minutes defines latest metrics by period", + "format": "int32", + "in": "query", + "name": "metricPeriod", + "type": "integer" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of project summary items", + "schema": { + "$ref": "#/definitions/v1ProjectsSummary" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of project summary", + "tags": [ + "v1" + ] + }, + "post": { + "operationId": "v1ProjectsFilterSummary", + "parameters": [ + { + "default": 50, + "description": "limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "format": "int64", + "in": "query", + "name": "limit", + "type": "integer" + }, + { + "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", + "format": "int64", + "in": "query", + "name": "offset", + "type": "integer" + }, + { + "description": "continue token to paginate the subsequent data items", + "in": "query", + "name": "continue", + "type": "string" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ProjectsFilterSpec" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of project filter summary items", + "schema": { + "$ref": "#/definitions/v1ProjectsSummary" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "tags": [ + "v1" + ] + } + }, + "/v1/dashboard/projects/metadata": { + "get": { + "operationId": "v1ProjectsMetadata", + "parameters": [ + { + "description": "Name of the project", + "in": "query", + "name": "name", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of project metadata items", + "schema": { + "$ref": "#/definitions/v1ProjectsMetadata" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of projects metadata", + "tags": [ + "v1" + ] + } + }, + "/v1/dashboard/spectroclusters": { + "post": { + "description": "Deprecated: Use POST /v1/dashboard/spectroclusters/search", + "operationId": "v1SpectroClustersFilterSummary", + "parameters": [ + { + "description": "limit is a maximum number of responses to return for a list call. Maximum value of the limit is 20.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "format": "int64", + "in": "query", + "maximum": 20, + "name": "limit", + "type": "integer" + }, + { + "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", + "format": "int64", + "in": "query", + "name": "offset", + "type": "integer" + }, + { + "description": "continue token to paginate the subsequent data items", + "in": "query", + "name": "continue", + "type": "string" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroClusterSummarySpec" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of cluster summary items", + "schema": { + "$ref": "#/definitions/v1SpectroClustersSummary" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of cluster summary with provided filter spec Supported filter fields - [\"cpuUsage\", \"memoryUsage\", \"clusterName\", \"tags\", \"healthState\", \"clusterStates\", \"isDeleted\", \"environments\", \"metricPeriod\"] Supported sort fields - [\"environment\", \"clusterName\", \"memoryUsage\", \"healthState\", \"creationTimestamp\", \"lastModifiedTimestamp\"]", + "tags": [ + "v1" + ] + } + }, + "/v1/dashboard/spectroclusters/cost": { + "post": { + "operationId": "v1DashboardSpectroClustersCostSummary", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroClusterCloudCostSummarySpec" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of resources cloud cost summary items", + "schema": { + "$ref": "#/definitions/v1ResourcesCloudCostSummary" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves spectro clusters cloud cost summary information", + "tags": [ + "v1" + ] + } + }, + "/v1/dashboard/spectroclusters/filters/workspace": { + "get": { + "operationId": "v1SpectroClustersFiltersWorkspace", + "parameters": [ + { + "default": 50, + "description": "limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "format": "int64", + "in": "query", + "name": "limit", + "type": "integer" + }, + { + "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", + "format": "int64", + "in": "query", + "name": "offset", + "type": "integer" + }, + { + "description": "continue token to paginate the subsequent data items", + "in": "query", + "name": "continue", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of cluster summary items", + "schema": { + "$ref": "#/definitions/v1SpectroClustersSummary" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of running, non rbac configured clusters in a workspace", + "tags": [ + "v1" + ] + } + }, + "/v1/dashboard/spectroclusters/metadata": { + "get": { + "operationId": "v1SpectroClustersMetadataGet", + "parameters": [ + { + "enum": [ + "hostclusters", + "strictHostclusters" + ], + "in": "query", + "name": "quickFilter", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of cluster summary items", + "schema": { + "$ref": "#/definitions/v1SpectroClustersMetadata" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of cluster summary metadata", + "tags": [ + "v1" + ] + }, + "post": { + "operationId": "v1SpectroClustersMetadata", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroClusterMetadataSpec" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of cluster summary items", + "schema": { + "$ref": "#/definitions/v1SpectroClustersMetadata" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of cluster summary", + "tags": [ + "v1" + ] + } + }, + "/v1/dashboard/spectroclusters/metadata/search": { + "post": { + "operationId": "v1SpectroClustersMetadataSearch", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SearchFilterSummarySpec" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of cluster summary meta items", + "schema": { + "$ref": "#/definitions/v1SpectroClustersMetadataSearch" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of cluster metadata with provided search filter spec Supported sort fields - [\"environment\", \"clusterName\", \"clusterState\", \"creationTimestamp\", \"lastModifiedTimestamp\"]", + "tags": [ + "v1" + ] + } + }, + "/v1/dashboard/spectroclusters/metadata/search/schema": { + "get": { + "operationId": "v1SpectroClustersMetadataSearchSchema", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of cluster meta schema items", + "schema": { + "$ref": "#/definitions/v1SearchFilterSchemaSpec" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a schema for the cluster metadata search filter", + "tags": [ + "v1" + ] + } + }, + "/v1/dashboard/spectroclusters/repaveStatus": { + "get": { + "operationId": "v1DashboardSpectroClustersRepaveList", + "parameters": [ + { + "description": "limit is a maximum number of responses to return for a list call. Maximum value of the limit is 20.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "format": "int64", + "in": "query", + "maximum": 20, + "name": "limit", + "type": "integer" + }, + { + "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", + "format": "int64", + "in": "query", + "name": "offset", + "type": "integer" + }, + { + "description": "continue token to paginate the subsequent data items", + "in": "query", + "name": "continue", + "type": "string" + }, + { + "default": "Pending", + "enum": [ + "Pending", + "Approved", + "Reverted" + ], + "in": "query", + "name": "repaveState", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of cluster summary items", + "schema": { + "$ref": "#/definitions/v1SpectroClustersSummary" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of clusters with the desired repave state", + "tags": [ + "v1" + ] + } + }, + "/v1/dashboard/spectroclusters/resources/consumption": { + "post": { + "operationId": "v1SpectroClustersResourcesConsumption", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ResourceConsumptionSpec" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of resource consumption data items", + "schema": { + "$ref": "#/definitions/v1ResourcesConsumption" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves spectro clusters resource consumption", + "tags": [ + "v1" + ] + } + }, + "/v1/dashboard/spectroclusters/resources/cost": { + "post": { + "operationId": "v1SpectroClustersResourcesCostSummary", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ResourceCostSummarySpec" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of resources cost summary items", + "schema": { + "$ref": "#/definitions/v1ResourcesCostSummary" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves spectro clusters resources cost summary information", + "tags": [ + "v1" + ] + } + }, + "/v1/dashboard/spectroclusters/resources/usage": { + "post": { + "operationId": "v1SpectroClustersResourcesUsageSummary", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ResourceUsageSummarySpec" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of resources usage summary items", + "schema": { + "$ref": "#/definitions/v1ResourcesUsageSummary" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves spectro clusters resources usage summary information", + "tags": [ + "v1" + ] + } + }, + "/v1/dashboard/spectroclusters/search": { + "post": { + "operationId": "v1SpectroClustersSearchFilterSummary", + "parameters": [ + { + "description": "limit is a maximum number of responses to return for a list call. Maximum value of the limit is 20.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "format": "int64", + "in": "query", + "maximum": 20, + "name": "limit", + "type": "integer" + }, + { + "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", + "format": "int64", + "in": "query", + "name": "offset", + "type": "integer" + }, + { + "description": "continue token to paginate the subsequent data items", + "in": "query", + "name": "continue", + "type": "string" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SearchFilterSummarySpec" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of cluster summary items", + "schema": { + "$ref": "#/definitions/v1SpectroClustersSummary" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of cluster summary with provided search filter spec Supported sort fields - [\"environment\", \"clusterName\", \"memoryUsage\", \"healthState\", \"creationTimestamp\", \"lastModifiedTimestamp\"]", + "tags": [ + "v1" + ] + } + }, + "/v1/dashboard/spectroclusters/search/export": { + "get": { + "operationId": "v1DashboardClustersSearchSummaryExportGet", + "parameters": [ + { + "in": "query", + "name": "encodedFilter", + "type": "string" + }, + { + "default": "csv", + "enum": [ + "csv" + ], + "in": "query", + "name": "format", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "produces": [ + "application/octet-stream" + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "Content-Disposition": { + "type": "string" + }, + "Content-Type": { + "type": "string" + } + }, + "schema": { + "type": "file" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Export and download the list of cluster summary with matching search filter and download as a file(csv)", + "tags": [ + "v1" + ] + }, + "post": { + "operationId": "v1DashboardClustersSearchSummaryExport", + "parameters": [ + { + "default": "csv", + "enum": [ + "csv" + ], + "in": "query", + "name": "format", + "type": "string" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SearchFilterSummarySpec" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "produces": [ + "application/octet-stream" + ], + "responses": { + "200": { + "description": "download file", + "headers": { + "Content-Disposition": { + "type": "string" + } + }, + "schema": { + "format": "binary", + "type": "string" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Export the list of cluster summary with matching search filter and download as a file(csv) Supported sort fields - [\"environment\", \"clusterName\", \"healthState\", \"creationTimestamp\", \"lastModifiedTimestamp\"]", + "tags": [ + "v1" + ] + } + }, + "/v1/dashboard/spectroclusters/search/input": { + "get": { + "operationId": "v1DashboardSpectroClustersSearchInput", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of cluster search filter input items", + "schema": { + "$ref": "#/definitions/v1ClusterSearchInputSpec" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a supported input values for the cluster search filter", + "tags": [ + "v1" + ] + } + }, + "/v1/dashboard/spectroclusters/search/schema": { + "get": { + "operationId": "v1SpectroClustersSearchSchema", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of cluster filter schema items", + "schema": { + "$ref": "#/definitions/v1SearchFilterSchemaSpec" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a schema for the cluster search filter", + "tags": [ + "v1" + ] + } + }, + "/v1/dashboard/spectroclusters/vms": { + "get": { + "operationId": "V1DashboardVMEnabledClustersList", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of schema items", + "schema": { + "$ref": "#/definitions/v1VMClusters" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of Virtual machine enabled clusters", + "tags": [ + "v1" + ] + } + }, + "/v1/dashboard/spectroclusters/{uid}": { + "get": { + "operationId": "v1SpectroClustersSummaryUid", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An spectro cluster summary", + "schema": { + "$ref": "#/definitions/v1SpectroClusterUidSummary" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified cluster summary", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ] + }, + "/v1/dashboard/spectroclusters/{uid}/cost": { + "get": { + "operationId": "v1SpectroClustersUidCostSummary", + "parameters": [ + { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "format": "date-time", + "in": "query", + "name": "startTime", + "type": "string" + }, + { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "format": "date-time", + "in": "query", + "name": "endTime", + "type": "string" + }, + { + "description": "period in minutes, group the data point by the specified period", + "format": "int32", + "in": "query", + "minimum": 60, + "name": "period", + "type": "integer" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An spectro cluster cost summary", + "schema": { + "$ref": "#/definitions/v1SpectroClusterCostSummary" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves the specified cluster cost summary", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ] + }, + "/v1/dashboard/spectroclusters/{uid}/overview": { + "get": { + "operationId": "v1SpectroClustersSummaryUidOverview", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An spectro cluster summary overview", + "schema": { + "$ref": "#/definitions/v1SpectroClusterUidSummary" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified cluster summary overview", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ] + }, + "/v1/dashboard/spectroclusters/{uid}/resources/consumption": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1SpectroClustersUidResourcesConsumption", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ResourceConsumptionSpec" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of resource consumption data items", + "schema": { + "$ref": "#/definitions/v1ResourcesConsumption" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves specified spectro cluster resource consumption", + "tags": [ + "v1" + ] + } + }, + "/v1/dashboard/spectroclusters/{uid}/workloads": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1DashboardSpectroClustersUidWorkloads", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ClusterWorkloadsSpec" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of cluster workloads", + "schema": { + "$ref": "#/definitions/v1ClusterWorkload" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves specified cluster workloads", + "tags": [ + "v1" + ] + } + }, + "/v1/dashboard/spectroclusters/{uid}/workloads/clusterrolebinding": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1DashboardSpectroClustersUidWorkloadsClusterRoleBinding", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ClusterWorkloadsSpec" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of cluster workload clusterrolebindings", + "schema": { + "$ref": "#/definitions/v1ClusterWorkloadRoleBindings" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves specified cluster workload clusterrolebindings", + "tags": [ + "v1" + ] + } + }, + "/v1/dashboard/spectroclusters/{uid}/workloads/cronjob": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1DashboardSpectroClustersUidWorkloadsCronJob", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ClusterWorkloadsSpec" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of cluster workload cronjobs", + "schema": { + "$ref": "#/definitions/v1ClusterWorkloadCronJobs" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves specified cluster workload cronjobs", + "tags": [ + "v1" + ] + } + }, + "/v1/dashboard/spectroclusters/{uid}/workloads/daemonset": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1DashboardSpectroClustersUidWorkloadsDaemonSet", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ClusterWorkloadsSpec" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of cluster workload daemonsets", + "schema": { + "$ref": "#/definitions/v1ClusterWorkloadDaemonSets" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves specified cluster workload daemonsets", + "tags": [ + "v1" + ] + } + }, + "/v1/dashboard/spectroclusters/{uid}/workloads/deployment": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1DashboardSpectroClustersUidWorkloadsDeployment", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ClusterWorkloadsSpec" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of cluster workload deployments", + "schema": { + "$ref": "#/definitions/v1ClusterWorkloadDeployments" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves specified cluster workload deployments", + "tags": [ + "v1" + ] + } + }, + "/v1/dashboard/spectroclusters/{uid}/workloads/job": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1DashboardSpectroClustersUidWorkloadsJob", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ClusterWorkloadsSpec" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of cluster workload jobs", + "schema": { + "$ref": "#/definitions/v1ClusterWorkloadJobs" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves specified cluster workload jobs", + "tags": [ + "v1" + ] + } + }, + "/v1/dashboard/spectroclusters/{uid}/workloads/namespace": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1DashboardSpectroClustersUidWorkloadsNamespace", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ClusterWorkloadsSpec" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of cluster workload namespaces", + "schema": { + "$ref": "#/definitions/v1ClusterWorkloadNamespaces" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves specified cluster workload namespaces", + "tags": [ + "v1" + ] + } + }, + "/v1/dashboard/spectroclusters/{uid}/workloads/pod": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1DashboardSpectroClustersUidWorkloadsPod", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ClusterWorkloadsSpec" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of cluster workload pods", + "schema": { + "$ref": "#/definitions/v1ClusterWorkloadPods" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves specified cluster workload pods", + "tags": [ + "v1" + ] + } + }, + "/v1/dashboard/spectroclusters/{uid}/workloads/rolebinding": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1DashboardSpectroClustersUidWorkloadsRoleBinding", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ClusterWorkloadsSpec" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of cluster workload rolebindings", + "schema": { + "$ref": "#/definitions/v1ClusterWorkloadRoleBindings" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves specified cluster workload rolebindings", + "tags": [ + "v1" + ] + } + }, + "/v1/dashboard/spectroclusters/{uid}/workloads/statefulset": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1DashboardSpectroClustersUidWorkloadsStatefulSet", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ClusterWorkloadsSpec" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of cluster workload statefulsets", + "schema": { + "$ref": "#/definitions/v1ClusterWorkloadStatefulSets" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves specified cluster workload statefulsets", + "tags": [ + "v1" + ] + } + }, + "/v1/dashboard/workspaces": { + "get": { + "operationId": "v1DashboardWorkspacesList", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of workspace", + "schema": { + "$ref": "#/definitions/v1DashboardWorkspaces" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of workspace", + "tags": [ + "v1" + ] + } + }, + "/v1/dashboard/workspaces/{uid}/spectroclusters/workloads/clusterrolebinding": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1DashboardWorkspacesUidSpectroClustersWorkloadsClusterRoleBinding", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1WorkspaceWorkloadsSpec" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of clusters workload clusterrolebindings", + "schema": { + "$ref": "#/definitions/v1WorkspaceClustersWorkloadRoleBindings" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves specified workspace clusters workload clusterrolebindings", + "tags": [ + "v1" + ] + } + }, + "/v1/dashboard/workspaces/{uid}/spectroclusters/workloads/cronjob": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1DashboardWorkspacesUidSpectroClustersWorkloadsCronJob", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1WorkspaceWorkloadsSpec" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of clusters workload cronjobs", + "schema": { + "$ref": "#/definitions/v1WorkspaceClustersWorkloadCronJobs" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves specified workspace clusters workload cronjobs", + "tags": [ + "v1" + ] + } + }, + "/v1/dashboard/workspaces/{uid}/spectroclusters/workloads/daemonset": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1DashboardWorkspacesUidSpectroClustersWorkloadsDaemonSet", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1WorkspaceWorkloadsSpec" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of clusters workload daemonsets", + "schema": { + "$ref": "#/definitions/v1WorkspaceClustersWorkloadDaemonSets" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves specified workspace clusters workload daemonsets", + "tags": [ + "v1" + ] + } + }, + "/v1/dashboard/workspaces/{uid}/spectroclusters/workloads/deployment": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1DashboardWorkspacesUidSpectroClustersWorkloadsDeployment", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1WorkspaceWorkloadsSpec" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of clusters workload deployments", + "schema": { + "$ref": "#/definitions/v1WorkspaceClustersWorkloadDeployments" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves specified workspace clusters workload deployments", + "tags": [ + "v1" + ] + } + }, + "/v1/dashboard/workspaces/{uid}/spectroclusters/workloads/job": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1DashboardWorkspacesUidSpectroClustersWorkloadsJob", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1WorkspaceWorkloadsSpec" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of clusters workload jobs", + "schema": { + "$ref": "#/definitions/v1WorkspaceClustersWorkloadJobs" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves specified workspace clusters workload jobs", + "tags": [ + "v1" + ] + } + }, + "/v1/dashboard/workspaces/{uid}/spectroclusters/workloads/namespace": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1DashboardWorkspacesUidSpectroClustersWorkloadsNamespace", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1WorkspaceWorkloadsSpec" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of clusters workload namespaces", + "schema": { + "$ref": "#/definitions/v1WorkspaceClustersWorkloadNamespaces" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves specified workspace clusters workload namespaces", + "tags": [ + "v1" + ] + } + }, + "/v1/dashboard/workspaces/{uid}/spectroclusters/workloads/pod": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1DashboardWorkspacesUidSpectroClustersWorkloadsPod", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1WorkspaceWorkloadsSpec" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of clusters workload pods", + "schema": { + "$ref": "#/definitions/v1WorkspaceClustersWorkloadPods" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves specified workspace clusters workload pods", + "tags": [ + "v1" + ] + } + }, + "/v1/dashboard/workspaces/{uid}/spectroclusters/workloads/rolebinding": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1DashboardWorkspacesUidSpectroClustersWorkloadsRoleBinding", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1WorkspaceWorkloadsSpec" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of clusters workload rolebindings", + "schema": { + "$ref": "#/definitions/v1WorkspaceClustersWorkloadRoleBindings" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves specified workspace clusters workload rolebindings", + "tags": [ + "v1" + ] + } + }, + "/v1/dashboard/workspaces/{uid}/spectroclusters/workloads/statefulset": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1DashboardWorkspacesUidSpectroClustersWorkloadsStatefulSet", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1WorkspaceWorkloadsSpec" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of clusters workload statefulsets", + "schema": { + "$ref": "#/definitions/v1WorkspaceClustersWorkloadStatefulSets" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves specified workspace clusters workload statefulsets", + "tags": [ + "v1" + ] + } + }, + "/v1/datasinks/cloudwatch": { + "post": { + "description": "Sync data to cloud watch", + "operationId": "V1DataSinksCloudWatchSink", + "parameters": [ + { + "description": "Request payload for cloud watch config", + "in": "body", + "name": "dataSinkCloudWatchConfig", + "required": true, + "schema": { + "$ref": "#/definitions/v1.DataSinkCloudWatchConfig" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "sync data to cloud watch", + "tags": [ + "v1" + ] + } + }, + "/v1/edgehosts": { + "get": { + "description": "Deprecated. Use POST /v1/dashboard/edgehosts/search , to retrieve all the edgehosts without pagination use GET /v1/edgehosts/metadata.", + "operationId": "v1EdgeHostDevicesList", + "parameters": [ + { + "enum": [ + "libvirt", + "edge-native", + "vsphere" + ], + "in": "query", + "name": "type", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of edge host device items", + "schema": { + "$ref": "#/definitions/v1EdgeHostDevices" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieve the Complete Edgehost Metadata List", + "tags": [ + "v1" + ] + }, + "post": { + "operationId": "v1EdgeHostDevicesCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1EdgeHostDeviceEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Create the edge host device", + "tags": [ + "v1" + ] + } + }, + "/v1/edgehosts/metadata": { + "get": { + "operationId": "v1EdgeHostsMetadataQuickFilterGet", + "parameters": [ + { + "enum": [ + "libvirt", + "edge-native", + "vsphere" + ], + "in": "query", + "name": "type", + "type": "string" + }, + { + "enum": [ + "unusedEdgeHosts" + ], + "in": "query", + "name": "quickFilter", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of edge host metadata", + "schema": { + "$ref": "#/definitions/v1EdgeHostsMeta" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of edge hosts metadata matching the filter condition", + "tags": [ + "v1" + ] + } + }, + "/v1/edgehosts/register": { + "post": { + "operationId": "v1EdgeHostDevicesRegister", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1EdgeHostDevice" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1EdgeHostDevice" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Registers the edge host device", + "tags": [ + "v1" + ] + } + }, + "/v1/edgehosts/tags": { + "get": { + "operationId": "v1EdgeHostsTagsGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of edge hosts tags", + "schema": { + "$ref": "#/definitions/v1EdgeHostsTags" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of edge hosts tags", + "tags": [ + "v1" + ] + } + }, + "/v1/edgehosts/tokens": { + "get": { + "operationId": "v1EdgeTokensList", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of edge tokens", + "schema": { + "$ref": "#/definitions/v1EdgeTokens" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of edge tokens", + "tags": [ + "v1" + ] + }, + "post": { + "operationId": "v1EdgeTokensCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1EdgeTokenEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Create the edge token", + "tags": [ + "v1" + ] + } + }, + "/v1/edgehosts/tokens/{uid}": { + "delete": { + "operationId": "v1EdgeTokensUidDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the specified edge token", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "v1EdgeTokensUidGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1EdgeToken" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified edge token", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Edge token uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1EdgeTokensUidUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1EdgeTokenUpdate" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified edge token", + "tags": [ + "v1" + ] + } + }, + "/v1/edgehosts/tokens/{uid}/state": { + "parameters": [ + { + "description": "Edge token uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1EdgeTokensUidState", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1EdgeTokenActiveState" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Revoke or re-activate the edge token access", + "tags": [ + "v1" + ] + } + }, + "/v1/edgehosts/{uid}": { + "delete": { + "operationId": "v1EdgeHostDevicesUidDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the specified edge host device", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "v1EdgeHostDevicesUidGet", + "parameters": [ + { + "default": false, + "description": "resolve pack values if set to true", + "in": "query", + "name": "resolvePackValues", + "type": "boolean" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1EdgeHostDevice" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified edge host device", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1EdgeHostDevicesUidUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1EdgeHostDevice" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified edge host device", + "tags": [ + "v1" + ] + } + }, + "/v1/edgehosts/{uid}/cluster/associate": { + "delete": { + "operationId": "v1EdgeHostDevicesUidClusterDeassociate", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deassociate the clusters to the edge host", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "patch": { + "operationId": "v1EdgeHostDevicesUidClusterAssociate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1EdgeHostClusterEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Associate the clusters to the edge host", + "tags": [ + "v1" + ] + } + }, + "/v1/edgehosts/{uid}/health": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "patch": { + "operationId": "v1EdgeHostDevicesHealthUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1EdgeHostHealth" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the edge host health", + "tags": [ + "v1" + ] + } + }, + "/v1/edgehosts/{uid}/hostCheckSum": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "patch": { + "operationId": "v1EdgeHostDeviceHostCheckSumUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1EdgeHostDeviceHostCheckSum" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Update the specified edge host device host check sum", + "tags": [ + "v1" + ] + } + }, + "/v1/edgehosts/{uid}/hostPairingKey": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "patch": { + "operationId": "v1EdgeHostDeviceHostPairingKeyUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1EdgeHostDeviceHostPairingKey" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Update the specified edge host device host pairing key", + "tags": [ + "v1" + ] + } + }, + "/v1/edgehosts/{uid}/meta": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1EdgeHostDevicesUidMetaUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1EdgeHostDeviceMetaUpdateEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified edge host device meta", + "tags": [ + "v1" + ] + } + }, + "/v1/edgehosts/{uid}/pack/manifests/{manifestUid}": { + "get": { + "operationId": "v1EdgeHostDevicesUidPackManifestsUidGet", + "parameters": [ + { + "description": "edge host uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "description": "manifest uid which is part of the pack ref", + "in": "path", + "name": "manifestUid", + "required": true, + "type": "string" + }, + { + "default": false, + "description": "resolve pack manifest values if set to true", + "in": "query", + "name": "resolveManifestValues", + "type": "boolean" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "Pack manifest content", + "schema": { + "$ref": "#/definitions/v1Manifest" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified edge host's manifest", + "tags": [ + "v1" + ] + } + }, + "/v1/edgehosts/{uid}/packs/status": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "patch": { + "operationId": "v1EdgeHostDevicesUidPacksStatusPatch", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroClusterPacksStatusEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Patch update specified edge host's packs status", + "tags": [ + "v1" + ] + } + }, + "/v1/edgehosts/{uid}/profiles": { + "get": { + "operationId": "v1EdgeHostDevicesUidProfilesGet", + "parameters": [ + { + "description": "includes pack meta such as schema, presets", + "in": "query", + "name": "includePackMeta", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1SpectroClusterProfileList" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the associated profiles of a specified edge host device", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1EdgeHostDevicesUidProfilesUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroClusterProfiles" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Associate cluster profiles to the specified edge host device", + "tags": [ + "v1" + ] + } + }, + "/v1/edgehosts/{uid}/reset": { + "parameters": [ + { + "description": "Edge host uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "V1EdgeHostsUidReset", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Reset the cluster through edge host", + "tags": [ + "v1" + ] + } + }, + "/v1/edgehosts/{uid}/spc/download": { + "get": { + "operationId": "v1EdgeHostDevicesUidSpcDownload", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "produces": [ + "application/octet-stream" + ], + "responses": { + "200": { + "description": "download spc archive file", + "headers": { + "Content-Disposition": { + "type": "string" + } + }, + "schema": { + "format": "binary", + "type": "string" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Download the specified edge host device spc", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ] + }, + "/v1/edgehosts/{uid}/vsphere/properties": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1EdgeHostDevicesUidVspherePropertiesUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1EdgeHostVsphereCloudProperties" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified edge host device vsphere properties", + "tags": [ + "v1" + ] + } + }, + "/v1/events/components": { + "get": { + "description": "Returns a paginated list of component events based on request parameters", + "operationId": "v1EventsComponentsList", + "parameters": [ + { + "description": "Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name", + "in": "query", + "name": "fields", + "type": "string" + }, + { + "description": "Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.", + "in": "query", + "name": "filters", + "type": "string" + }, + { + "description": "Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1", + "in": "query", + "name": "orderBy", + "type": "string" + }, + { + "default": 50, + "description": "limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "format": "int64", + "in": "query", + "name": "limit", + "type": "integer" + }, + { + "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", + "format": "int64", + "in": "query", + "name": "offset", + "type": "integer" + }, + { + "description": "continue token to paginate the subsequent data items", + "in": "query", + "name": "continue", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of component events items", + "schema": { + "$ref": "#/definitions/v1Events" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns a paginated list of component events based on request parameters", + "tags": [ + "v1" + ] + }, + "post": { + "description": "Creates a component event", + "operationId": "v1EventsComponentsCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1Event" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Creates a component event", + "tags": [ + "v1" + ] + } + }, + "/v1/events/components/bulk": { + "post": { + "description": "Creates the component events in bulk", + "operationId": "v1EventsComponentsCreateBulk", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1BulkEvents" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "schema": { + "$ref": "#/definitions/v1Uids" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Creates the component events in bulk", + "tags": [ + "v1" + ] + } + }, + "/v1/events/components/{objectKind}/{objectUid}": { + "delete": { + "operationId": "v1EventsComponentsObjTypeUidDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Delete all the components events for the specified related object", + "tags": [ + "v1" + ] + }, + "get": { + "description": "Returns a list of components events for the specified related object", + "operationId": "v1EventsComponentsObjTypeUidList", + "parameters": [ + { + "description": "Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name", + "in": "query", + "name": "fields", + "type": "string" + }, + { + "description": "Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.", + "in": "query", + "name": "filters", + "type": "string" + }, + { + "description": "Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1", + "in": "query", + "name": "orderBy", + "type": "string" + }, + { + "default": 50, + "description": "limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "format": "int64", + "in": "query", + "name": "limit", + "type": "integer" + }, + { + "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", + "format": "int64", + "in": "query", + "name": "offset", + "type": "integer" + }, + { + "description": "continue token to paginate the subsequent data items", + "in": "query", + "name": "continue", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of component event items", + "schema": { + "$ref": "#/definitions/v1Events" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns a list of components events for the specified related object", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Describes the related object uid for which events has to be fetched", + "enum": [ + "spectrocluster", + "edgehost" + ], + "in": "path", + "name": "objectKind", + "required": true, + "type": "string" + }, + { + "description": "Describes the related object kind for which events has to be fetched", + "in": "path", + "name": "objectUid", + "required": true, + "type": "string" + } + ] + }, + "/v1/features": { + "get": { + "operationId": "v1FeaturesList", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1Features" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves the list of features", + "tags": [ + "v1" + ] + } + }, + "/v1/features/{uid}": { + "parameters": [ + { + "description": "Specify the feature uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1FeaturesUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1FeatureUpdate" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Update a feature", + "tags": [ + "v1" + ] + } + }, + "/v1/filters": { + "get": { + "operationId": "v1FiltersList", + "parameters": [ + { + "default": 50, + "description": "limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "format": "int64", + "in": "query", + "name": "limit", + "type": "integer" + }, + { + "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", + "format": "int64", + "in": "query", + "name": "offset", + "type": "integer" + }, + { + "description": "continue token to paginate the subsequent data items", + "in": "query", + "name": "continue", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of filters", + "schema": { + "$ref": "#/definitions/v1FiltersSummary" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns a list of Filters", + "tags": [ + "v1" + ] + } + }, + "/v1/filters/metadata": { + "get": { + "operationId": "v1FiltersMetadata", + "parameters": [ + { + "description": "filterType can be - [tag, meta, resource]", + "in": "query", + "name": "filterType", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of filters", + "schema": { + "$ref": "#/definitions/v1FiltersMetadata" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns a list of Filters metadata", + "tags": [ + "v1" + ] + } + }, + "/v1/filters/tag": { + "post": { + "operationId": "v1TagFiltersCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1TagFilter" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Creates a Tag filter", + "tags": [ + "v1" + ] + } + }, + "/v1/filters/tag/{uid}": { + "delete": { + "operationId": "v1TagFilterUidDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Delete the specified Filter object", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "v1TagFilterUidGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "A Filter object", + "schema": { + "$ref": "#/definitions/v1TagFilterSummary" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified Filter object", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1TagFilterUidUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1TagFilter" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates a Tag filter", + "tags": [ + "v1" + ] + } + }, + "/v1/metrics/{resourceKind}/values": { + "get": { + "description": "Returns all the metrics for a given resource kind", + "operationId": "v1MetricsList", + "parameters": [ + { + "enum": [ + "pod", + "namespace", + "spectrocluster", + "machine", + "project" + ], + "in": "path", + "name": "resourceKind", + "required": true, + "type": "string" + }, + { + "default": "all", + "in": "query", + "name": "metricKind", + "type": "string" + }, + { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "format": "date-time", + "in": "query", + "name": "startTime", + "type": "string" + }, + { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "format": "date-time", + "in": "query", + "name": "endTime", + "type": "string" + }, + { + "default": 1, + "format": "int32", + "in": "query", + "name": "period", + "type": "integer" + }, + { + "default": false, + "description": "Deprecated. includeMasterMachines in boolean, group the data point by including control plane nodes if set to true", + "in": "query", + "name": "includeMasterMachines", + "type": "boolean" + }, + { + "default": false, + "description": "includeControlPlaneMachines in boolean, group the data point by including control plane nodes if set to true", + "in": "query", + "name": "includeControlPlaneMachines", + "type": "boolean" + }, + { + "default": false, + "description": "if true then api returns only aggregation values, else api returns all data points by default", + "in": "query", + "name": "discrete", + "type": "boolean" + }, + { + "in": "query", + "name": "spectroClusterUid", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of metric items", + "schema": { + "$ref": "#/definitions/v1MetricTimeSeriesList" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves the list of metrics for a specified resource kind", + "tags": [ + "v1" + ] + } + }, + "/v1/metrics/{resourceKind}/{resourceUid}/values": { + "delete": { + "operationId": "v1MetricsUidDelete", + "parameters": [ + { + "enum": [ + "pod", + "namespace", + "spectrocluster", + "machine", + "project" + ], + "in": "path", + "name": "resourceKind", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "resourceUid", + "required": true, + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the metrics of the specified resource", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "v1MetricsUidList", + "parameters": [ + { + "enum": [ + "pod", + "namespace", + "spectrocluster", + "machine", + "project" + ], + "in": "path", + "name": "resourceKind", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "resourceUid", + "required": true, + "type": "string" + }, + { + "default": "all", + "description": "multiple metric kinds can be provided with comma separated", + "in": "query", + "name": "metricKind", + "type": "string" + }, + { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "format": "date-time", + "in": "query", + "name": "startTime", + "type": "string" + }, + { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "format": "date-time", + "in": "query", + "name": "endTime", + "type": "string" + }, + { + "default": 1, + "description": "period in minutes, group the data point by the specified period", + "format": "int32", + "in": "query", + "name": "period", + "type": "integer" + }, + { + "default": false, + "description": "Deprecated. includeMasterMachines in boolean, group the data point by including control plane nodes if set to true", + "in": "query", + "name": "includeMasterMachines", + "type": "boolean" + }, + { + "default": false, + "description": "includeControlPlaneMachines in boolean, group the data point by including control plane nodes if set to true", + "in": "query", + "name": "includeControlPlaneMachines", + "type": "boolean" + }, + { + "default": false, + "description": "if true then api returns only aggregation values, else api returns all data points by default", + "in": "query", + "name": "discrete", + "type": "boolean" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of metric items", + "schema": { + "$ref": "#/definitions/v1MetricTimeSeries" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the metrics for a specified resource uid", + "tags": [ + "v1" + ] + } + }, + "/v1/notifications/": { + "get": { + "description": "Returns a paginated list of notifications based on request parameters", + "operationId": "v1NotificationsList", + "parameters": [ + { + "description": "Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name", + "in": "query", + "name": "fields", + "type": "string" + }, + { + "description": "Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.", + "in": "query", + "name": "filters", + "type": "string" + }, + { + "description": "Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1", + "in": "query", + "name": "orderBy", + "type": "string" + }, + { + "default": 50, + "description": "limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "format": "int64", + "in": "query", + "name": "limit", + "type": "integer" + }, + { + "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", + "format": "int64", + "in": "query", + "name": "offset", + "type": "integer" + }, + { + "description": "continue token to paginate the subsequent data items", + "in": "query", + "name": "continue", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of notification items", + "schema": { + "$ref": "#/definitions/v1Notifications" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns a paginated list of notifications based on request parameters", + "tags": [ + "v1" + ] + } + }, + "/v1/notifications/events": { + "post": { + "description": "Creates a notification event", + "operationId": "v1NotificationsEventCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1NotificationEvent" + } + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Creates a notification event", + "tags": [ + "v1" + ] + } + }, + "/v1/notifications/{objectKind}/{objectUid}": { + "get": { + "description": "Returns a list of notifications for the specified related object", + "operationId": "v1NotificationsObjTypeUidList", + "parameters": [ + { + "description": "Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name", + "in": "query", + "name": "fields", + "type": "string" + }, + { + "description": "Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.", + "in": "query", + "name": "filters", + "type": "string" + }, + { + "description": "Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1", + "in": "query", + "name": "orderBy", + "type": "string" + }, + { + "default": 50, + "description": "limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "format": "int64", + "in": "query", + "name": "limit", + "type": "integer" + }, + { + "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", + "format": "int64", + "in": "query", + "name": "offset", + "type": "integer" + }, + { + "description": "continue token to paginate the subsequent data items", + "in": "query", + "name": "continue", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of component event items", + "schema": { + "$ref": "#/definitions/v1Notifications" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns a list of notifications for the specified related object", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Describes the related object kind for which notifications have to be fetched", + "enum": [ + "spectrocluster", + "clusterprofile", + "appdeployment" + ], + "in": "path", + "name": "objectKind", + "required": true, + "type": "string" + }, + { + "description": "Describes the related object uid for which notifications have to be fetched", + "in": "path", + "name": "objectUid", + "required": true, + "type": "string" + }, + { + "description": "Describes a way to fetch \"done\" notifications", + "in": "query", + "name": "isDone", + "type": "string" + } + ] + }, + "/v1/notifications/{uid}/ack": { + "parameters": [ + { + "description": "Describes acknowledging notification uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "patch": { + "description": "Updates the specified notification for the acknowledgment", + "operationId": "v1NotificationsUidAck", + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified notification for the acknowledgment", + "tags": [ + "v1" + ] + } + }, + "/v1/notifications/{uid}/done": { + "parameters": [ + { + "description": "Describes notification uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "patch": { + "description": "Updates the specified notification action as done", + "operationId": "v1NotificationsUidDone", + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified notification action as done", + "tags": [ + "v1" + ] + } + }, + "/v1/overlords": { + "get": { + "operationId": "v1OverlordsList", + "parameters": [ + { + "in": "query", + "name": "name", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1Overlords" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of overlords owned by the tenant", + "tags": [ + "v1" + ] + } + }, + "/v1/overlords/maas/manifest": { + "get": { + "operationId": "V1OverlordsMaasManifest", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1OverlordManifest" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the manifests required for the private gateway installation", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "query", + "name": "pairingCode", + "required": true, + "type": "string" + } + ] + }, + "/v1/overlords/maas/{uid}/account": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1OverlordsUidMaasAccountCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1OverlordMaasAccountCreate" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "create the maas cloudaccount for the private gateway", + "tags": [ + "v1" + ] + }, + "put": { + "operationId": "v1OverlordsUidMaasAccountUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1OverlordMaasAccountEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "update the maas cloudaccount for the private gateway", + "tags": [ + "v1" + ] + } + }, + "/v1/overlords/maas/{uid}/account/validate": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1OverlordsUidMaasAccountValidate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "properties": { + "account": { + "$ref": "#/definitions/v1MaasCloudAccount" + } + } + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "validate the maas cloudaccount for the private gateway", + "tags": [ + "v1" + ] + } + }, + "/v1/overlords/maas/{uid}/cloudconfig": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "V1OverlordsUidMaasCloudConfigCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1OverlordMaasCloudConfig" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "create the maas cloud config for the private gateway", + "tags": [ + "v1" + ] + }, + "put": { + "operationId": "V1OverlordsUidMaasCloudConfigUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1OverlordMaasCloudConfig" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "update the maas cloud config for the private gateway", + "tags": [ + "v1" + ] + } + }, + "/v1/overlords/maas/{uid}/clusterprofile": { + "get": { + "operationId": "v1OverlordsUidMaasClusterProfile", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1ClusterProfile" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified maas private gateway cluster profile", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ] + }, + "/v1/overlords/migrate": { + "post": { + "operationId": "V1OverlordsMigrate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1OverlordMigrateEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "migrate all the clusters from source overlord to target overlord", + "tags": [ + "v1" + ] + } + }, + "/v1/overlords/openstack/manifest": { + "get": { + "operationId": "v1OverlordsOpenStackManifest", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1OverlordManifest" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the manifests required for the private gateway installation", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "query", + "name": "pairingCode", + "required": true, + "type": "string" + } + ] + }, + "/v1/overlords/openstack/{uid}/account": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1OverlordsUidOpenStackAccountCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1OverlordOpenStackAccountCreate" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "create the OpenStack cloudaccount for the private gateway", + "tags": [ + "v1" + ] + }, + "put": { + "operationId": "v1OverlordsUidOpenStackAccountUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1OverlordOpenStackAccountEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "update the OpenStack cloudaccount for the private gateway", + "tags": [ + "v1" + ] + } + }, + "/v1/overlords/openstack/{uid}/account/validate": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1OverlordsUidOpenStackAccountValidate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "properties": { + "account": { + "$ref": "#/definitions/v1OpenStackCloudAccount" + } + } + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "validate the OpenStack cloudaccount for the private gateway", + "tags": [ + "v1" + ] + } + }, + "/v1/overlords/openstack/{uid}/cloudconfig": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1OverlordsUidOpenStackCloudConfigCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1OverlordOpenStackCloudConfig" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "create the OpenStack cloud config for the private gateway", + "tags": [ + "v1" + ] + }, + "put": { + "operationId": "v1OverlordsUidOpenStackCloudConfigUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1OverlordOpenStackCloudConfig" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "update the OpenStack cloud config for the private gateway", + "tags": [ + "v1" + ] + } + }, + "/v1/overlords/openstack/{uid}/clusterprofile": { + "get": { + "operationId": "v1OverlordsUidOpenStackClusterProfile", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1ClusterProfile" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified OpenStack private gateway cluster profile", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ] + }, + "/v1/overlords/pairing/code": { + "get": { + "operationId": "v1OverlordsPairingCode", + "parameters": [ + { + "enum": [ + "vsphere", + "openstack", + "maas" + ], + "in": "query", + "name": "cloudType", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1PairingCode" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the pairing code for the private gateway", + "tags": [ + "v1" + ] + } + }, + "/v1/overlords/vsphere/manifest": { + "get": { + "operationId": "v1OverlordsVsphereManifest", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1OverlordManifest" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the manifests required for the private gateway installation", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "query", + "name": "pairingCode", + "required": true, + "type": "string" + } + ] + }, + "/v1/overlords/vsphere/ova": { + "get": { + "operationId": "v1OverlordsVsphereOvaGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1OverloadVsphereOva" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns overlord's ova information", + "tags": [ + "v1" + ] + } + }, + "/v1/overlords/vsphere/{uid}/account": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1OverlordsUidVsphereAccountCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1OverlordVsphereAccountCreate" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "create the vSphere cloudaccount for the private gateway", + "tags": [ + "v1" + ] + }, + "put": { + "operationId": "v1OverlordsUidVsphereAccountUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1OverlordVsphereAccountEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "update the vSphere cloudaccount for the private gateway", + "tags": [ + "v1" + ] + } + }, + "/v1/overlords/vsphere/{uid}/account/validate": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1OverlordsUidVsphereAccountValidate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "properties": { + "account": { + "$ref": "#/definitions/v1VsphereCloudAccount" + } + } + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "validate the vSphere cloudaccount for the private gateway", + "tags": [ + "v1" + ] + } + }, + "/v1/overlords/vsphere/{uid}/cloudconfig": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1OverlordsUidVsphereCloudConfigCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1OverlordVsphereCloudConfig" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "create the vSphere cloud config for the private gateway", + "tags": [ + "v1" + ] + }, + "put": { + "operationId": "v1OverlordsUidVsphereCloudConfigUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1OverlordVsphereCloudConfig" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "update the vSphere cloud config for the private gateway", + "tags": [ + "v1" + ] + } + }, + "/v1/overlords/vsphere/{uid}/clusterprofile": { + "get": { + "operationId": "v1OverlordsUidVsphereClusterProfile", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1ClusterProfile" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified vsphere private gateway cluster profile", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ] + }, + "/v1/overlords/vsphere/{uid}/pools": { + "get": { + "operationId": "v1OverlordsUidPoolsList", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1IpPools" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of IP Pools for the specified private gateway", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1OverlordsUidPoolCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1IpPoolInputEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Creates an IP pool defintion for the sepcified private gateway", + "tags": [ + "v1" + ] + } + }, + "/v1/overlords/vsphere/{uid}/pools/{poolUid}": { + "delete": { + "operationId": "v1OverlordsUidPoolDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the private gateways's specified IP Pool data", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "poolUid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1OverlordsUidPoolUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1IpPoolInputEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the private gateways's specified IP Pool data", + "tags": [ + "v1" + ] + } + }, + "/v1/overlords/vsphere/{uid}/properties/computecluster/resources": { + "get": { + "operationId": "v1OverlordsUidVsphereComputeclusterRes", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1VsphereComputeClusterResources" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves the vSphere computecluster resources for the specified private gateway's account", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "datacenter", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "computecluster", + "required": true, + "type": "string" + } + ] + }, + "/v1/overlords/vsphere/{uid}/properties/datacenters": { + "get": { + "operationId": "v1OverlordsUidVsphereDatacenters", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1VsphereDatacenters" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves the vSphere datacenters \u0026 datacluster for the specified private gateway's account", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ] + }, + "/v1/overlords/{uid}": { + "delete": { + "operationId": "v1OverlordsUidDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1DeletedMsg" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "delete the private gateway", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "v1OverlordsUidGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1Overlord" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified private gateway's for the given uid", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ] + }, + "/v1/overlords/{uid}/metadata": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1OverlordsUidMetadataUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ObjectMetaInputEntitySchema" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "update the private gateway's metadata", + "tags": [ + "v1" + ] + } + }, + "/v1/overlords/{uid}/reset": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1OverlordsUidReset", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1UpdatedMsg" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "reset the private gateway by disaaociating the private gateway's resources", + "tags": [ + "v1" + ] + } + }, + "/v1/packs": { + "delete": { + "operationId": "v1PacksSummaryDelete", + "parameters": [ + { + "description": "Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.", + "in": "query", + "name": "filters", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1DeleteMeta" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the packs", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "v1PacksSummaryList", + "parameters": [ + { + "description": "Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name", + "in": "query", + "name": "fields", + "type": "string" + }, + { + "description": "Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.", + "in": "query", + "name": "filters", + "type": "string" + }, + { + "description": "Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1", + "in": "query", + "name": "orderBy", + "type": "string" + }, + { + "default": 50, + "description": "limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "format": "int64", + "in": "query", + "name": "limit", + "type": "integer" + }, + { + "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", + "format": "int64", + "in": "query", + "name": "offset", + "type": "integer" + }, + { + "description": "continue token to paginate the subsequent data items", + "in": "query", + "name": "continue", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of pack summary items", + "schema": { + "$ref": "#/definitions/v1PackSummaries" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of packs", + "tags": [ + "v1" + ] + } + }, + "/v1/packs/search": { + "post": { + "operationId": "v1PacksSearch", + "parameters": [ + { + "default": 50, + "description": "limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "format": "int64", + "in": "query", + "name": "limit", + "type": "integer" + }, + { + "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", + "format": "int64", + "in": "query", + "name": "offset", + "type": "integer" + }, + { + "description": "continue token to paginate the subsequent data items", + "in": "query", + "name": "continue", + "type": "string" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1PacksFilterSpec" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of pack summary items", + "schema": { + "$ref": "#/definitions/v1PackMetadataList" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of packs based on filter", + "tags": [ + "v1" + ] + } + }, + "/v1/packs/{packName}/registries/{registryUid}": { + "get": { + "operationId": "v1PacksNameRegistryUidList", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1PackTagEntity" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of packs", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Pack registry uid", + "in": "path", + "name": "registryUid", + "required": true, + "type": "string" + }, + { + "description": "Pack name", + "in": "path", + "name": "packName", + "required": true, + "type": "string" + }, + { + "default": "all", + "description": "Pack cloud type", + "in": "query", + "name": "cloudType", + "type": "string" + }, + { + "description": "Pack layer", + "in": "query", + "name": "layer", + "type": "string" + }, + { + "description": "Comma seperated pack states. Example values are \"deprecated\" \"deprecated,disabled\". If states is not specified or empty then by default API will return all packs except \"disabled\" packs", + "in": "query", + "name": "states", + "type": "string" + } + ] + }, + "/v1/packs/{packUid}/logo": { + "get": { + "operationId": "v1PacksPackUidLogo", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "produces": [ + "image/png", + "image/gif", + "image/jpeg" + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "Cache-Control": { + "description": "Cache control directive for the response", + "type": "string" + }, + "Expires": { + "type": "string" + } + }, + "schema": { + "format": "binary", + "type": "string" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the logo for a specified pack", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Pack uid", + "in": "path", + "name": "packUid", + "required": true, + "type": "string" + } + ] + }, + "/v1/packs/{uid}": { + "get": { + "operationId": "v1PacksUid", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "A pack for the specified uid", + "schema": { + "$ref": "#/definitions/v1PackTagEntity" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified pack", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Pack uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ] + }, + "/v1/packs/{uid}/readme": { + "get": { + "operationId": "v1PacksUidReadme", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "Readme describes the documentation of the specified pack", + "schema": { + "$ref": "#/definitions/v1PackReadme" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the readme of a specified pack", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Pack uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ] + }, + "/v1/pcg/selfHosted": { + "post": { + "operationId": "v1PcgSelfHosted", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1PcgSelfHostedParams" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1PcgServiceKubectlCommands" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the private gateway manifest link", + "tags": [ + "v1" + ] + } + }, + "/v1/pcg/{uid}/register": { + "post": { + "operationId": "v1PcgUidRegister", + "parameters": [ + { + "in": "body", + "name": "pairingCode", + "schema": { + "$ref": "#/definitions/v1PairingCode" + } + }, + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Registers the pcg", + "tags": [ + "v1" + ] + } + }, + "/v1/pcg/{uid}/services/ally/manifest": { + "get": { + "operationId": "v1PcgUidAllyManifestGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "produces": [ + "application/octet-stream" + ], + "responses": { + "200": { + "description": "download file", + "headers": { + "Content-Disposition": { + "type": "string" + } + }, + "schema": { + "format": "binary", + "type": "string" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the pcg ally manifest", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ] + }, + "/v1/pcg/{uid}/services/jet/manifest": { + "get": { + "operationId": "v1PcgUidJetManifestGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "produces": [ + "application/octet-stream" + ], + "responses": { + "200": { + "description": "download file", + "headers": { + "Content-Disposition": { + "type": "string" + } + }, + "schema": { + "format": "binary", + "type": "string" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the pcg jet manifest", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ] + }, + "/v1/permissions": { + "get": { + "operationId": "v1PermissionsList", + "parameters": [ + { + "enum": [ + "system", + "tenant", + "project", + "resource" + ], + "in": "query", + "name": "scope", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of permissions", + "schema": { + "$ref": "#/definitions/v1Permissions" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of permissions", + "tags": [ + "v1" + ] + } + }, + "/v1/projects": { + "get": { + "description": "Deprecated: Use POST /v1/dashboard/projects", + "operationId": "v1ProjectsList", + "parameters": [ + { + "description": "Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name", + "in": "query", + "name": "fields", + "type": "string" + }, + { + "description": "Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.", + "in": "query", + "name": "filters", + "type": "string" + }, + { + "description": "Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1", + "in": "query", + "name": "orderBy", + "type": "string" + }, + { + "default": 50, + "description": "limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "format": "int64", + "in": "query", + "name": "limit", + "type": "integer" + }, + { + "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", + "format": "int64", + "in": "query", + "name": "offset", + "type": "integer" + }, + { + "description": "continue token to paginate the subsequent data items", + "in": "query", + "name": "continue", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of projects", + "schema": { + "$ref": "#/definitions/v1Projects" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of projects", + "tags": [ + "v1" + ] + }, + "post": { + "operationId": "v1ProjectsCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ProjectEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Creates a project", + "tags": [ + "v1" + ] + } + }, + "/v1/projects/alerts": { + "get": { + "operationId": "v1ProjectsAlerts", + "responses": { + "200": { + "description": "An array of alert components", + "schema": { + "$ref": "#/definitions/v1ProjectAlertComponents" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of supported alerts for a project", + "tags": [ + "v1" + ] + } + }, + "/v1/projects/{uid}": { + "delete": { + "operationId": "v1ProjectsUidDelete", + "parameters": [ + { + "in": "query", + "name": "cleanupProjectResources", + "type": "boolean" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ProjectCleanup" + } + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the specified project", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "v1ProjectsUidGet", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1Project" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified project", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1ProjectsUidUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ProjectEntity" + } + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified project", + "tags": [ + "v1" + ] + } + }, + "/v1/projects/{uid}/alerts/{component}": { + "delete": { + "operationId": "v1ProjectsUidAlertDelete", + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the specified alert to the specified project", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "component", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1ProjectsUidAlertCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1Channel" + } + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Create the specified alert to the specified project", + "tags": [ + "v1" + ] + }, + "put": { + "operationId": "v1ProjectsUidAlertUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1AlertEntity" + } + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Upsert the specified alert to the specified project", + "tags": [ + "v1" + ] + } + }, + "/v1/projects/{uid}/alerts/{component}/{alertUid}": { + "delete": { + "operationId": "v1ProjectsUidAlertsUidDelete", + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the specified alert of the specified project", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "v1ProjectsUidAlertsUidGet", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1Channel" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Get the specified alert of the specified project", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "component", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "alertUid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1ProjectsUidAlertsUidUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1Channel" + } + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Update the specified alert of the specified project", + "tags": [ + "v1" + ] + } + }, + "/v1/projects/{uid}/macros": { + "delete": { + "operationId": "v1ProjectsUidMacrosDeleteByMacroName", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1Macros" + } + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Delete the macros for the specified project by macro name", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "v1ProjectsUidMacrosList", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1Macros" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "List the macros of the specified project", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "patch": { + "operationId": "v1ProjectsUidMacrosUpdateByMacroName", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1Macros" + } + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Update the macros for the specified project by macro name", + "tags": [ + "v1" + ] + }, + "post": { + "operationId": "v1ProjectsUidMacrosCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1Macros" + } + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Create or add new macros for the specified project", + "tags": [ + "v1" + ] + }, + "put": { + "operationId": "v1ProjectsUidMacrosUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1Macros" + } + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Update the macros of the specified project", + "tags": [ + "v1" + ] + } + }, + "/v1/projects/{uid}/meta": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1ProjectsUidMetaUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ObjectMeta" + } + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Update the metadata of the specified project", + "tags": [ + "v1" + ] + } + }, + "/v1/projects/{uid}/preferences/clusterSettings": { + "get": { + "operationId": "v1ProjectClusterSettingsGet", + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1ProjectClusterSettings" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Get project cluster settings", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ] + }, + "/v1/projects/{uid}/preferences/clusterSettings/nodesAutoRemediationSetting": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1ProjectClustersNodesAutoRemediationSettingUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1NodesAutoRemediationSettings" + } + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Update project clusters nodes auto remediation setting", + "tags": [ + "v1" + ] + } + }, + "/v1/projects/{uid}/teams": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1ProjectsUidTeamsUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ProjectTeamsEntity" + } + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Update the teams association to the specified project", + "tags": [ + "v1" + ] + } + }, + "/v1/projects/{uid}/users": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1ProjectsUidUsersUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ProjectUsersEntity" + } + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Update the users association to the specified project", + "tags": [ + "v1" + ] + } + }, + "/v1/projects/{uid}/validate": { + "delete": { + "operationId": "v1ProjectsUidValidate", + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1ProjectActiveResources" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Validate and returns active resource of project before delete", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ] + }, + "/v1/registries/helm": { + "get": { + "operationId": "v1RegistriesHelmList", + "parameters": [ + { + "description": "Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name", + "in": "query", + "name": "fields", + "type": "string" + }, + { + "description": "Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.", + "in": "query", + "name": "filters", + "type": "string" + }, + { + "description": "Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1", + "in": "query", + "name": "orderBy", + "type": "string" + }, + { + "default": 50, + "description": "limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "format": "int64", + "in": "query", + "name": "limit", + "type": "integer" + }, + { + "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", + "format": "int64", + "in": "query", + "name": "offset", + "type": "integer" + }, + { + "description": "continue token to paginate the subsequent data items", + "in": "query", + "name": "continue", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of registry items", + "schema": { + "$ref": "#/definitions/v1HelmRegistries" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of Helm registries", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "default": "all", + "enum": [ + "system", + "tenant", + "all" + ], + "in": "query", + "name": "scope", + "type": "string" + } + ], + "post": { + "operationId": "v1RegistriesHelmCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1HelmRegistryEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Creates a helm registry", + "tags": [ + "v1" + ] + } + }, + "/v1/registries/helm/summary": { + "get": { + "operationId": "v1RegistriesHelmSummaryList", + "parameters": [ + { + "description": "Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name", + "in": "query", + "name": "fields", + "type": "string" + }, + { + "description": "Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.", + "in": "query", + "name": "filters", + "type": "string" + }, + { + "description": "Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1", + "in": "query", + "name": "orderBy", + "type": "string" + }, + { + "default": 50, + "description": "limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "format": "int64", + "in": "query", + "name": "limit", + "type": "integer" + }, + { + "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", + "format": "int64", + "in": "query", + "name": "offset", + "type": "integer" + }, + { + "description": "continue token to paginate the subsequent data items", + "in": "query", + "name": "continue", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of registry items", + "schema": { + "$ref": "#/definitions/v1HelmRegistriesSummary" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of helm registries as summary", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "default": "all", + "enum": [ + "system", + "tenant", + "all" + ], + "in": "query", + "name": "scope", + "type": "string" + } + ] + }, + "/v1/registries/helm/validate": { + "post": { + "description": "Returns no contents if helm registry is valid else error.", + "operationId": "V1RegistriesHelmValidate", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v1HelmRegistrySpec" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Check if helm registry is valid", + "tags": [ + "v1" + ] + } + }, + "/v1/registries/helm/{uid}": { + "delete": { + "operationId": "v1RegistriesHelmUidDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the specified helm registry", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "v1RegistriesHelmUidGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1HelmRegistry" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified Helm registry", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1RegistriesHelmUidUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1HelmRegistry" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified helm registry", + "tags": [ + "v1" + ] + } + }, + "/v1/registries/helm/{uid}/sync": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "default": false, + "in": "query", + "name": "forceSync", + "type": "boolean" + } + ], + "post": { + "description": "Sync all the helm charts from the registry", + "operationId": "v1RegistriesHelmUidSync", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "202": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Sync Helm registry", + "tags": [ + "v1" + ] + } + }, + "/v1/registries/helm/{uid}/sync/status": { + "get": { + "description": "Get the sync status for the specified helm registry", + "operationId": "v1RegistriesHelmUidSyncStatus", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "Helm registry sync status", + "schema": { + "$ref": "#/definitions/v1RegistrySyncStatus" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Get helm registry sync status", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ] + }, + "/v1/registries/metadata": { + "get": { + "operationId": "v1RegistriesMetadata", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of registry metadata items", + "schema": { + "$ref": "#/definitions/v1RegistriesMetadata" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of registries metadata", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "default": "all", + "enum": [ + "system", + "tenant", + "all" + ], + "in": "query", + "name": "scope", + "type": "string" + } + ] + }, + "/v1/registries/oci/basic": { + "post": { + "operationId": "v1BasicOciRegistriesCreate", + "parameters": [ + { + "default": false, + "in": "query", + "name": "skipPackSync", + "type": "boolean" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1BasicOciRegistry" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Creates a basic oci registry", + "tags": [ + "v1" + ] + } + }, + "/v1/registries/oci/basic/validate": { + "post": { + "description": "Returns no contents if oci registry is valid else error.", + "operationId": "v1BasicOciRegistriesValidate", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v1BasicOciRegistrySpec" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Check if oci registry is valid", + "tags": [ + "v1" + ] + } + }, + "/v1/registries/oci/ecr": { + "post": { + "operationId": "v1EcrRegistriesCreate", + "parameters": [ + { + "default": false, + "in": "query", + "name": "skipPackSync", + "type": "boolean" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1EcrRegistry" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Creates a ecr registry", + "tags": [ + "v1" + ] + } + }, + "/v1/registries/oci/ecr/validate": { + "post": { + "description": "Returns no contents if ecr registry is valid else error.", + "operationId": "v1EcrRegistriesValidate", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v1EcrRegistrySpec" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Check if ecr registry is valid", + "tags": [ + "v1" + ] + } + }, + "/v1/registries/oci/image": { + "get": { + "operationId": "v1OciImageRegistryGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1OciImageRegistry" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Creates a image registry", + "tags": [ + "v1" + ] + } + }, + "/v1/registries/oci/summary": { + "get": { + "operationId": "v1OciRegistriesSummary", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of oci registry items", + "schema": { + "$ref": "#/definitions/v1OciRegistries" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a oci registries summary", + "tags": [ + "v1" + ] + } + }, + "/v1/registries/oci/{uid}": { + "get": { + "operationId": "v1OciRegistriesGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1OciRegistryEntity" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the information of specified oci registry", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "clusterUid", + "type": "string" + } + ] + }, + "/v1/registries/oci/{uid}/basic": { + "delete": { + "operationId": "v1BasicOciRegistriesUidDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the specified basic oci registry", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "v1BasicOciRegistriesUidGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1BasicOciRegistry" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the basic oci registry", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1BasicOciRegistriesUidUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1BasicOciRegistry" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified basic oci registry", + "tags": [ + "v1" + ] + } + }, + "/v1/registries/oci/{uid}/basic/sync": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "default": false, + "in": "query", + "name": "forceSync", + "type": "boolean" + } + ], + "post": { + "description": "Sync all the content from the oci registry", + "operationId": "v1BasicOciRegistriesUidSync", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "202": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Sync oci registry", + "tags": [ + "v1" + ] + } + }, + "/v1/registries/oci/{uid}/basic/sync/status": { + "get": { + "description": "Get sync status for the oci specified registry", + "operationId": "v1BasicOciRegistriesUidSyncStatus", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "Oci registry sync status", + "schema": { + "$ref": "#/definitions/v1RegistrySyncStatus" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Get oci registry sync status", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ] + }, + "/v1/registries/oci/{uid}/ecr": { + "delete": { + "operationId": "v1EcrRegistriesUidDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the specified ecr registry", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "v1EcrRegistriesUidGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1EcrRegistry" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified ecr registry", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1EcrRegistriesUidUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1EcrRegistry" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified ecr registry", + "tags": [ + "v1" + ] + } + }, + "/v1/registries/oci/{uid}/ecr/sync": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "default": false, + "in": "query", + "name": "forceSync", + "type": "boolean" + } + ], + "post": { + "description": "Sync all the content from the ecr registry", + "operationId": "v1EcrRegistriesUidSync", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "202": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Sync ecr registry", + "tags": [ + "v1" + ] + } + }, + "/v1/registries/oci/{uid}/ecr/sync/status": { + "get": { + "description": "Get sync status for the ecr specified registry", + "operationId": "v1EcrRegistriesUidSyncStatus", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "Ecr registry sync status", + "schema": { + "$ref": "#/definitions/v1RegistrySyncStatus" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Get ecr registry sync status", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ] + }, + "/v1/registries/pack": { + "get": { + "operationId": "v1RegistriesPackList", + "parameters": [ + { + "description": "Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name", + "in": "query", + "name": "fields", + "type": "string" + }, + { + "description": "Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.", + "in": "query", + "name": "filters", + "type": "string" + }, + { + "description": "Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1", + "in": "query", + "name": "orderBy", + "type": "string" + }, + { + "default": 50, + "description": "limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "format": "int64", + "in": "query", + "name": "limit", + "type": "integer" + }, + { + "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", + "format": "int64", + "in": "query", + "name": "offset", + "type": "integer" + }, + { + "description": "continue token to paginate the subsequent data items", + "in": "query", + "name": "continue", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of registry items", + "schema": { + "$ref": "#/definitions/v1PackRegistries" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of Pack registries", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "default": "all", + "enum": [ + "system", + "tenant", + "all" + ], + "in": "query", + "name": "scope", + "type": "string" + } + ], + "post": { + "operationId": "v1RegistriesPackCreate", + "parameters": [ + { + "default": false, + "in": "query", + "name": "skipPackSync", + "type": "boolean" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1PackRegistry" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Creates a pack registry", + "tags": [ + "v1" + ] + } + }, + "/v1/registries/pack/summary": { + "get": { + "operationId": "v1RegistriesPackSummaryList", + "parameters": [ + { + "description": "Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name", + "in": "query", + "name": "fields", + "type": "string" + }, + { + "description": "Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.", + "in": "query", + "name": "filters", + "type": "string" + }, + { + "description": "Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1", + "in": "query", + "name": "orderBy", + "type": "string" + }, + { + "default": 50, + "description": "limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "format": "int64", + "in": "query", + "name": "limit", + "type": "integer" + }, + { + "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", + "format": "int64", + "in": "query", + "name": "offset", + "type": "integer" + }, + { + "description": "continue token to paginate the subsequent data items", + "in": "query", + "name": "continue", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of registry items", + "schema": { + "$ref": "#/definitions/v1PackRegistriesSummary" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of pack registries as summary", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "default": "all", + "enum": [ + "system", + "tenant", + "all" + ], + "in": "query", + "name": "scope", + "type": "string" + } + ] + }, + "/v1/registries/pack/validate": { + "post": { + "description": "Returns no contents if pack registry is valid else error.", + "operationId": "V1RegistriesPackValidate", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v1PackRegistrySpec" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Check if pack registry is valid", + "tags": [ + "v1" + ] + } + }, + "/v1/registries/pack/{uid}": { + "delete": { + "operationId": "v1RegistriesPackUidDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the specified pack registry", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "v1RegistriesPackUidGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1PackRegistry" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified Pack registry", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1RegistriesPackUidUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1PackRegistry" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified pack registry", + "tags": [ + "v1" + ] + } + }, + "/v1/registries/pack/{uid}/sync": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "default": false, + "in": "query", + "name": "forceSync", + "type": "boolean" + } + ], + "post": { + "description": "Sync all the packs from the registry", + "operationId": "v1RegistriesPackUidSync", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "202": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Sync Pack registry", + "tags": [ + "v1" + ] + } + }, + "/v1/registries/pack/{uid}/sync/status": { + "get": { + "description": "Get sync status for the pack specified registry", + "operationId": "v1RegistriesPackUidSyncStatus", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "Pack registry sync status", + "schema": { + "$ref": "#/definitions/v1RegistrySyncStatus" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Get pack registry sync status", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ] + }, + "/v1/registries/{registryName}/config": { + "get": { + "operationId": "v1RegistriesNameConfigGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1RegistryConfigEntity" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified system scope registry configuration", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "registryName", + "required": true, + "type": "string" + } + ] + }, + "/v1/registries/{uid}": { + "delete": { + "operationId": "v1RegistriesUidDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the specified registry", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ] + }, + "/v1/roles": { + "get": { + "operationId": "v1RolesList", + "parameters": [ + { + "description": "Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name", + "in": "query", + "name": "fields", + "type": "string" + }, + { + "description": "Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.", + "in": "query", + "name": "filters", + "type": "string" + }, + { + "description": "Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1", + "in": "query", + "name": "orderBy", + "type": "string" + }, + { + "default": 50, + "description": "limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "format": "int64", + "in": "query", + "name": "limit", + "type": "integer" + }, + { + "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", + "format": "int64", + "in": "query", + "name": "offset", + "type": "integer" + }, + { + "description": "continue token to paginate the subsequent data items", + "in": "query", + "name": "continue", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1Roles" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of roles", + "tags": [ + "v1" + ] + }, + "post": { + "operationId": "v1RolesCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1Role" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Creates a role with specified permissions", + "tags": [ + "v1" + ] + } + }, + "/v1/roles/{uid}": { + "delete": { + "operationId": "v1RolesUidDelete", + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the specified role", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "v1RolesUidGet", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1Role" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified role", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1RolesUidUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1Role" + } + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified role", + "tags": [ + "v1" + ] + } + }, + "/v1/roles/{uid}/clone": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1RolesClone", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1RoleClone" + } + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Clone the role", + "tags": [ + "v1" + ] + } + }, + "/v1/services/{serviceName}/version": { + "get": { + "operationId": "v1ServiceVersionGet", + "parameters": [ + { + "description": "service name", + "enum": [ + "ally", + "jet", + "palette", + "ambit", + "ally-lite", + "palette-lite", + "crony", + "tick", + "edge", + "lodge", + "level", + "edgeconfig", + "firth", + "stylus" + ], + "in": "path", + "name": "serviceName", + "required": true, + "type": "string" + }, + { + "description": "spectro cluster uid", + "in": "query", + "name": "clusterUid", + "type": "string" + }, + { + "description": "edge host uid", + "in": "query", + "name": "edgeHostUid", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1ServiceVersion" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns a latest version for a given service name", + "tags": [ + "v1" + ] + } + }, + "/v1/services/{serviceName}/versions/{version}/manifest": { + "get": { + "operationId": "v1ServiceManifestGet", + "parameters": [ + { + "description": "service name", + "enum": [ + "ally", + "jet", + "palette", + "ambit", + "ally-lite", + "palette-lite", + "crony", + "tick", + "edge", + "lodge", + "level", + "edgeconfig", + "firth", + "stylus" + ], + "in": "path", + "name": "serviceName", + "required": true, + "type": "string" + }, + { + "description": "service version", + "in": "path", + "name": "version", + "required": true, + "type": "string" + }, + { + "description": "action type", + "enum": [ + "apply", + "delete", + "resources" + ], + "in": "query", + "name": "action", + "required": true, + "type": "string" + }, + { + "description": "resource file name", + "in": "query", + "name": "resourceFilename", + "type": "string" + }, + { + "description": "spectro cluster uid", + "in": "query", + "name": "clusterUid", + "type": "string" + }, + { + "description": "edge host uid", + "in": "query", + "name": "edgeHostUid", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1ServiceManifest" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns a service manifest for a given service name and version", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/aks": { + "post": { + "operationId": "v1SpectroClustersAksCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroAzureClusterEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Creates an AKS cluster", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/aks/rate": { + "post": { + "operationId": "v1SpectroClustersAksRate", + "parameters": [ + { + "default": "hourly", + "enum": [ + "hourly", + "monthly", + "yearly" + ], + "in": "query", + "name": "periodType", + "type": "string" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroAzureClusterRateEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "Aks Cluster estimated rate response", + "schema": { + "$ref": "#/definitions/v1SpectroClusterRate" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Get AKS cluster estimated rate information", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/aks/validate": { + "post": { + "operationId": "v1SpectroClustersAksValidate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroAzureClusterEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "Aks Cluster validation response", + "schema": { + "$ref": "#/definitions/v1SpectroClusterValidatorResponse" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Validates AKS cluster create operation", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/aws": { + "post": { + "operationId": "v1SpectroClustersAwsCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroAwsClusterEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Creates an AWS cluster", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/aws/import": { + "post": { + "operationId": "v1SpectroClustersAwsImport", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroAwsClusterImportEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Imports an AWS cluster", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/aws/rate": { + "post": { + "operationId": "v1SpectroClustersAwsRate", + "parameters": [ + { + "default": "hourly", + "enum": [ + "hourly", + "monthly", + "yearly" + ], + "in": "query", + "name": "periodType", + "type": "string" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroAwsClusterRateEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "Aws Cluster estimated rate response", + "schema": { + "$ref": "#/definitions/v1SpectroClusterRate" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Get AWS cluster estimated rate information", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/aws/validate": { + "post": { + "operationId": "v1SpectroClustersAwsValidate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroAwsClusterEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "Aws Cluster validation response", + "schema": { + "$ref": "#/definitions/v1SpectroClusterValidatorResponse" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Validates AWS cluster create operation", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/azure": { + "post": { + "operationId": "v1SpectroClustersAzureCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroAzureClusterEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Creates an Azure cluster", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/azure/import": { + "post": { + "operationId": "v1SpectroClustersAzureImport", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroAzureClusterImportEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Imports an Azure cluster", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/azure/rate": { + "post": { + "operationId": "v1SpectroClustersAzureRate", + "parameters": [ + { + "default": "hourly", + "enum": [ + "hourly", + "monthly", + "yearly" + ], + "in": "query", + "name": "periodType", + "type": "string" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroAzureClusterRateEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "Azure Cluster estimated rate response", + "schema": { + "$ref": "#/definitions/v1SpectroClusterRate" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Get Azure cluster estimated rate information", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/azure/validate": { + "post": { + "operationId": "v1SpectroClustersAzureValidate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroAzureClusterEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "Azure Cluster validation response", + "schema": { + "$ref": "#/definitions/v1SpectroClusterValidatorResponse" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Validates Azure cluster create operation", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/cloudTypes/{cloudType}": { + "parameters": [ + { + "description": "Cluster's cloud type", + "in": "path", + "name": "cloudType", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1SpectroClustersCustomCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroCustomClusterEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Creates a Custom cluster", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/cloudTypes/{cloudType}/validate": { + "parameters": [ + { + "description": "Cluster's cloud type", + "in": "path", + "name": "cloudType", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1SpectroClustersCustomValidate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroCustomClusterEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "Custom Cluster validation response", + "schema": { + "$ref": "#/definitions/v1SpectroClusterValidatorResponse" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Validates Custom cluster create operation", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/edge-native": { + "post": { + "operationId": "v1SpectroClustersEdgeNativeCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroEdgeNativeClusterEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Creates an EdgeNative cluster", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/edge-native/import": { + "post": { + "operationId": "v1SpectroClustersEdgeNativeImport", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroEdgeNativeClusterImportEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Imports an EdgeNative cluster", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/edge-native/rate": { + "post": { + "operationId": "v1SpectroClustersEdgeNativeRate", + "parameters": [ + { + "default": "hourly", + "enum": [ + "hourly", + "monthly", + "yearly" + ], + "in": "query", + "name": "periodType", + "type": "string" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroEdgeNativeClusterRateEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "EdgeNative Cluster estimated rate response", + "schema": { + "$ref": "#/definitions/v1SpectroClusterRate" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Get edge-native cluster estimated rate information", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/edge-native/validate": { + "post": { + "operationId": "v1SpectroClustersEdgeNativeValidate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroEdgeNativeClusterEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "EdgeNative Cluster validation response", + "schema": { + "$ref": "#/definitions/v1SpectroClusterValidatorResponse" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Validates edge-native cluster create operation", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/eks": { + "post": { + "operationId": "v1SpectroClustersEksCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroEksClusterEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Creates an EKS cluster", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/eks/rate": { + "post": { + "operationId": "v1SpectroClustersEksRate", + "parameters": [ + { + "default": "hourly", + "enum": [ + "hourly", + "monthly", + "yearly" + ], + "in": "query", + "name": "periodType", + "type": "string" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroEksClusterRateEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "Eks Cluster estimated rate response", + "schema": { + "$ref": "#/definitions/v1SpectroClusterRate" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Get EKS cluster estimated rate information", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/eks/validate": { + "post": { + "operationId": "v1SpectroClustersEksValidate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroEksClusterEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "Eks Cluster validation response", + "schema": { + "$ref": "#/definitions/v1SpectroClusterValidatorResponse" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Validates EKS cluster create operation", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/features/backup/locations/{uid}": { + "get": { + "operationId": "V1ClusterFeatureBackupLocationUidGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1ClusterRefs" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the cluster object references based on locationUid", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "V1ClusterFeatureBackupLocationUidChange", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ClusterBackupLocationType" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Change cluster backup location", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/features/logFetcher/{uid}/download": { + "get": { + "operationId": "v1ClusterFeatureLogFetcherLogDownload", + "parameters": [ + { + "in": "query", + "name": "fileName", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "produces": [ + "application/octet-stream" + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "Content-Disposition": { + "type": "string" + }, + "Content-Type": { + "type": "string" + } + }, + "schema": { + "type": "file" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Download log fetcher logs for cluster by log fetcher uid", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster uid for which log is requested", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ] + }, + "/v1/spectroclusters/features/logFetcher/{uid}/log": { + "parameters": [ + { + "description": "Cluster uid for which log is requested", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "post": { + "consumes": [ + "multipart/form-data" + ], + "operationId": "v1ClusterFeatureLogFetcherLogUpdate", + "parameters": [ + { + "description": "Log file by agent", + "in": "formData", + "name": "fileName", + "type": "file" + }, + { + "description": "Unique request Id", + "in": "query", + "name": "requestId", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Update log fetcher logs by log fetcher uid", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/gcp": { + "post": { + "operationId": "v1SpectroClustersGcpCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroGcpClusterEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Creates a GCP cluster", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/gcp/import": { + "post": { + "operationId": "v1SpectroClustersGcpImport", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroGcpClusterImportEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Imports a GCP cluster", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/gcp/rate": { + "post": { + "operationId": "v1SpectroClustersGcpRate", + "parameters": [ + { + "default": "hourly", + "enum": [ + "hourly", + "monthly", + "yearly" + ], + "in": "query", + "name": "periodType", + "type": "string" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroGcpClusterRateEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "Gcp Cluster estimated rate response", + "schema": { + "$ref": "#/definitions/v1SpectroClusterRate" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Get GCP cluster estimated rate information", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/gcp/validate": { + "post": { + "operationId": "v1SpectroClustersGcpValidate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroGcpClusterEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "Gcp Cluster validation response", + "schema": { + "$ref": "#/definitions/v1SpectroClusterValidatorResponse" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Validates GCP cluster create operation", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/generic/import": { + "post": { + "description": "The machines information will be captured, whereas the cloud specific configuration info will not be retrieved", + "operationId": "v1SpectroClustersGenericImport", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroGenericClusterImportEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Imports a cluster of any cloud type in generic way", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/generic/rate": { + "post": { + "operationId": "v1SpectroClustersGenericRate", + "parameters": [ + { + "default": "hourly", + "enum": [ + "hourly", + "monthly", + "yearly" + ], + "in": "query", + "name": "periodType", + "type": "string" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroGenericClusterRateEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "Genric Cluster estimated rate response", + "schema": { + "$ref": "#/definitions/v1SpectroClusterRate" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Get generic cluster estimated rate information", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/gke": { + "post": { + "operationId": "v1SpectroClustersGkeCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroGcpClusterEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Creates an GKE cluster", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/gke/rate": { + "post": { + "operationId": "v1SpectroClustersGkeRate", + "parameters": [ + { + "default": "hourly", + "enum": [ + "hourly", + "monthly", + "yearly" + ], + "in": "query", + "name": "periodType", + "type": "string" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroGcpClusterRateEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "Gke Cluster estimated rate response", + "schema": { + "$ref": "#/definitions/v1SpectroClusterRate" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Get GKE cluster estimated rate information", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/gke/validate": { + "post": { + "operationId": "v1SpectroClustersGkeValidate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroGcpClusterEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "Gke Cluster validation response", + "schema": { + "$ref": "#/definitions/v1SpectroClusterValidatorResponse" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Validates GKE cluster create operation", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/maas": { + "post": { + "operationId": "v1SpectroClustersMaasCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroMaasClusterEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Creates a MAAS cluster", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/maas/import": { + "post": { + "operationId": "v1SpectroClustersMaasImport", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroMaasClusterImportEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Imports a Maas cluster", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/maas/rate": { + "post": { + "operationId": "v1SpectroClustersMaasRate", + "parameters": [ + { + "default": "hourly", + "enum": [ + "hourly", + "monthly", + "yearly" + ], + "in": "query", + "name": "periodType", + "type": "string" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroMaasClusterRateEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "Maas Cluster estimated rate response", + "schema": { + "$ref": "#/definitions/v1SpectroClusterRate" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Get maas cluster estimated rate information", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/maas/validate": { + "post": { + "operationId": "v1SpectroClustersMaasValidate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroMaasClusterEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "Maas Cluster validation response", + "schema": { + "$ref": "#/definitions/v1SpectroClusterValidatorResponse" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Validates MAAS cluster create operation", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/openstack": { + "post": { + "operationId": "v1SpectroClustersOpenStackCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroOpenStackClusterEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Creates a OpenStack cluster", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/openstack/import": { + "post": { + "operationId": "v1SpectroClustersOpenStackImport", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroOpenStackClusterImportEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Imports an OpenStack cluster", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/openstack/rate": { + "post": { + "operationId": "v1SpectroClustersOpenStackRate", + "parameters": [ + { + "default": "hourly", + "enum": [ + "hourly", + "monthly", + "yearly" + ], + "in": "query", + "name": "periodType", + "type": "string" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroOpenStackClusterRateEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "Openstack Cluster estimated rate response", + "schema": { + "$ref": "#/definitions/v1SpectroClusterRate" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Get openstack cluster estimated rate information", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/openstack/validate": { + "post": { + "operationId": "v1SpectroClustersOpenStackValidate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroOpenStackClusterEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "vSphere Cluster validation response", + "schema": { + "$ref": "#/definitions/v1SpectroClusterValidatorResponse" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Validates OpenStack cluster create operation", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/spc/download": { + "post": { + "operationId": "v1SpectroClustersSpcDownload", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ClusterDefinitionEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "produces": [ + "application/octet-stream" + ], + "responses": { + "200": { + "description": "Cluster definition archive file", + "headers": { + "Content-Disposition": { + "type": "string" + } + }, + "schema": { + "format": "binary", + "type": "string" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Downloads the cluster definition archive file", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/tke": { + "post": { + "operationId": "v1SpectroClustersTkeCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroTencentClusterEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Creates a Tke cluster", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/tke/rate": { + "post": { + "operationId": "v1SpectroClustersTkeRate", + "parameters": [ + { + "default": "hourly", + "enum": [ + "hourly", + "monthly", + "yearly" + ], + "in": "query", + "name": "periodType", + "type": "string" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroTencentClusterRateEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "Tke Cluster estimated rate response", + "schema": { + "$ref": "#/definitions/v1SpectroClusterRate" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Get TKE cluster estimated rate information", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/tke/validate": { + "post": { + "operationId": "v1SpectroClustersTkeValidate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroTencentClusterEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "Tke Cluster validation response", + "schema": { + "$ref": "#/definitions/v1SpectroClusterValidatorResponse" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Validates TKE cluster create operation", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/upgrade/settings": { + "get": { + "operationId": "v1SpectroClustersUpgradeSettingsGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1ClusterUpgradeSettingsEntity" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Get cluster settings by context", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/validate/name": { + "get": { + "operationId": "v1SpectroClustersValidateName", + "parameters": [ + { + "description": "Cluster name", + "in": "query", + "name": "name", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Validates the cluster name", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/validate/packs": { + "post": { + "operationId": "v1SpectroClustersValidatePacks", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroClusterPacksEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "Cluster packs validation response", + "schema": { + "$ref": "#/definitions/v1SpectroClusterValidatorResponse" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Validates spectro cluster packs", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/virtual": { + "post": { + "operationId": "v1SpectroClustersVirtualCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroVirtualClusterEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Creates a virtual cluster", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/virtual/packs/values": { + "get": { + "operationId": "v1VirtualClustersPacksValues", + "parameters": [ + { + "default": "k3s", + "description": "Kubernetes distribution type", + "enum": [ + "k3s", + "cncf_k8s" + ], + "in": "query", + "name": "kubernetesDistroType", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "Successful response", + "schema": { + "$ref": "#/definitions/v1ClusterVirtualPacksValues" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Get the cluster pack values yaml", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/virtual/validate": { + "post": { + "operationId": "v1SpectroClustersVirtualValidate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroVirtualClusterEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "Virtual Cluster validation response", + "schema": { + "$ref": "#/definitions/v1SpectroClusterValidatorResponse" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Validates virtual cluster create operation", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/vsphere": { + "post": { + "operationId": "v1SpectroClustersVsphereCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroVsphereClusterEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Creates a vSphere cluster", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/vsphere/import": { + "post": { + "operationId": "v1SpectroClustersVsphereImport", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroVsphereClusterImportEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Imports a vSphere cluster", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/vsphere/rate": { + "post": { + "operationId": "v1SpectroClustersVsphereRate", + "parameters": [ + { + "default": "hourly", + "enum": [ + "hourly", + "monthly", + "yearly" + ], + "in": "query", + "name": "periodType", + "type": "string" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroVsphereClusterRateEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "Vsphere Cluster estimated rate response", + "schema": { + "$ref": "#/definitions/v1SpectroClusterRate" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Get vSphere cluster estimated rate information", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/vsphere/validate": { + "post": { + "operationId": "v1SpectroClustersVsphereValidate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroVsphereClusterEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "vSphere Cluster validation response", + "schema": { + "$ref": "#/definitions/v1SpectroClusterValidatorResponse" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Validates vSphere cluster create operation", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/{uid}": { + "delete": { + "operationId": "v1SpectroClustersDelete", + "parameters": [ + { + "description": "If set to true the cluster will be force deleted and user has to manually clean up the provisioned cloud resources", + "in": "query", + "name": "forceDelete", + "type": "boolean" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the specified cluster", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "v1SpectroClustersGet", + "parameters": [ + { + "description": "Comma separated tags like system,profile", + "in": "query", + "name": "includeTags", + "type": "string" + }, + { + "default": false, + "description": "Resolve pack values if set to true", + "in": "query", + "name": "resolvePackValues", + "type": "boolean" + }, + { + "description": "Includes pack meta such as schema, presets", + "in": "query", + "name": "includePackMeta", + "type": "string" + }, + { + "description": "Filter cluster profile templates by profileType", + "in": "query", + "name": "profileType", + "type": "string" + }, + { + "default": false, + "description": "Include non spectro labels in the cluster labels if set to true", + "in": "query", + "name": "includeNonSpectroLabels", + "type": "boolean" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1SpectroCluster" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified cluster", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ] + }, + "/v1/spectroclusters/{uid}/assets": { + "get": { + "operationId": "v1SpectroClustersUidAssetsGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1SpectroClusterAssetEntity" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Get the cluster asset doc", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1SpectroClustersUidAssets", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroClusterAssetEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Associate the assets for the cluster", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/{uid}/assets/adminKubeconfig": { + "get": { + "operationId": "v1SpectroClustersUidAdminKubeConfig", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "produces": [ + "application/octet-stream" + ], + "responses": { + "200": { + "description": "download file", + "headers": { + "Content-Disposition": { + "type": "string" + } + }, + "schema": { + "format": "binary", + "type": "string" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified cluster's kube config file", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ] + }, + "/v1/spectroclusters/{uid}/assets/frpKubeconfig": { + "delete": { + "operationId": "v1SpectroClustersUidFrpKubeConfigDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the cluster's frp kube config client data", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "v1SpectroClustersUidFrpKubeConfigGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "produces": [ + "application/octet-stream" + ], + "responses": { + "200": { + "description": "download file", + "headers": { + "Content-Disposition": { + "type": "string" + } + }, + "schema": { + "format": "binary", + "type": "string" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified cluster's frp kube config file", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1SpectroClustersUidFrpKubeConfigUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroClusterAssetFrpKubeConfig" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the cluster's frp kube config data", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/{uid}/assets/kubeconfig": { + "get": { + "operationId": "v1SpectroClustersUidKubeConfig", + "parameters": [ + { + "default": true, + "description": "FRP (reverse-proxy) based kube config will be returned if available", + "in": "query", + "name": "frp", + "type": "boolean" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "produces": [ + "application/octet-stream" + ], + "responses": { + "200": { + "description": "download file", + "headers": { + "Content-Disposition": { + "type": "string" + } + }, + "schema": { + "format": "binary", + "type": "string" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified cluster's kube config file", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1SpectroClustersUidKubeConfigUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroClusterAssetKubeConfig" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the cluster's manifest data", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/{uid}/assets/kubeconfigclient": { + "delete": { + "operationId": "v1SpectroClustersUidKubeConfigClientDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the cluster's kube config client data", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "v1SpectroClustersUidKubeConfigClientGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "produces": [ + "application/octet-stream" + ], + "responses": { + "200": { + "description": "download file", + "headers": { + "Content-Disposition": { + "type": "string" + } + }, + "schema": { + "format": "binary", + "type": "string" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified cluster's kube config client file", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1SpectroClustersUidKubeConfigClientUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroClusterAssetKubeConfigClient" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the cluster's kube config client data", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/{uid}/assets/manifest": { + "get": { + "operationId": "v1SpectroClustersUidManifestGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "string" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified cluster's manifest data", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1SpectroClustersUidManifestUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroClusterAssetManifest" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified cluster's manifest data", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/{uid}/clusterConfig/clusterMetaAttribute": { + "parameters": [ + { + "description": "Cluster uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "patch": { + "operationId": "v1SpectroClustersUidClusterMetaAttributeUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ClusterMetaAttributeEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified cluster meta attribute", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/{uid}/clusterConfig/controlPlaneHealthCheckTimeout": { + "parameters": [ + { + "description": "Cluster uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "patch": { + "operationId": "V1ControlPlaneHealthCheckTimeoutUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ControlPlaneHealthCheckTimeoutEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified cluster controlPlane health check timeout", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/{uid}/clusterConfig/hostCluster": { + "parameters": [ + { + "description": "Cluster uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "patch": { + "operationId": "V1HostClusterConfigUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1HostClusterConfigEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified cluster host config", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/{uid}/clusterConfig/lifecycleConfig": { + "parameters": [ + { + "description": "Cluster uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "patch": { + "operationId": "v1SpectroClustersUidLifecycleConfigUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1LifecycleConfigEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified cluster Life cycle configuration", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/{uid}/clusterConfig/osPatch": { + "parameters": [ + { + "description": "Cluster uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "patch": { + "operationId": "v1SpectroClustersUidOsPatchUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1OsPatchEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified cluster OS patch configuration", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/{uid}/config/namespaces": { + "get": { + "operationId": "v1SpectroClustersUidConfigNamespacesGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1ClusterNamespaceResources" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves namespaces for the specified cluster", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1SpectroClustersUidConfigNamespacesUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ClusterNamespaceResourcesUpdateEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates namespaces for the specified cluster", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/{uid}/config/namespaces/{namespaceUid}": { + "get": { + "operationId": "v1SpectroClustersUidConfigNamespacesUidGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "Cluster's namespace response", + "schema": { + "$ref": "#/definitions/v1ClusterNamespaceResource" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves the specified namespace of the cluster", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "description": "Cluster namespace uid", + "in": "path", + "name": "namespaceUid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1SpectroClustersUidConfigNamespacesUidUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ClusterNamespaceResourceInputEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified namespace of the cluster", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/{uid}/config/rbacs": { + "get": { + "operationId": "v1SpectroClustersUidConfigRbacsGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1ClusterRbacs" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves RBAC information for the specified cluster", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1SpectroClustersUidConfigRbacsUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ClusterRbacResourcesUpdateEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates RBAC information for the specified cluster", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/{uid}/config/rbacs/{rbacUid}": { + "get": { + "operationId": "v1SpectroClustersUidConfigRbacsUidGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "Cluster's RBAC response", + "schema": { + "$ref": "#/definitions/v1ClusterRbac" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves the specified RBAC of the cluster", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "description": "RBAC resource uid", + "in": "path", + "name": "rbacUid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1SpectroClustersUidConfigRbacsUidUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ClusterRbacInputEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified RBAC of the cluster", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/{uid}/download": { + "get": { + "operationId": "v1SpectroClustersUidDownload", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "produces": [ + "application/octet-stream" + ], + "responses": { + "200": { + "description": "download cluster archive file", + "headers": { + "Content-Disposition": { + "type": "string" + } + }, + "schema": { + "format": "binary", + "type": "string" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Download the specified cluster", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ] + }, + "/v1/spectroclusters/{uid}/edge-native/edgeHosts": { + "get": { + "operationId": "v1EdgeNativeClustersHostsList", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "List of edge host device", + "schema": { + "$ref": "#/definitions/v1EdgeHostDevices" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of edge host of edge-native cluster", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ] + }, + "/v1/spectroclusters/{uid}/features/backup": { + "delete": { + "operationId": "v1ClusterFeatureBackupScheduleReset", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Reset cluster backup schedule settings", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "v1ClusterFeatureBackupGet", + "parameters": [ + { + "in": "query", + "name": "backupRequestUid", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1ClusterBackup" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the cluster backup result", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1ClusterFeatureBackupCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ClusterBackupConfig" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Create cluster backup settings", + "tags": [ + "v1" + ] + }, + "put": { + "operationId": "v1ClusterFeatureBackupUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ClusterBackupConfig" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Update cluster backup settings", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/{uid}/features/backup/onDemand": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1ClusterFeatureBackupOnDemandCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ClusterBackupConfig" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Create on demand cluster backup", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/{uid}/features/backup/{backupName}/request/{requestUid}": { + "delete": { + "operationId": "v1ClusterFeatureBackupDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Delete cluster backup", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "backupName", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "requestUid", + "required": true, + "type": "string" + } + ] + }, + "/v1/spectroclusters/{uid}/features/complianceScan": { + "get": { + "operationId": "v1ClusterFeatureComplianceScanGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1ClusterComplianceScan" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the compliance scan of cluster, if driverType is provided then specific status of driverType will be returned", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1ClusterFeatureComplianceScanCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ClusterComplianceScheduleConfig" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Create cluster compliance scan", + "tags": [ + "v1" + ] + }, + "put": { + "operationId": "v1ClusterFeatureComplianceScanUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ClusterComplianceScheduleConfig" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Update cluster compliance scan settings", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/{uid}/features/complianceScan/logs/drivers": { + "get": { + "operationId": "v1ClusterFeatureComplianceScanLogsGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1ClusterComplianceScanLogs" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the compliance scan log by cluster uid and driver type", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ] + }, + "/v1/spectroclusters/{uid}/features/complianceScan/logs/drivers/kubeBench": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1ClusterFeatureScanKubeBenchLogUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1KubeBenchEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Update the KubeBench compliance scan log by uid", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/{uid}/features/complianceScan/logs/drivers/kubeHunter": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1ClusterFeatureScanKubeHunterLogUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1KubeHunterEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Update the KubeHunter compliance scan log by uid", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/{uid}/features/complianceScan/logs/drivers/sonobuoy": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1ClusterFeatureScanSonobuoyLogUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SonobuoyEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Update the Sonobuoy compliance scan log by uid", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/{uid}/features/complianceScan/logs/drivers/syft": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "patch": { + "operationId": "v1ClusterFeatureScanSyftLogUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SyftEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Update the Syft compliance scan log by uid", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/{uid}/features/complianceScan/logs/{logUid}": { + "delete": { + "operationId": "v1ClusterFeatureComplianceScanLogDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Delete the compliance scan log by uid", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "logUid", + "required": true, + "type": "string" + } + ] + }, + "/v1/spectroclusters/{uid}/features/complianceScan/logs/{logUid}/drivers/kubeBench": { + "get": { + "operationId": "v1ClusterFeatureKubeBenchLogGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1ClusterScanLogKubeBench" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the KubeBench compliance scan log by uid", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "logUid", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "reportId", + "type": "string" + } + ] + }, + "/v1/spectroclusters/{uid}/features/complianceScan/logs/{logUid}/drivers/kubeHunter": { + "get": { + "operationId": "v1ClusterFeatureKubeHunterLogGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1ClusterScanLogKubeHunter" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the KubeHunter compliance scan log by uid", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "logUid", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "reportId", + "type": "string" + } + ] + }, + "/v1/spectroclusters/{uid}/features/complianceScan/logs/{logUid}/drivers/sonobuoy": { + "get": { + "operationId": "v1ClusterFeatureSonobuoyLogGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1ClusterScanLogSonobuoy" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the Sonobuoy compliance scan log by uid", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "logUid", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "reportId", + "type": "string" + } + ] + }, + "/v1/spectroclusters/{uid}/features/complianceScan/logs/{logUid}/drivers/syft": { + "get": { + "operationId": "v1ClusterFeatureSyftLogGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1ClusterScanLogSyft" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the Syft compliance scan log by uid", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "logUid", + "required": true, + "type": "string" + } + ] + }, + "/v1/spectroclusters/{uid}/features/complianceScan/logs/{logUid}/drivers/syft/sbom": { + "get": { + "operationId": "v1SyftScanLogImageSBOMGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "produces": [ + "application/octet-stream" + ], + "responses": { + "200": { + "description": "download file", + "headers": { + "Content-Disposition": { + "type": "string" + } + }, + "schema": { + "format": "binary", + "type": "string" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the image sbom of syft scan log of cluster", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "logUid", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "image", + "type": "string" + } + ] + }, + "/v1/spectroclusters/{uid}/features/complianceScan/logs/{logUid}/drivers/{driver}/download": { + "get": { + "operationId": "v1ClusterFeatureDriverLogDownload", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "produces": [ + "application/octet-stream" + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "Content-Disposition": { + "type": "string" + }, + "Content-Type": { + "type": "string" + } + }, + "schema": { + "type": "file" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Downloads the driver cluster logs", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "logUid", + "required": true, + "type": "string" + }, + { + "enum": [ + "kubeBench", + "kubeHunter", + "sonobuoy", + "syft" + ], + "in": "path", + "name": "driver", + "required": true, + "type": "string" + }, + { + "default": "pdf", + "in": "query", + "name": "fileFormat", + "type": "string" + } + ] + }, + "/v1/spectroclusters/{uid}/features/complianceScan/onDemand": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1ClusterFeatureComplianceScanOnDemandCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ClusterComplianceOnDemandConfig" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Create on demand cluster compliance scan", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/{uid}/features/helmCharts": { + "get": { + "operationId": "v1ClusterFeatureHelmChartsGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1ClusterHelmCharts" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Get the installed helm charts of a specified cluster", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ] + }, + "/v1/spectroclusters/{uid}/features/logFetcher": { + "get": { + "operationId": "v1ClusterFeatureLogFetcherGet", + "parameters": [ + { + "in": "query", + "name": "requestId", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1ClusterLogFetcher" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Get the log fetcher for cluster", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster uid for which log is requested", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1ClusterFeatureLogFetcherCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ClusterLogFetcherRequest" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Create the log fetcher for cluster", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/{uid}/features/manifests": { + "get": { + "operationId": "v1ClusterFeatureManifestsGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1ClusterManifests" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Get the installed manifests of a specified cluster", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ] + }, + "/v1/spectroclusters/{uid}/features/restore": { + "get": { + "operationId": "v1ClusterFeatureRestoreGet", + "parameters": [ + { + "in": "query", + "name": "restoreRequestUid", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1ClusterRestore" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the cluster restore of cluster", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ] + }, + "/v1/spectroclusters/{uid}/features/restore/onDemand": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1ClusterFeatureRestoreOnDemandCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ClusterRestoreConfig" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Create on demand cluster restore", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/{uid}/import/manifest": { + "get": { + "operationId": "v1SpectroClustersUidImportManifest", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "produces": [ + "application/octet-stream" + ], + "responses": { + "200": { + "description": "download file", + "headers": { + "Content-Disposition": { + "type": "string" + } + }, + "schema": { + "format": "binary", + "type": "string" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified cluster's import manifest file", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ] + }, + "/v1/spectroclusters/{uid}/import/upgrade": { + "parameters": [ + { + "description": "Cluster uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "patch": { + "operationId": "v1SpectroClustersUidImportUpgradePatch", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Upgrade the specified imported read only cluster with full permissions", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/{uid}/k8certificates": { + "get": { + "operationId": "v1SpectroClustersK8Certificate", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1MachineCertificates" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Get K8Certificate for spectro cluster", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ] + }, + "/v1/spectroclusters/{uid}/k8certificates/renew": { + "parameters": [ + { + "description": "Cluster uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "patch": { + "operationId": "v1SpectroClustersCertificatesRenew", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Sets the cluster control plane nodes Kubernetes certificates for renewal", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/{uid}/kubectl/redirect": { + "get": { + "operationId": "V1SpectroClustersUidKubeCtlRedirect", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1SpectroClusterKubeCtlRedirect" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified cluster's kube config file", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ] + }, + "/v1/spectroclusters/{uid}/location": { + "parameters": [ + { + "description": "Cluster uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1SpectroClustersUidLocationPut", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroClusterLocationInputEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Associate the assets for the cluster", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/{uid}/metadata": { + "parameters": [ + { + "description": "Cluster uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "patch": { + "operationId": "v1SpectroClustersUidMetadataUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ObjectMetaInputEntitySchema" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Update the specified spectro cluster metadata", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/{uid}/namespaces": { + "get": { + "operationId": "v1ClusterNamespacesGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1ClusterNamespaces" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns available namespaces for the cluster", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "default": false, + "in": "query", + "name": "skipEmptyNamespaces", + "type": "boolean" + } + ] + }, + "/v1/spectroclusters/{uid}/oidc": { + "get": { + "operationId": "V1SpectroClustersUidOIDC", + "parameters": [ + { + "description": "spc uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1SpectroClusterOidcSpec" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns k8s spectrocluster oidc", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/{uid}/oidc/dashboard/url": { + "get": { + "operationId": "V1SpectroClustersUidOIDCDashboardUrl", + "parameters": [ + { + "description": "spc uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1SectroClusterK8sDashboardUrl" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns k8s dashboard url", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/{uid}/pack/manifests/{manifestUid}": { + "get": { + "operationId": "v1SpectroClustersUidPackManifestsUidGet", + "parameters": [ + { + "description": "cluster uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "description": "manifest uid which is part of the pack ref", + "in": "path", + "name": "manifestUid", + "required": true, + "type": "string" + }, + { + "default": false, + "description": "resolve pack manifest values if set to true", + "in": "query", + "name": "resolveManifestValues", + "type": "boolean" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "Pack manifest content", + "schema": { + "$ref": "#/definitions/v1Manifest" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified cluster's manifest", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/{uid}/pack/properties": { + "get": { + "operationId": "v1SpectroClustersUidPackProperties", + "parameters": [ + { + "description": "Cluster uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "description": "Pack layer", + "in": "query", + "name": "layer", + "required": true, + "type": "string" + }, + { + "description": "Pack values yaml field path", + "in": "query", + "name": "fieldPath", + "required": true, + "type": "string" + }, + { + "description": "Pack name", + "in": "query", + "name": "name", + "type": "string" + }, + { + "default": true, + "description": "Is the macros need to be resolved", + "in": "query", + "name": "resolveMacros", + "type": "boolean" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "Cluster's pack properties response", + "schema": { + "$ref": "#/definitions/v1SpectroClusterPackProperties" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Get specified cluster pack properties", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/{uid}/packRefs": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "notify", + "type": "string" + } + ], + "patch": { + "operationId": "v1SpectroClustersPacksRefUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ClusterNotificationUpdateEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the cluster's pack references", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/{uid}/packs/resolvedValues": { + "get": { + "operationId": "v1SpectroClustersUidPacksResolvedValuesGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1SpectroClusterProfilesResolvedValues" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified cluster's packs resolved values", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroClusterProfilesParamReferenceEntity" + } + } + ] + }, + "/v1/spectroclusters/{uid}/packs/status": { + "parameters": [ + { + "description": "Cluster uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "patch": { + "operationId": "v1SpectroClustersUidPacksStatusPatch", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroClusterPacksStatusEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Patch update specified cluster's packs status", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/{uid}/profileUpdates": { + "get": { + "operationId": "v1SpectroClustersGetProfileUpdates", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1SpectroClusterProfileUpdates" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the profile updates of a specified cluster", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ] + }, + "/v1/spectroclusters/{uid}/profiles": { + "delete": { + "operationId": "v1SpectroClustersDeleteProfiles", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroClusterProfilesDeleteEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Remove cluster profiles from the specified cluster", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "v1SpectroClustersGetProfiles", + "parameters": [ + { + "description": "includes pack meta such as schema, presets", + "in": "query", + "name": "includePackMeta", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1SpectroClusterProfileList" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the associated profiles of a specified cluster", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "patch": { + "operationId": "v1SpectroClustersPatchProfiles", + "parameters": [ + { + "default": false, + "description": "Resolve pending cluster notification if set to true", + "in": "query", + "name": "resolveNotification", + "type": "boolean" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroClusterProfiles" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Patch cluster profiles to the specified cluster", + "tags": [ + "v1" + ] + }, + "put": { + "operationId": "v1SpectroClustersUpdateProfiles", + "parameters": [ + { + "default": false, + "description": "Resolve pending cluster notification if set to true", + "in": "query", + "name": "resolveNotification", + "type": "boolean" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroClusterProfiles" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Associate cluster profiles to the specified cluster", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/{uid}/profiles/packs/manifests": { + "get": { + "operationId": "v1SpectroClustersGetProfilesPacksManifests", + "parameters": [ + { + "description": "Includes pack meta such as schema, presets", + "in": "query", + "name": "includePackMeta", + "type": "string" + }, + { + "default": false, + "description": "Resolve pack macro variables if set to true", + "in": "query", + "name": "resolveMacros", + "type": "boolean" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1SpectroClusterProfilesPacksManifests" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the associated profile's pack manifests of a specified cluster", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ] + }, + "/v1/spectroclusters/{uid}/profiles/{profileUid}/packs/{packName}/config": { + "get": { + "operationId": "v1SpectroClustersUidProfilesUidPacksConfigGet", + "parameters": [ + { + "description": "cluster uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "description": "profile uid", + "in": "path", + "name": "profileUid", + "required": true, + "type": "string" + }, + { + "description": "pack name", + "in": "path", + "name": "packName", + "required": true, + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of cluster pack values", + "schema": { + "$ref": "#/definitions/v1SpectroClusterPackConfigList" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified cluster's profile pack configuration", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/{uid}/profiles/{profileUid}/packs/{packName}/manifests": { + "get": { + "operationId": "v1SpectroClustersProfilesUidPackManifestsGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1PackManifests" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the associated profiles pack manifests of the specified cluster", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "description": "Cluster profile uid", + "in": "path", + "name": "profileUid", + "required": true, + "type": "string" + }, + { + "description": "Name of the pack", + "in": "path", + "name": "packName", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1SpectroClustersProfilesUidPackManifestsUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ManifestRefInputEntities" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates cluster profiles pack manifests to the specified cluster", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/{uid}/rate": { + "get": { + "operationId": "v1SpectroClustersUidRate", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1SpectroClusterRate" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the estimated rate of the specified cluster", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "default": "hourly", + "description": "Period type [hourly, monthly, yearly]", + "enum": [ + "hourly", + "monthly", + "yearly" + ], + "in": "query", + "name": "periodType", + "type": "string" + } + ] + }, + "/v1/spectroclusters/{uid}/repave/approve": { + "patch": { + "operationId": "v1SpectroClustersUidRepaveApproveUpdate", + "parameters": [ + { + "description": "cluster uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the spectrocluster repave approve update", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/{uid}/repave/status": { + "get": { + "operationId": "v1SpectroClustersUidRepaveGet", + "parameters": [ + { + "description": "cluster uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "Returns cluster repave status", + "schema": { + "$ref": "#/definitions/v1SpectroClusterRepave" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the spectrocluster repave", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/{uid}/reset": { + "parameters": [ + { + "description": "Cluster uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "V1SpectroClustersUidReset", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "reset the cluster s by deleting machine pools and condtions", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/{uid}/status": { + "get": { + "operationId": "v1SpectroClustersUidStatus", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1SpectroClusterStatusEntity" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Get the cluster's status", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ] + }, + "/v1/spectroclusters/{uid}/status/condition": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1SpectroClustersUpdateStatusCondition", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ClusterCondition" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified cluster status condition", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/{uid}/status/conditions": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "patch": { + "operationId": "v1SpectroClustersUpdateStatusConditions", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "items": { + "$ref": "#/definitions/v1ClusterCondition" + }, + "type": "array" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified cluster status conditions", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/{uid}/status/endpoints": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1SpectroClustersUpdateStatusEndpoints", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "items": { + "$ref": "#/definitions/v1ApiEndpoint" + }, + "type": "array" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified cluster's service endpoints information", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/{uid}/status/imported": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "patch": { + "operationId": "v1SpectroClustersUpdateStatusImported", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified cluster status as imported", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/{uid}/status/services": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1SpectroClustersUpdateStatusServices", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "items": { + "$ref": "#/definitions/v1LoadBalancerService" + }, + "type": "array" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified cluster's services information", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/{uid}/status/spcApply": { + "get": { + "operationId": "v1SpectroClustersUidStatusSpcApplyGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1SpcApply" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the SPC apply information for the agent", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1SpectroClustersUidStatusSpcApply", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "202": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Set the CanBeApplied to true on the spcApply status. CanBeApplied indicates the agent to orchestrate the spc changes", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/{uid}/status/spcApply/patchTime": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "patch": { + "operationId": "v1SpectroClustersUidStatusSpcPatchTime", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpcPatchTimeEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the agent patch time for the SPC changes", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/{uid}/status/upgrades": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1SpectroClustersUidUpgradesPut", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroClusterUidUpgrades" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the cluster's upgrade status", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/{uid}/validate/packs": { + "post": { + "operationId": "v1SpectroClustersUidValidatePacks", + "parameters": [ + { + "description": "cluster uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroClusterPacksEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "Cluster packs validation response", + "schema": { + "$ref": "#/definitions/v1SpectroClusterValidatorResponse" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Validates cluster packs", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/{uid}/validate/repave": { + "post": { + "operationId": "v1SpectroClustersUidValidateRepave", + "parameters": [ + { + "description": "cluster uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroClusterPacksEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "Cluster repave validation response", + "schema": { + "$ref": "#/definitions/v1SpectroClusterRepaveValidationResponse" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Validates if cluster gets repaved for the specified packs", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/{uid}/variables": { + "get": { + "operationId": "v1SpectroClustersUidVariablesGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1Variables" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieve a list of variables associated with the cluster", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster uid for which variables need to be retrieved", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ] + }, + "/v1/spectroclusters/{uid}/vms": { + "get": { + "operationId": "v1SpectroClustersVMList", + "parameters": [ + { + "collectionFormat": "csv", + "description": "Namespace names, comma separated value (ex: dev,test). If namespace is empty it returns the specific resource under all namespace", + "in": "query", + "items": { + "type": "string" + }, + "name": "namespace", + "type": "array" + }, + { + "default": 50, + "description": "limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "format": "int64", + "in": "query", + "name": "limit", + "type": "integer" + }, + { + "description": "continue token to paginate the subsequent data items", + "in": "query", + "name": "continue", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1ClusterVirtualMachineList" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the list of virtual machines", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1SpectroClustersVMCreate", + "parameters": [ + { + "description": "Namespace name", + "in": "query", + "name": "namespace", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ClusterVirtualMachine" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1ClusterVirtualMachine" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Create virtual machine", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/{uid}/vms/snapshot": { + "get": { + "operationId": "v1ClusterVMSnapshotsList", + "parameters": [ + { + "collectionFormat": "csv", + "description": "vmName is comma separated value (ex: name1,name2).", + "in": "query", + "items": { + "type": "string" + }, + "name": "vmName", + "type": "array" + }, + { + "collectionFormat": "csv", + "description": "Namespace names, comma separated value (ex: dev,test). If namespace is empty it returns the specific resource under all namespace", + "in": "query", + "items": { + "type": "string" + }, + "name": "namespace", + "type": "array" + }, + { + "default": 50, + "description": "limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "format": "int64", + "in": "query", + "name": "limit", + "type": "integer" + }, + { + "description": "continue token to paginate the subsequent data items", + "in": "query", + "name": "continue", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1VirtualMachineSnapshotList" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the list of snapshots of given namespaces", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ] + }, + "/v1/spectroclusters/{uid}/vms/{vmName}": { + "delete": { + "operationId": "v1SpectroClustersVMDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the virtual machine", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "v1SpectroClustersVMGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1ClusterVirtualMachine" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Get virtual machine", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "description": "Virtual Machine name", + "in": "path", + "name": "vmName", + "required": true, + "type": "string" + }, + { + "description": "Namespace name", + "in": "query", + "name": "namespace", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1SpectroClustersVMUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ClusterVirtualMachine" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1ClusterVirtualMachine" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified virtual machine of the cluster", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/{uid}/vms/{vmName}/addVolume": { + "parameters": [ + { + "description": "Cluster uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "description": "Virtual Machine name", + "in": "path", + "name": "vmName", + "required": true, + "type": "string" + }, + { + "description": "Namespace name", + "in": "query", + "name": "namespace", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1SpectroClustersVMAddVolume", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1VMAddVolumeEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Add volume to the virtual machine instance", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/{uid}/vms/{vmName}/clone": { + "parameters": [ + { + "description": "Cluster uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "description": "Virtual Machine name", + "in": "path", + "name": "vmName", + "required": true, + "type": "string" + }, + { + "description": "Namespace name", + "in": "query", + "name": "namespace", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1SpectroClustersVMClone", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1SpectroClusterVMCloneEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1ClusterVirtualMachine" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Clone virtual machine", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/{uid}/vms/{vmName}/migrate": { + "parameters": [ + { + "description": "Cluster uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "description": "Virtual Machine name", + "in": "path", + "name": "vmName", + "required": true, + "type": "string" + }, + { + "description": "Namespace name", + "in": "query", + "name": "namespace", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1SpectroClustersVMMigrate", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Migrate the virtual machine", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/{uid}/vms/{vmName}/pause": { + "parameters": [ + { + "description": "Cluster uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "description": "Virtual Machine name", + "in": "path", + "name": "vmName", + "required": true, + "type": "string" + }, + { + "description": "Namespace name", + "in": "query", + "name": "namespace", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1SpectroClustersVMPause", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Pause the virtual machine instance", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/{uid}/vms/{vmName}/removeVolume": { + "parameters": [ + { + "description": "Cluster uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "description": "Virtual Machine name", + "in": "path", + "name": "vmName", + "required": true, + "type": "string" + }, + { + "description": "Namespace name", + "in": "query", + "name": "namespace", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1SpectroClustersVMRemoveVolume", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1VMRemoveVolumeEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Remove volume from the virtual machine instance", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/{uid}/vms/{vmName}/restart": { + "parameters": [ + { + "description": "Cluster uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "description": "Virtual Machine name", + "in": "path", + "name": "vmName", + "required": true, + "type": "string" + }, + { + "description": "Namespace name", + "in": "query", + "name": "namespace", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1SpectroClustersVMRestart", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Restart the virtual machine", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/{uid}/vms/{vmName}/resume": { + "parameters": [ + { + "description": "Cluster uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "description": "Virtual Machine name", + "in": "path", + "name": "vmName", + "required": true, + "type": "string" + }, + { + "description": "Namespace name", + "in": "query", + "name": "namespace", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1SpectroClustersVMResume", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Resume the virtual machine instance", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/{uid}/vms/{vmName}/snapshot": { + "parameters": [ + { + "description": "Cluster uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "description": "Virtual Machine name", + "in": "path", + "name": "vmName", + "required": true, + "type": "string" + }, + { + "description": "Namespace name of virtual machine", + "in": "query", + "name": "namespace", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1VMSnapshotCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1VirtualMachineSnapshot" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1VirtualMachineSnapshot" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Create snapshot of virtual machine", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/{uid}/vms/{vmName}/snapshot/{snapshotName}": { + "delete": { + "operationId": "v1VMSnapshotDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Delete the snapshot of virtual machine", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "v1VMSnapshotGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1VirtualMachineSnapshot" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Get virtual machine snapshot", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Cluster uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "description": "Virtual Machine name", + "in": "path", + "name": "vmName", + "required": true, + "type": "string" + }, + { + "description": "Snapshot name", + "in": "path", + "name": "snapshotName", + "required": true, + "type": "string" + }, + { + "description": "Namespace name", + "in": "query", + "name": "namespace", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1VMSnapshotUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1VirtualMachineSnapshot" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1VirtualMachineSnapshot" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified snapshot of a virtual machine", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/{uid}/vms/{vmName}/start": { + "parameters": [ + { + "description": "Cluster uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "description": "Virtual Machine name", + "in": "path", + "name": "vmName", + "required": true, + "type": "string" + }, + { + "description": "Namespace name", + "in": "query", + "name": "namespace", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1SpectroClustersVMStart", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Start the virtual machine", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/{uid}/vms/{vmName}/stop": { + "parameters": [ + { + "description": "Cluster uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "description": "Virtual Machine name", + "in": "path", + "name": "vmName", + "required": true, + "type": "string" + }, + { + "description": "Namespace name", + "in": "query", + "name": "namespace", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1SpectroClustersVMStop", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Stop the virtual machine", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/{uid}/workloads/sync": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "post": { + "description": "Sync specified cluster workload", + "operationId": "v1SpectroClustersUidWorkloadsSync", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "202": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Sync specified cluster workload", + "tags": [ + "v1" + ] + } + }, + "/v1/spectroclusters/{uid}/workloads/{workloadKind}/sync": { + "parameters": [ + { + "description": "Cluster uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "description": "Workload kind", + "enum": [ + "namespace", + "pod", + "deployment", + "statefulset", + "daemonset", + "job", + "cronjob", + "rolebinding", + "clusterrolebinding" + ], + "in": "path", + "name": "workloadKind", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1SpectroClustersUidWorkloadsKindSync", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "202": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Sync specified cluster workload", + "tags": [ + "v1" + ] + } + }, + "/v1/system/config/reverseproxy": { + "get": { + "operationId": "V1SystemConfigReverseProxyGet", + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1SystemReverseProxy" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "get the system config reverse proxy", + "tags": [ + "v1", + "system", + "private", + "docs-show" + ] + }, + "put": { + "operationId": "V1SystemConfigReverseProxyUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v1SystemReverseProxy" + } + } + ], + "responses": { + "204": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1Updated" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "updates the system config reverse proxy", + "tags": [ + "v1", + "system", + "private", + "docs-show" + ] + } + }, + "/v1/system/passwords/blocklist": { + "delete": { + "operationId": "V1PasswordsBlockListDelete", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/V1PasswordsBlockList" + } + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Delete a list of block listed passwords", + "tags": [ + "v1", + "system", + "docs-show" + ] + }, + "patch": { + "operationId": "V1PasswordsBlockListUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/V1PasswordsBlockList" + } + } + ], + "responses": { + "204": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1Updated" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "List of block listed passwords", + "tags": [ + "v1", + "system", + "docs-show" + ] + } + }, + "/v1/teams": { + "get": { + "operationId": "v1TeamsList", + "parameters": [ + { + "description": "Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name", + "in": "query", + "name": "fields", + "type": "string" + }, + { + "description": "Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.", + "in": "query", + "name": "filters", + "type": "string" + }, + { + "description": "Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1", + "in": "query", + "name": "orderBy", + "type": "string" + }, + { + "default": 50, + "description": "limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "format": "int64", + "in": "query", + "name": "limit", + "type": "integer" + }, + { + "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", + "format": "int64", + "in": "query", + "name": "offset", + "type": "integer" + }, + { + "description": "continue token to paginate the subsequent data items", + "in": "query", + "name": "continue", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "An array of teams", + "schema": { + "$ref": "#/definitions/v1Teams" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of teams", + "tags": [ + "v1" + ] + }, + "post": { + "operationId": "v1TeamsCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1Team" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Creates a team with the specified users and roles", + "tags": [ + "v1" + ] + } + }, + "/v1/teams/summary": { + "get": { + "description": "Deprecated, Use Post api - Returns a list of team summaries", + "operationId": "v1TeamsSummary", + "parameters": [ + { + "description": "Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name", + "in": "query", + "name": "fields", + "type": "string" + }, + { + "description": "Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.", + "in": "query", + "name": "filters", + "type": "string" + }, + { + "description": "Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1", + "in": "query", + "name": "orderBy", + "type": "string" + }, + { + "default": 50, + "description": "limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "format": "int64", + "in": "query", + "name": "limit", + "type": "integer" + }, + { + "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", + "format": "int64", + "in": "query", + "name": "offset", + "type": "integer" + }, + { + "description": "continue token to paginate the subsequent data items", + "in": "query", + "name": "continue", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1TeamsSummary" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of team summary", + "tags": [ + "v1" + ] + }, + "post": { + "operationId": "v1TeamsSummaryGet", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1TeamsSummarySpec" + } + } + ], + "responses": { + "200": { + "description": "An array of teams summary items", + "schema": { + "$ref": "#/definitions/v1TeamsSummaryList" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of teams summary with provided filter spec", + "tags": [ + "v1" + ] + } + }, + "/v1/teams/{uid}": { + "delete": { + "operationId": "v1TeamsUidDelete", + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the specified team", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "v1TeamsUidGet", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1Team" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the sepcified team", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "patch": { + "operationId": "v1TeamsUidPatch", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v1TeamPatch" + } + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Patches the specified team", + "tags": [ + "v1" + ] + }, + "put": { + "operationId": "v1TeamsUidUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1Team" + } + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the sepcified team", + "tags": [ + "v1" + ] + } + }, + "/v1/teams/{uid}/projects": { + "get": { + "operationId": "v1TeamsProjectRoles", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1ProjectRolesEntity" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified team's project and roles data", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1TeamsProjectRolesPut", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v1ProjectRolesPatch" + } + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the projects and roles for the specified team", + "tags": [ + "v1" + ] + } + }, + "/v1/teams/{uid}/resourceRoles": { + "get": { + "description": "Returns resource roles for team", + "operationId": "v1TeamsUidResourceRoles", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1ResourceRoles" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified individual and resource roles for a team", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "post": { + "description": "Resource roles added to specific team", + "operationId": "v1TeamsUidResourceRolesCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v1ResourceRolesUpdateEntity" + } + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Add resource roles for team", + "tags": [ + "v1" + ] + } + }, + "/v1/teams/{uid}/resourceRoles/{resourceRoleUid}": { + "delete": { + "operationId": "v1TeamsUidResourceRolesUidDelete", + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deleted the resource roles from team", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "resourceRoleUid", + "required": true, + "type": "string" + } + ], + "patch": { + "description": "Specific resource roles fo team is updated", + "operationId": "v1TeamsResourceRolesUidUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v1ResourceRolesUpdateEntity" + } + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the resource roles for team", + "tags": [ + "v1" + ] + } + }, + "/v1/teams/{uid}/roles": { + "get": { + "operationId": "V1TeamsUidTenantRolesGet", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1TeamTenantRolesEntity" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified team's tenant roles", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "V1TeamsUidTenantRolesUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v1TeamTenantRolesUpdate" + } + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the tenant roles of the specified team", + "tags": [ + "v1" + ] + } + }, + "/v1/tenants/{tenantUid}/address": { + "parameters": [ + { + "in": "path", + "name": "tenantUid", + "required": true, + "type": "string" + } + ], + "patch": { + "operationId": "v1PatchTenantAddress", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1TenantAddressPatch" + } + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Update tenant address", + "tags": [ + "v1" + ] + } + }, + "/v1/tenants/{tenantUid}/assets/certs": { + "get": { + "operationId": "V1TenantUIdAssetsCertsList", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1TenantAssetCerts" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "lists the certificates for the tenant", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "tenantUid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "V1TenantUidAssetsCertsCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1TenantAssetCert" + } + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "create the tenant certificate", + "tags": [ + "v1" + ] + } + }, + "/v1/tenants/{tenantUid}/assets/certs/{certificateUid}": { + "delete": { + "operationId": "V1TenantUidAssetsCertsUidDelete", + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "deletes the tenant certificate", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "V1TenantUidAssetsCertsUidGet", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1TenantAssetCert" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the ca certificate for the tenant", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "tenantUid", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "certificateUid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "V1TenantUidAssetsCertsUidUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1TenantAssetCert" + } + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "updates the tenant certificate", + "tags": [ + "v1" + ] + } + }, + "/v1/tenants/{tenantUid}/assets/dataSinks": { + "delete": { + "operationId": "V1TenantUidAssetsDataSinksDelete", + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "deletes the tenant data sink config", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "V1TenantUidAssetsDataSinksGet", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1DataSinkConfig" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns data sink config of tenant", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "tenantUid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "V1TenantUidAssetsDataSinksCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1DataSinkConfig" + } + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "create data sink config", + "tags": [ + "v1" + ] + }, + "put": { + "operationId": "V1TenantUidAssetsDataSinksUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1DataSinkConfig" + } + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "updates the tenant data sink config", + "tags": [ + "v1" + ] + } + }, + "/v1/tenants/{tenantUid}/authTokenSettings": { + "get": { + "operationId": "v1TenantUidAuthTokenSettingsGet", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1AuthTokenSettings" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Get tenant auth token settings", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "tenantUid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1TenantUidAuthTokenSettingsUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1AuthTokenSettings" + } + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Update tenant auth token settings", + "tags": [ + "v1" + ] + } + }, + "/v1/tenants/{tenantUid}/contract/accept": { + "parameters": [ + { + "in": "path", + "name": "tenantUid", + "required": true, + "type": "string" + } + ], + "patch": { + "operationId": "v1TenantsUidContractAccept", + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Tenant to accept the contract agreement", + "tags": [ + "v1" + ] + } + }, + "/v1/tenants/{tenantUid}/creditAccount/aws": { + "delete": { + "operationId": "v1TenantsCreditAccountDelete", + "parameters": [ + { + "default": false, + "in": "query", + "name": "forceDelete", + "type": "boolean" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the aws credit account for tenants", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "v1TenantsCreditAccountGet", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1AwsCreditAccountEntity" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Get the credit accounts for the tenants with free tier access", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "tenantUid", + "required": true, + "type": "string" + } + ] + }, + "/v1/tenants/{tenantUid}/domains": { + "get": { + "operationId": "V1TenantUidDomainsGet", + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1TenantDomains" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "retrieves the domains for tenant", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "tenantUid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "V1TenantUidDomainsUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1TenantDomains" + } + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "creates or updates domains for tenant", + "tags": [ + "v1" + ] + } + }, + "/v1/tenants/{tenantUid}/emailId": { + "parameters": [ + { + "in": "path", + "name": "tenantUid", + "required": true, + "type": "string" + } + ], + "patch": { + "operationId": "v1PatchTenantEmailId", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1TenantEmailPatch" + } + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Update tenant emailId", + "tags": [ + "v1" + ] + } + }, + "/v1/tenants/{tenantUid}/freemium": { + "get": { + "operationId": "v1TenantFreemiumGet", + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1TenantFreemium" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Get tenant level freemium configuration", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "tenantUid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1TenantFreemiumUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1TenantFreemium" + } + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Update tenant freemium configuration", + "tags": [ + "v1" + ] + } + }, + "/v1/tenants/{tenantUid}/freemiumUsage": { + "get": { + "operationId": "v1TenantFreemiumUsageGet", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1TenantFreemiumUsage" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Get tenant freemium usage", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "tenantUid", + "required": true, + "type": "string" + } + ] + }, + "/v1/tenants/{tenantUid}/invoices/{invoiceUid}": { + "get": { + "operationId": "v1InvoicesUidGet", + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1Invoice" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns a specified invoice", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Specify the tenant uid", + "in": "path", + "name": "tenantUid", + "required": true, + "type": "string" + }, + { + "description": "Specify the invoice uid", + "in": "path", + "name": "invoiceUid", + "required": true, + "type": "string" + } + ] + }, + "/v1/tenants/{tenantUid}/invoices/{invoiceUid}/report/invoice/pdf": { + "get": { + "operationId": "V1InvoiceUidReportInvoicePdf", + "produces": [ + "application/octet-stream" + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "Content-Disposition": { + "type": "string" + }, + "Content-Type": { + "type": "string" + } + }, + "schema": { + "type": "file" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Downloads the specified invoice report", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Specify the tenant uid", + "in": "path", + "name": "tenantUid", + "required": true, + "type": "string" + }, + { + "description": "Specify the invoice uid", + "in": "path", + "name": "invoiceUid", + "required": true, + "type": "string" + } + ] + }, + "/v1/tenants/{tenantUid}/invoices/{invoiceUid}/report/pdf": { + "get": { + "operationId": "V1InvoiceUidReportPdf", + "produces": [ + "application/octet-stream" + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "Content-Disposition": { + "type": "string" + }, + "Content-Type": { + "type": "string" + } + }, + "schema": { + "type": "file" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Downloads the specified monthly invoice report", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Specify the tenant uid", + "in": "path", + "name": "tenantUid", + "required": true, + "type": "string" + }, + { + "description": "Specify the invoice uid", + "in": "path", + "name": "invoiceUid", + "required": true, + "type": "string" + } + ] + }, + "/v1/tenants/{tenantUid}/invoices/{invoiceUid}/report/usage/pdf": { + "get": { + "operationId": "V1InvoiceUidReportUsagePdf", + "produces": [ + "application/octet-stream" + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "Content-Disposition": { + "type": "string" + }, + "Content-Type": { + "type": "string" + } + }, + "schema": { + "type": "file" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Downloads the specified tenant usage", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Specify the tenant uid", + "in": "path", + "name": "tenantUid", + "required": true, + "type": "string" + }, + { + "description": "Specify the invoice uid", + "in": "path", + "name": "invoiceUid", + "required": true, + "type": "string" + } + ] + }, + "/v1/tenants/{tenantUid}/loginBanner": { + "get": { + "operationId": "v1TenantUidLoginBannerGet", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1LoginBannerSettings" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Get tenant login banner settings", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "tenantUid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1TenantUidLoginBannerUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1LoginBannerSettings" + } + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Update tenant login banner settings", + "tags": [ + "v1" + ] + } + }, + "/v1/tenants/{tenantUid}/macros": { + "delete": { + "operationId": "v1TenantsUidMacrosDeleteByMacroName", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1Macros" + } + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Delete the macros for the specified tenant by given macro name", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "v1TenantsUidMacrosList", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1Macros" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "List the macros of the specified tenant", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "tenantUid", + "required": true, + "type": "string" + } + ], + "patch": { + "operationId": "v1TenantsUidMacrosUpdateByMacroName", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1Macros" + } + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Update the macros for the specified tenant by given macro name", + "tags": [ + "v1" + ] + }, + "post": { + "operationId": "v1TenantsUidMacrosCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1Macros" + } + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Create or add new macros for the specified tenant", + "tags": [ + "v1" + ] + }, + "put": { + "operationId": "v1TenantsUidMacrosUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1Macros" + } + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Update the macros of the specified tenant", + "tags": [ + "v1" + ] + } + }, + "/v1/tenants/{tenantUid}/oidc/config": { + "get": { + "operationId": "V1TenantUidOidcConfigGet", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1TenantOidcClientSpec" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the oidc Spec for tenant", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "tenantUid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "V1TenantUidOidcConfigUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1TenantOidcClientSpec" + } + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Associates the oidc Spec for the tenant", + "tags": [ + "v1" + ] + } + }, + "/v1/tenants/{tenantUid}/password/policy": { + "parameters": [ + { + "in": "path", + "name": "tenantUid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "V1TenantUidPasswordPolicyUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1TenantPasswordPolicyEntity" + } + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "creates or updates a password policy for tenant", + "tags": [ + "v1" + ] + } + }, + "/v1/tenants/{tenantUid}/preferences/clusterGroup": { + "get": { + "operationId": "V1TenantPrefClusterGroupGet", + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1TenantEnableClusterGroup" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Get is cluster group enabled for a specific tenant", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "tenantUid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "V1TenantPrefClusterGroupUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1TenantEnableClusterGroup" + } + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Enable or Disable cluster group for a specific tenant", + "tags": [ + "v1" + ] + } + }, + "/v1/tenants/{tenantUid}/preferences/clusterSettings": { + "get": { + "operationId": "v1TenantClusterSettingsGet", + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1TenantClusterSettings" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Get tenant cluster settings", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "tenantUid", + "required": true, + "type": "string" + } + ] + }, + "/v1/tenants/{tenantUid}/preferences/clusterSettings/nodesAutoRemediationSetting": { + "parameters": [ + { + "in": "path", + "name": "tenantUid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1TenantClustersNodesAutoRemediationSettingUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1NodesAutoRemediationSettings" + } + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Update tenant clusters nodes auto remediation setting", + "tags": [ + "v1" + ] + } + }, + "/v1/tenants/{tenantUid}/preferences/developerCredit": { + "get": { + "operationId": "V1TenantDeveloperCreditGet", + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1DeveloperCredit" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Get developer credit enabled for a specific tenant", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "tenantUid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "V1TenantDeveloperCreditUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1DeveloperCredit" + } + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "update developer credit for a specific tenant", + "tags": [ + "v1" + ] + } + }, + "/v1/tenants/{tenantUid}/preferences/fips": { + "get": { + "operationId": "v1TenantFipsSettingsGet", + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1FipsSettings" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Get tenant fips settings", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "tenantUid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1TenantFipsSettingsUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1FipsSettings" + } + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Update tenant fips setting", + "tags": [ + "v1" + ] + } + }, + "/v1/tenants/{tenantUid}/rateConfig": { + "get": { + "operationId": "v1RateConfigGet", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1RateConfig" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Get all rate config for public and private cloud", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "tenantUid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1RateConfigUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1RateConfig" + } + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "updates the rate config for public and private cloud", + "tags": [ + "v1" + ] + } + }, + "/v1/tenants/{tenantUid}/resourceLimits": { + "get": { + "operationId": "v1TenantResourceLimitsGet", + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1TenantResourceLimits" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Get tenant level resource limits configuration", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "tenantUid", + "required": true, + "type": "string" + } + ], + "patch": { + "operationId": "v1TenantResourceLimitsUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1TenantResourceLimitsEntity" + } + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Update tenant resource limits configuration", + "tags": [ + "v1" + ] + } + }, + "/v1/tenants/{tenantUid}/saml/config": { + "get": { + "operationId": "V1TenantUidSamlConfigSpecGet", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1TenantSamlSpec" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified service provider metadata and Saml Spec for tenant", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "tenantUid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "V1TenantUidSamlConfigUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1TenantSamlRequestSpec" + } + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Associates the specified federation metadata for the tenant", + "tags": [ + "v1" + ] + } + }, + "/v1/tenants/{tenantUid}/sso/auth/providers": { + "get": { + "operationId": "V1TenantUidSsoAuthProvidersGet", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1TenantSsoAuthProvidersEntity" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "get sso logins for the tenants", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "tenantUid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "V1TenantUidSsoAuthProvidersUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1TenantSsoAuthProvidersEntity" + } + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "enable sso logins for the tenants", + "tags": [ + "v1" + ] + } + }, + "/v1/users": { + "get": { + "description": "Lists users the given user context", + "operationId": "v1UsersList", + "parameters": [ + { + "description": "Set of fields to be presented in the response with values. The fields are comma separated. Eg: metadata.uid,metadata.name", + "in": "query", + "name": "fields", + "type": "string" + }, + { + "description": "Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.", + "in": "query", + "name": "filters", + "type": "string" + }, + { + "description": "Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1", + "in": "query", + "name": "orderBy", + "type": "string" + }, + { + "default": 50, + "description": "limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "format": "int64", + "in": "query", + "name": "limit", + "type": "integer" + }, + { + "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", + "format": "int64", + "in": "query", + "name": "offset", + "type": "integer" + }, + { + "description": "continue token to paginate the subsequent data items", + "in": "query", + "name": "continue", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1Users" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Lists users", + "tags": [ + "v1" + ] + }, + "post": { + "description": "A user is created for the given user context", + "operationId": "v1UsersCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1UserEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Create User", + "tags": [ + "v1" + ] + } + }, + "/v1/users/assets/locations": { + "get": { + "operationId": "v1UsersAssetsLocationGet", + "parameters": [ + { + "description": "Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.", + "in": "query", + "name": "filters", + "type": "string" + }, + { + "description": "Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1", + "in": "query", + "name": "orderBy", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1UserAssetsLocations" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified users location", + "tags": [ + "v1" + ] + } + }, + "/v1/users/assets/locations/azure": { + "post": { + "operationId": "v1UsersAssetsLocationAzureCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1UserAssetsLocationAzure" + } + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Create a Azure location", + "tags": [ + "v1" + ] + } + }, + "/v1/users/assets/locations/azure/{uid}": { + "get": { + "operationId": "v1UsersAssetsLocationAzureGet", + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1UserAssetsLocationAzure" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified Azure location", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Specify the Azure location uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1UsersAssetsLocationAzureUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1UserAssetsLocationAzure" + } + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified Azure location", + "tags": [ + "v1" + ] + } + }, + "/v1/users/assets/locations/gcp": { + "post": { + "operationId": "v1UsersAssetsLocationGcpCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1UserAssetsLocationGcp" + } + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Create a GCP location", + "tags": [ + "v1" + ] + } + }, + "/v1/users/assets/locations/gcp/{uid}": { + "get": { + "operationId": "v1UsersAssetsLocationGcpGet", + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1UserAssetsLocationGcp" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified GCP location", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Specify the GCP location uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1UsersAssetsLocationGcpUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1UserAssetsLocationGcp" + } + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified GCP location", + "tags": [ + "v1" + ] + } + }, + "/v1/users/assets/locations/minio": { + "post": { + "operationId": "v1UsersAssetsLocationMinioCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1UserAssetsLocationS3" + } + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Create a MinIO location", + "tags": [ + "v1" + ] + } + }, + "/v1/users/assets/locations/minio/{uid}": { + "get": { + "operationId": "v1UsersAssetsLocationMinioGet", + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1UserAssetsLocationS3" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified MinIO location", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Specify the MinIO location uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1UsersAssetsLocationMinioUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1UserAssetsLocationS3" + } + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified MinIO location", + "tags": [ + "v1" + ] + } + }, + "/v1/users/assets/locations/s3": { + "post": { + "operationId": "v1UsersAssetsLocationS3Create", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1UserAssetsLocationS3" + } + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Create a S3 location", + "tags": [ + "v1" + ] + } + }, + "/v1/users/assets/locations/s3/{uid}": { + "delete": { + "operationId": "v1UsersAssetsLocationS3Delete", + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified S3 location", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "v1UsersAssetsLocationS3Get", + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1UserAssetsLocationS3" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified S3 location", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Specify the S3 location uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1UsersAssetsLocationS3Update", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1UserAssetsLocationS3" + } + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified S3 location", + "tags": [ + "v1" + ] + } + }, + "/v1/users/assets/locations/{type}/{uid}/default": { + "parameters": [ + { + "description": "Specify the location uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "description": "Specify the location type [aws/azure/gcp/minio/s3]", + "in": "path", + "name": "type", + "required": true, + "type": "string" + } + ], + "patch": { + "operationId": "v1UsersAssetsLocationDefaultUpdate", + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Update the default backup location", + "tags": [ + "v1" + ] + } + }, + "/v1/users/assets/locations/{uid}": { + "delete": { + "operationId": "v1UsersAssetsLocationDelete", + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the specified location", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Specify the location uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ] + }, + "/v1/users/assets/sshkeys": { + "get": { + "operationId": "v1UsersAssetsSshGet", + "parameters": [ + { + "description": "Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.", + "in": "query", + "name": "filters", + "type": "string" + }, + { + "description": "Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1", + "in": "query", + "name": "orderBy", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1UserAssetsSsh" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the SSH keys", + "tags": [ + "v1" + ] + }, + "post": { + "operationId": "v1UserAssetsSshCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1UserAssetSshEntity" + } + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Creates a SSH key", + "tags": [ + "v1" + ] + } + }, + "/v1/users/assets/sshkeys/{uid}": { + "delete": { + "operationId": "v1UsersAssetSshDelete", + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified user ssh key", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "v1UsersAssetSshGetUid", + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1UserAssetSsh" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified user ssh key", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Specify the SSH key uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1UsersAssetSshUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1UserAssetSsh" + } + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified user ssh key", + "tags": [ + "v1" + ] + } + }, + "/v1/users/assets/vsphere/dnsMapping": { + "get": { + "operationId": "v1VsphereMappingGet", + "parameters": [ + { + "description": "Specify the vSphere gateway uid", + "in": "query", + "name": "gatewayUid", + "required": true, + "type": "string" + }, + { + "description": "Specify the vSphere datacenter name", + "in": "query", + "name": "datacenter", + "required": true, + "type": "string" + }, + { + "description": "Specify the vSphere network name", + "in": "query", + "name": "network", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1VsphereDnsMapping" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified vSphere DNS mapping", + "tags": [ + "v1" + ] + } + }, + "/v1/users/assets/vsphere/dnsMappings": { + "get": { + "operationId": "v1VsphereDnsMappingsGet", + "parameters": [ + { + "description": "Filters can be combined with AND, OR operators with field path name. Eg: metadata.name=TestServiceANDspec.cloudType=aws\n\nServer will be restricted to certain fields based on the indexed data for each resource.", + "in": "query", + "name": "filters", + "type": "string" + }, + { + "description": "Specify the fields with sort order. 1 indicates ascending and -1 for descending. Eg: orderBy=metadata.name=1,metadata.uid=-1", + "in": "query", + "name": "orderBy", + "type": "string" + } + ], + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1VsphereDnsMappings" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified vSphere DNS mappings", + "tags": [ + "v1" + ] + }, + "post": { + "operationId": "v1VsphereDnsMappingCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1VsphereDnsMapping" + } + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Create a vSphere DNS mapping", + "tags": [ + "v1" + ] + } + }, + "/v1/users/assets/vsphere/dnsMappings/{uid}": { + "delete": { + "operationId": "v1VsphereDnsMappingDelete", + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the specified vSphere DNS mapping", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "v1VsphereDnsMappingGet", + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1VsphereDnsMapping" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified vSphere DNS mapping", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "description": "Specify the vSphere DNS mapping uid", + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1VsphereDnsMappingUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1VsphereDnsMapping" + } + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified vSphere DNS mapping", + "tags": [ + "v1" + ] + } + }, + "/v1/users/auth/tokens/revoke": { + "post": { + "operationId": "v1UsersAuthTokensRevoke", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1AuthTokenRevoke" + } + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Revoke access of specific token(s)", + "tags": [ + "v1" + ] + } + }, + "/v1/users/config/scar": { + "get": { + "operationId": "V1UsersConfigScarGet", + "responses": { + "200": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/v1SystemScarSpec" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Get the system Spectro repository. Restricted to edge services", + "tags": [ + "v1" + ] + } + }, + "/v1/users/kubectl/session/{sessionUid}": { + "get": { + "description": "gets users kubectl session", + "operationId": "V1UsersKubectlSessionUid", + "parameters": [ + { + "in": "path", + "name": "sessionUid", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1UserKubectlSession" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "gets users kubectl session", + "tags": [ + "v1" + ] + } + }, + "/v1/users/meta": { + "get": { + "operationId": "v1UsersMetadata", + "responses": { + "200": { + "description": "An array of users metadata items", + "schema": { + "$ref": "#/definitions/v1UsersMetadata" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of users metadata", + "tags": [ + "v1" + ] + } + }, + "/v1/users/password/change": { + "patch": { + "description": "User password change request via current password and emailId", + "operationId": "V1UsersPasswordChange", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "properties": { + "currentPassword": { + "type": "string" + }, + "emailId": { + "type": "string" + }, + "newPassword": { + "type": "string" + } + }, + "required": [ + "newPassword", + "emailId", + "currentPassword" + ], + "type": "object" + } + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "User password change request using the user emailId", + "tags": [ + "v1" + ] + } + }, + "/v1/users/password/reset": { + "patch": { + "description": "User password request will be sent to the supplied emailId", + "operationId": "v1UsersEmailPasswordReset", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "properties": { + "emailId": { + "type": "string" + } + }, + "required": [ + "emailId" + ], + "type": "object" + } + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "User password reset request using the email id", + "tags": [ + "v1" + ] + } + }, + "/v1/users/summary": { + "get": { + "description": "Deprecated, Use Post api - Returns a list of user summaries", + "operationId": "v1UsersSummary", + "parameters": [ + { + "default": 50, + "description": "limit is a maximum number of responses to return for a list call. Default and maximum value of the limit is 50.\nIf more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results.", + "format": "int64", + "in": "query", + "name": "limit", + "type": "integer" + }, + { + "description": "offset is the next index number from which the response will start. The response offset value can be used along with continue token for the pagination.", + "format": "int64", + "in": "query", + "name": "offset", + "type": "integer" + }, + { + "description": "continue token to paginate the subsequent data items", + "in": "query", + "name": "continue", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1UsersSummary" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified user summary list", + "tags": [ + "v1" + ] + }, + "post": { + "operationId": "v1UsersSummaryGet", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1UsersSummarySpec" + } + } + ], + "responses": { + "200": { + "description": "An array of users summary items", + "schema": { + "$ref": "#/definitions/v1UsersSummaryList" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Retrieves a list of users summary with provided filter spec", + "tags": [ + "v1" + ] + } + }, + "/v1/users/system/macros": { + "delete": { + "operationId": "v1UsersSystemMacrosDeleteByMacroName", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1Macros" + } + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Delete the macros for the system user by macro name", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "v1UsersSystemMacrosList", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1Macros" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "List the macros of the system", + "tags": [ + "v1" + ] + }, + "patch": { + "operationId": "v1UsersSystemMacrosUpdateByMacroName", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1Macros" + } + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Update the macros for the system user by macro name", + "tags": [ + "v1" + ] + }, + "post": { + "operationId": "v1UsersSystemMacrosCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1Macros" + } + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Create or add new macros for the system user", + "tags": [ + "v1" + ] + }, + "put": { + "operationId": "v1UsersSystemMacrosUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1Macros" + } + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Update the macros of the system", + "tags": [ + "v1" + ] + } + }, + "/v1/users/{uid}": { + "delete": { + "description": "Deletes the specified User for given uid", + "operationId": "v1UsersUidDelete", + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the specified User", + "tags": [ + "v1" + ] + }, + "get": { + "description": "Returns a User for the specified uid.", + "operationId": "v1UsersUidGet", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1User" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified User", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "patch": { + "description": "User is patched for the specified information", + "operationId": "v1UsersUidPatch", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v1UserPatch" + } + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Patches the specified User", + "tags": [ + "v1" + ] + }, + "put": { + "description": "A user is created for the given user context", + "operationId": "v1UsersUidUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1UserUpdateEntity" + } + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Update User", + "tags": [ + "v1" + ] + } + }, + "/v1/users/{uid}/password/change": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "patch": { + "description": "User password change request via current password", + "operationId": "v1UsersUidPasswordChange", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "properties": { + "currentPassword": { + "type": "string" + }, + "newPassword": { + "type": "string" + } + }, + "required": [ + "newPassword" + ], + "type": "object" + } + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "User password change request using the user uid", + "tags": [ + "v1" + ] + } + }, + "/v1/users/{uid}/password/reset": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "patch": { + "description": "User password reset request, will send the password reset option through the emailId", + "operationId": "v1UsersUidPasswordReset", + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "User password reset request using the user uid", + "tags": [ + "v1" + ] + } + }, + "/v1/users/{uid}/projects": { + "get": { + "description": "Returns a User with projects and roles", + "operationId": "v1UsersProjectRoles", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1ProjectRolesEntity" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified User Projects and Roles information", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "put": { + "description": "User is updated with projects and roles", + "operationId": "v1UsersProjectRolesPut", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v1ProjectRolesPatch" + } + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the projects and roles for user", + "tags": [ + "v1" + ] + } + }, + "/v1/users/{uid}/resourceRoles": { + "get": { + "description": "Returns resource roles for user", + "operationId": "v1UsersUidResourceRoles", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1ResourceRoles" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified individual and resource roles for a user", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "post": { + "description": "Resource roles added to specific user", + "operationId": "v1UsersUidResourceRolesCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v1ResourceRolesUpdateEntity" + } + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Add resource roles for user", + "tags": [ + "v1" + ] + } + }, + "/v1/users/{uid}/resourceRoles/{resourceRoleUid}": { + "delete": { + "operationId": "v1UsersUidResourceRolesUidDelete", + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deleted the resource roles from user", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "resourceRoleUid", + "required": true, + "type": "string" + } + ], + "patch": { + "description": "Specific resource roles fo user is updated", + "operationId": "v1UsersResourceRolesUidUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v1ResourceRolesUpdateEntity" + } + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the resource roles for user", + "tags": [ + "v1" + ] + } + }, + "/v1/users/{uid}/roles": { + "get": { + "description": "Returns roles clubbed from team", + "operationId": "v1UsersUidRoles", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1UserRolesEntity" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified individual and team roles for a user", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "put": { + "description": "User is updated with roles", + "operationId": "v1UsersUidRolesUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v1UserRoleUIDs" + } + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the roles for user", + "tags": [ + "v1" + ] + } + }, + "/v1/users/{uid}/status/loginMode": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "patch": { + "operationId": "v1UsersStatusLoginMode", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1UserStatusLoginMode" + } + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Users status login mode", + "tags": [ + "v1" + ] + } + }, + "/v1/workspaces": { + "post": { + "operationId": "v1WorkspacesCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1WorkspaceEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Create workspace", + "tags": [ + "v1" + ] + } + }, + "/v1/workspaces/teams/{teamUid}/roles": { + "get": { + "operationId": "v1TeamsWorkspaceGetRoles", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1WorkspaceScopeRoles" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified team's workspaces and roles data", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "teamUid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1TeamsWorkspaceRolesPut", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v1WorkspacesRolesPatch" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the workspace roles for the specified team", + "tags": [ + "v1" + ] + } + }, + "/v1/workspaces/users/{userUid}/roles": { + "get": { + "description": "Returns a User with workspaces and roles", + "operationId": "v1UsersWorkspaceGetRoles", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1WorkspaceScopeRoles" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified User workspaces and Roles information", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "userUid", + "required": true, + "type": "string" + } + ], + "put": { + "description": "User is updated with workspace roles", + "operationId": "v1UsersWorkspaceRolesPut", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v1WorkspacesRolesPatch" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the workspace roles for user", + "tags": [ + "v1" + ] + } + }, + "/v1/workspaces/validate/name": { + "get": { + "operationId": "v1WorkspacesValidateName", + "parameters": [ + { + "in": "query", + "name": "name", + "required": true, + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "Ok response without content", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Validates the workspace name", + "tags": [ + "v1" + ] + } + }, + "/v1/workspaces/{uid}": { + "delete": { + "operationId": "v1WorkspacesUidDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the specified workspace", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "v1WorkspacesUidGet", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1Workspace" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the specified workspace", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ] + }, + "/v1/workspaces/{uid}/backup": { + "delete": { + "operationId": "v1WorkspaceOpsBackupDelete", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1WorkspaceBackupDeleteEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Delete workspace backup", + "tags": [ + "v1" + ] + }, + "get": { + "operationId": "v1WorkspaceOpsBackupGet", + "parameters": [ + { + "in": "query", + "name": "backupRequestUid", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1WorkspaceBackup" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the workspace backup result", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1WorkspaceOpsBackupCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1WorkspaceBackupConfigEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Create workspace backup settings", + "tags": [ + "v1" + ] + }, + "put": { + "operationId": "v1WorkspaceOpsBackupUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1WorkspaceBackupConfigEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Update workspace backup settings", + "tags": [ + "v1" + ] + } + }, + "/v1/workspaces/{uid}/backup/onDemand": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1WorkspaceOpsBackupOnDemandCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1WorkspaceBackupConfigEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Create On demand Workspace Backup", + "tags": [ + "v1" + ] + } + }, + "/v1/workspaces/{uid}/clusterNamespaces": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1WorkspacesUidClusterNamespacesUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1WorkspaceClusterNamespacesEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified workspace namespaces", + "tags": [ + "v1" + ] + } + }, + "/v1/workspaces/{uid}/clusterRbacs": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1WorkspacesClusterRbacCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ClusterRbac" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Create cluster rbac in workspace", + "tags": [ + "v1" + ] + } + }, + "/v1/workspaces/{uid}/clusterRbacs/{clusterRbacUid}": { + "delete": { + "operationId": "v1WorkspacesUidClusterRbacDelete", + "parameters": [ + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Deletes the specified workspace cluster rbac", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "clusterRbacUid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1WorkspacesUidClusterRbacUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ClusterRbac" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified workspace cluster rbac", + "tags": [ + "v1" + ] + } + }, + "/v1/workspaces/{uid}/meta": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "put": { + "operationId": "v1WorkspacesUidMetaUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1ObjectMeta" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified workspace meta", + "tags": [ + "v1" + ] + } + }, + "/v1/workspaces/{uid}/resourceAllocations": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "put": { + "description": "Deprecated", + "operationId": "v1WorkspacesUidResourceAllocationsUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1WorkspaceResourceAllocationsEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "204": { + "description": "The resource was updated successfully" + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Updates the specified workspace resource allocations", + "tags": [ + "v1" + ] + } + }, + "/v1/workspaces/{uid}/restore": { + "get": { + "operationId": "v1WorkspaceOpsRestoreGet", + "parameters": [ + { + "in": "query", + "name": "restoreRequestUid", + "type": "string" + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1WorkspaceRestore" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Returns the workspace restore result", + "tags": [ + "v1" + ] + }, + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ] + }, + "/v1/workspaces/{uid}/restore/onDemand": { + "parameters": [ + { + "in": "path", + "name": "uid", + "required": true, + "type": "string" + } + ], + "post": { + "operationId": "v1WorkspaceOpsRestoreOnDemandCreate", + "parameters": [ + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/v1WorkspaceRestoreConfigEntity" + } + }, + { + "description": "Scope the request to the specified project uid", + "in": "header", + "name": "ProjectUid", + "type": "string" + } + ], + "responses": { + "201": { + "description": "Created successfully", + "headers": { + "AuditUid": { + "description": "Audit uid for the request", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/v1Uid" + } + } + }, + "security": [ + { + "ApiKey": [] + }, + { + "Authorization": [] + } + ], + "summary": "Create On demand Workspace Restore", + "tags": [ + "v1" + ] + } + } + }, + "produces": [ + "application/json" + ], + "schemes": [ + "http", + "https" + ], + "securityDefinitions": { + "ApiKey": { + "description": "API key authorization where API key can be generated from Palette console under Profile \u003e My API Keys", + "in": "header", + "name": "ApiKey", + "type": "apiKey" + }, + "Authorization": { + "description": "JWT token authorization obtained using /v1/auth/authenticate api", + "in": "header", + "name": "Authorization", + "type": "apiKey" + } + }, + "swagger": "2.0" +} \ No newline at end of file diff --git a/docs/docs-content/clusters/edge/edgeforge-workflow/build-content-bundle.md b/docs/deprecated/clusters/edge/edgeforge-workflow/build-artifacts.md similarity index 100% rename from docs/docs-content/clusters/edge/edgeforge-workflow/build-content-bundle.md rename to docs/deprecated/clusters/edge/edgeforge-workflow/build-artifacts.md diff --git a/docs/docs-content/automation/crossplane/crossplane.md b/docs/docs-content/automation/crossplane/crossplane.md index 9738d81c1d..1bc71d2633 100644 --- a/docs/docs-content/automation/crossplane/crossplane.md +++ b/docs/docs-content/automation/crossplane/crossplane.md @@ -23,7 +23,7 @@ provider API to request the creation of the resource within the provider's envir You can use the Palette Crossplane Provider to interact with the Palette API and create resources declaratively. -Refer to the [Palette Provider](https://marketplace.upbound.io/providers/crossplane-contrib/provider-palette/v0.12.0) +Refer to the [Palette Provider](https://marketplace.upbound.io/providers/crossplane-contrib/provider-palette/latest) page for a complete list of managed resources and examples. ## Get Started diff --git a/docs/docs-content/automation/palette-cli/commands/commands.md b/docs/docs-content/automation/palette-cli/commands/commands.md index 78be0fec02..dd33001697 100644 --- a/docs/docs-content/automation/palette-cli/commands/commands.md +++ b/docs/docs-content/automation/palette-cli/commands/commands.md @@ -23,6 +23,8 @@ The following list contains all the supported Palette CLI subcommands. Click on - [`fips-validate`](fips-validate.md) - Validate the FIPS compliance of your Kubernetes clusters. +- [`import`](import.md) - Import clusters into Palette. + - [`login`](login.md) - Login to Palette. - [`pcg`](pcg.md) - Private Cloud Gateway installation & pre-validation. @@ -62,3 +64,5 @@ Palette CLI supports the following global flags. - [Project](project.md) - [Validator](validator.md) + +- [Import](import.md) diff --git a/docs/docs-content/automation/palette-cli/commands/import.md b/docs/docs-content/automation/palette-cli/commands/import.md new file mode 100644 index 0000000000..cb5fdec5ed --- /dev/null +++ b/docs/docs-content/automation/palette-cli/commands/import.md @@ -0,0 +1,82 @@ +--- +sidebar_label: "Import" +title: "Import" +description: "Learn how to import pre-existing clusters using a Palette CLI command." +hide_table_of_contents: false +sidebar_position: 15 +tags: ["palette-cli"] +--- + +The `import` command imports a cluster into Palette in full permission mode based on local kubeconfig files. Refer to +the [Imported Clusters](../../../clusters/imported-clusters/cluster-import.md) reference page to learn more about +imported clusters. + +## Prerequisites + +- Kubernetes version 1.19.X or later on the cluster you are importing. + +- Ensure your environment has network access to Palette SaaS or your self-hosted Palette instance. + +- The kubectl CLI installed on your local machine. + +- Access to your cluster environment through kubectl. + +- Ensure you have `admin` or `cluster-admin` permissions on the cluster you are importing. + +
+ +| **Long Flag** | **Description** | **Type** | +| ------------------ | ---------------------------------------------------------------------------- | -------- | +| `--kubeconfig` | Path to the kubeconfig for the cluster you would like to import (optional) | string | +| `--kubeconfig-dir` | Path to directory containing kubeconfigs for one or more clusters (optional) | string | +| `--uuid` | If true, a partial UUID is appended to each cluster name (optional) | boolean | + +:::info + +If neither flag is provided, the `KUBECONFIG` environment variable and `~/.kube/config` will be checked and used +respectively. + +::: + +## Examples + +### One Cluster with UUID + +Import a cluster based on current `KUBECONFIG` found within `~/.kube/config` and append a partial UUID. + +```shell +palette import --uuid +``` + +### One Cluster with Specified Kubeconfig + +Import cluster with specified `KUBECONFIG`. + +```shell +palette import --kubeconfig my-cluster.kubeconfig +``` + +```shell hideClipboard +Imported cluster my-cluster-b4430654 +``` + +### Multiple Clusters + +Import clusters from a directory containing multiple `KUBECONFIG` files. + +```shell hideClipboard +configs +├── my-cluster-1.kubeconfig +├── my-cluster-2.kubeconfig +└── my-cluster-3.kubeconfig +``` + +```shell +palette import --kubeconfig-dir configs --uuid +``` + +```shell hideClipboard +Imported cluster my-cluster-1-e7c1ea5e +Imported cluster my-cluster-2-98669d7c +Imported cluster my-cluster-3d7cc792f +``` diff --git a/docs/docs-content/clusters/cluster-management/cluster-updates.md b/docs/docs-content/clusters/cluster-management/cluster-updates.md index a7f77fab23..156fdbcad8 100644 --- a/docs/docs-content/clusters/cluster-management/cluster-updates.md +++ b/docs/docs-content/clusters/cluster-management/cluster-updates.md @@ -11,7 +11,7 @@ Palette allows you to update active clusters. You can update any layer of a clus and add-on layers. Depending on the nature of the update, a cluster update could trigger different cluster repave operations. For more information, refer to [Repave Behaviors and Configurations](./node-pool.md#repave-behavior-and-configuration) for non-Edge clusters and -[Edge Cluster Upgrade Behavior](../edge/upgrade-behavior.md) for Edge clusters. operations. +[Edge Cluster Upgrade Behavior](../edge/cluster-management/upgrade-behavior.md) for Edge clusters. operations. :::info diff --git a/docs/docs-content/clusters/cluster-management/node-pool.md b/docs/docs-content/clusters/cluster-management/node-pool.md index d6e425d9d1..85ead5d873 100644 --- a/docs/docs-content/clusters/cluster-management/node-pool.md +++ b/docs/docs-content/clusters/cluster-management/node-pool.md @@ -30,7 +30,7 @@ Different types of repaving operations may occur, depending on what causes them: :::info This section only applies to non-Edge clusters. To learn about the upgrade behavior of Edge clusters, refer to the -[Edge Cluster Upgrade Behavior](../edge/upgrade-behavior.md) page. +[Edge Cluster Upgrade Behavior](../edge/cluster-management/upgrade-behavior.md) page. ::: diff --git a/docs/docs-content/clusters/edge/architecture.md b/docs/docs-content/clusters/edge/architecture.md index 2058c0ec80..408a6f65f5 100644 --- a/docs/docs-content/clusters/edge/architecture.md +++ b/docs/docs-content/clusters/edge/architecture.md @@ -95,13 +95,13 @@ use any container network interface pack such as Flannel or others, as part of t The component metrics server is disabled to avoid duplicating it because Palette installs the metrics server by default. -``` +```yaml cluster: - config: - # disable the built in cni - flannel-backend: none - no-flannel: true - disable-network-policy: true - Disable: - - metrics-server + config: + # disable the built in cni + flannel-backend: none + no-flannel: true + disable-network-policy: true + Disable: + - metrics-server ``` diff --git a/docs/docs-content/clusters/edge/cluster-management/certificate-renewal.md b/docs/docs-content/clusters/edge/cluster-management/certificate-renewal.md new file mode 100644 index 0000000000..313a566496 --- /dev/null +++ b/docs/docs-content/clusters/edge/cluster-management/certificate-renewal.md @@ -0,0 +1,126 @@ +--- +sidebar_label: "Renew Certificates for Air-gap Clusters" +title: "Renew Certificates for Air-gap Clusters" +description: "Learn how to renew certificates for different Kubernetes components in your cluster." +hide_table_of_contents: false +sidebar_position: 80 +tags: ["edge", "architecture"] +--- + +Kubernetes uses SSL certificates to secure the communication between different components of a cluster. Using these +certificates allows Kubernetes to secure API connections, verify the authenticity of the nodes, and encrypt connections. +All certificates have an expiry date, and need to be renewed periodically. + +This page guides you through the different methods used to renew certificates in an air-gapped Palette Edge cluster. An +air-gapped cluster means a cluster that has no connection to a Palette instance. + +## Limitations + +- The procedure described in this guide only renews certificates for control plane nodes. Certificate renewal for worker + nodes is not supported. +- The certificates used are generated by Kubernetes. You cannot use your own certificates. + +## Automatic Renewal + +Palette Edge will automatically renew all control plane certificates your cluster uses for you 30 days before they +expire. You can follow the steps below to check when the next automatic renewal will happen. + +### Prerequisite + +- You have an active cluster in a air-gapped Edge host. +- You have access to the local UI for the Edge host. For more information, refer to + [Access Local UI](../local-ui/host-management/access-console.md). + +### Check Next Auto Renewal Time + +1. Log in to [local UI](../local-ui/host-management/access-console.md). + +2. From the left **Main Menu**, select **Cluster**. + +3. Select the **Overview** tab on the **Cluster** page. + +4. In **Overview**, click **View Certificates** in the **Kubernetes Certificates** row. This will display all the + certificates currently in use by your cluster. + +5. The next renewal time, which is 30 days before the expiry date, for your certificates is at the top of the pop-up + box. + +### Validate + +In **Overview**, click **View Certificates** in the **Kubernetes Certificates** row. This will display all the +certificates currently in use by your cluster. You can confirm that the certificates have been renewed by looking at the +issue date of certificates. + +## Manual Renewal + +You can also manually renew your certificates whenever you want. You can do this through the local UI or through the +Edge Management API. + +### Prerequisite + +- You have an active cluster in a air-gapped Edge host. +- You have access to the local UI for the Edge host. For more information, refer to + [Access Local UI](../local-ui/host-management/access-console.md). + +### Manually Renew Certificates + + + + + +1. Log in to [local UI](../local-ui/host-management/access-console.md). + +2. From the left **Main Menu**, select **Cluster**. + +3. Select the **Overview** tab on the **Cluster** page. + +4. In **Overview**, click **View Certificates** in the **Kubernetes Certificates** row. This will display all the + certificates currently in use by your cluster. + +5. Click **Renew** to renew all certificates used by the cluster. + + + + + +1. Issue the following command to call the Edge Management authentication API. Replace `edge-host-ip` with the IP of + your Edge host and replace `os-username` and `os-password` with your Operating System (OS) user credentials. + + ```shell + curl --location 'https://edge-host-ip:5080/v1/users/default/login' \ + --header 'Content-Type: application/json' \ + --data '{ + "username": "os-username", + "password": "os-password" + }' + ``` + + This will return an authentication token. + + ```json + { + "Token": { + "Authorization": "******" + } + } + ``` + +2. Issue the following command to call the endpoint to renew your control plane node certificates. Put the + authentication token you obtained in the previous step in the header. + + ```shell + curl -X POST "https://edge-host-ip:5080/v1/edge-mgmt/cluster/renew-certificates" \ + --header "Authorization: *******" + ``` + + This will renew all certificates on the control plane nodes. + + + + + +### Validate + +In **Overview**, click **View Certificates** in the **Kubernetes Certificates** row. This will display all the +certificates currently in use by your cluster. You can confirm that the certificates have been renewed by looking at the +issue date of certificates. diff --git a/docs/docs-content/clusters/edge/cluster-management/cluster-management.md b/docs/docs-content/clusters/edge/cluster-management/cluster-management.md new file mode 100644 index 0000000000..f24b79f0ec --- /dev/null +++ b/docs/docs-content/clusters/edge/cluster-management/cluster-management.md @@ -0,0 +1,17 @@ +--- +sidebar_label: "Cluster Management" +title: "Cluster Management for Edge Clusters" +description: "Learn about the different available day-2 operations for Edge clusters." +hide_table_of_contents: false +sidebar_position: 55 +tags: ["edge", "architecture"] +--- + +After deployment, Palette Edge offers several options to manage Kubernetes clusters on an ongoing basis, such as +upgrading software versions and managing certificate renewals. This section provides you with resources on day-2 +operations for your Palette Edge cluster. + +## Resources + +- [Edge Cluster Upgrade Behavior](upgrade-behavior.md) +- [Renew Certificates](certificate-renewal.md) diff --git a/docs/docs-content/clusters/edge/upgrade-behavior.md b/docs/docs-content/clusters/edge/cluster-management/upgrade-behavior.md similarity index 96% rename from docs/docs-content/clusters/edge/upgrade-behavior.md rename to docs/docs-content/clusters/edge/cluster-management/upgrade-behavior.md index fb20a7e4cc..b588b8f0aa 100644 --- a/docs/docs-content/clusters/edge/upgrade-behavior.md +++ b/docs/docs-content/clusters/edge/cluster-management/upgrade-behavior.md @@ -10,9 +10,9 @@ tags: ["edge", "architecture"] When you update an active Edge cluster's profile, Palette will upgrade the active cluster to the latest version of the profile. Depending on the nature of the change, implementing an upgrade might involve repaving a cluster, rebooting a cluster, restarting services, or doing nothing. For more information about cluster repaves, refer to -[Repave Behavior and Configurations](../cluster-management/node-pool.md#repave-behavior-and-configuration). For more -information about how to update a cluster profile, refer to -[Update a Cluster](../cluster-management/cluster-updates.md). +[Repave Behavior and Configurations](../../../clusters/cluster-management/node-pool.md#repave-behavior-and-configuration). +For more information about how to update a cluster profile, refer to +[Update a Cluster](../../../clusters/cluster-management/cluster-updates.md). :::warning diff --git a/docs/docs-content/clusters/edge/edge-configuration/installer-reference.md b/docs/docs-content/clusters/edge/edge-configuration/installer-reference.md index 06dfd32f9e..b483541968 100644 --- a/docs/docs-content/clusters/edge/edge-configuration/installer-reference.md +++ b/docs/docs-content/clusters/edge/edge-configuration/installer-reference.md @@ -79,13 +79,13 @@ stylus: ### Initial Configuration -You can configure the Edge Installer to enable the initial configuration in the Terminal User Interface (TUI) when you -boot up the Edge host for the first time. For more information about initial configuration, refer to +You can configure the Edge Installer to enable the initial configuration in the Palette Terminal User Interface (TUI) +when you boot up the Edge host for the first time. For more information about initial configuration, refer to [Initial Edge Host Configuration](../site-deployment/initial-setup.md). -| Parameter | Description | -| ------------ | --------------------------------------------------------------------- | -| `includeTui` | Enable the initial Edge host configuration. Default value is `false`. | +| Parameter | Description | +| ------------ | --------------------------------------------------------------------------------- | +| `includeTui` | Enable Palette TUI for initial Edge host configuration. Default value is `false`. | For example, the following configuration enables the Palette TUI. diff --git a/docs/docs-content/clusters/edge/edge.md b/docs/docs-content/clusters/edge/edge.md index 16fbd0d6de..5191b0e8b4 100644 --- a/docs/docs-content/clusters/edge/edge.md +++ b/docs/docs-content/clusters/edge/edge.md @@ -78,4 +78,8 @@ specific challenges with additional software. - [Site Deployment](site-deployment/site-deployment.md) +- [Trusted Boot](trusted-boot/trusted-boot.md) + - [Networking](networking/networking.md) + +- [Third-Party Integration](third-party-integrations/third-party-integrations.md) diff --git a/docs/docs-content/clusters/edge/edgeforge-workflow/edgeforge-workflow.md b/docs/docs-content/clusters/edge/edgeforge-workflow/edgeforge-workflow.md index 028d1d2b62..ae1ece85c7 100644 --- a/docs/docs-content/clusters/edge/edgeforge-workflow/edgeforge-workflow.md +++ b/docs/docs-content/clusters/edge/edgeforge-workflow/edgeforge-workflow.md @@ -31,19 +31,17 @@ Installer ISO and provider images individually. If you want your Edge host to have preloaded content and be able to create clusters using the preloaded content, you build a content bundle and build the content bundle into your Edge Installer ISO. Building preloaded content into your ISO allows you to create clusters without a connection to a Palette instance. Refer to the following guides to build -Edge Artifacts with content bundles: +content bundles: -- [Build Content Bundle](./build-content-bundle.md) - -- [Build Edge Artifacts with Content Bundles](./palette-canvos/build-artifacts.md) +- [Build Content Bundle](palette-canvos/build-content-bundle.md) The following table lists the combination of our guides you can follow to build Edge artifacts with or without preloaded content. -| Edge Artifacts have preloaded content? | Option 1 | Option 2 | -| -------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | -| No | [Build Provider Images](./palette-canvos//build-provider-images.md) + [Build Installer ISO](./palette-canvos//build-installer-iso.md) | [Build Edge Artifacts](./palette-canvos/palette-canvos.md) | -| Yes | [Build Provider Images](./palette-canvos//build-provider-images.md) + [Build Installer ISO](./palette-canvos//build-installer-iso.md) + [Build Content Bundle](./build-content-bundle.md) | [Build Content Bundle](./build-content-bundle.md) + [Build Edge Artifacts with Content Bundles](./palette-canvos/build-artifacts.md) | +| Edge Artifacts have preloaded content? | Option 1 | Option 2 | +| -------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------- | +| No | [Build Provider Images](./palette-canvos//build-provider-images.md) + [Build Installer ISO](./palette-canvos//build-installer-iso.md) | [Build Edge Artifacts](./palette-canvos/palette-canvos.md) | +| Yes | [Build Provider Images](./palette-canvos//build-provider-images.md) + [Build Installer ISO](./palette-canvos//build-installer-iso.md) + [Build Content Bundle](./palette-canvos/build-content-bundle.md) | | ## Edge Artifacts @@ -90,7 +88,7 @@ Palette provides these artifacts out-of-the-box. All the container images are ho registries, or a private self-hosted OCI registry and automatically downloaded during installation. You can use the default Palette container registries to familiarize yourself with the installation process. However, in a typical production scenario, you would need to customize these artifacts to suit your specific needs or perform some -[content bundle](../edgeforge-workflow/build-content-bundle.md) optimization. +[content bundle](../edgeforge-workflow/palette-canvos/build-content-bundle.md) optimization. ![A diagram breaking up the internal components of the Edge Provider container images](/clusters_edge_edgeforge-workflow_provider-diagram.webp) @@ -111,9 +109,9 @@ the Edge Installer ISO during EdgeForge. This allows the Edge host to provision external image registry. Refer to the following guides on how to build a content bundle and how to use them during the EdgeForge process: -- [Build Content Bundle](./build-content-bundle.md) +- [Build Content Bundle](./palette-canvos/build-content-bundle.md) -- [Build Edge Artifacts with Content Bundles](./palette-canvos/build-artifacts.md) +- [Build Installer ISO with Content Bundle](./palette-canvos/build-installer-iso.md#build-content-bundle) ## Deployment Scenarios @@ -146,7 +144,7 @@ scenario, use the CLIs to help you with the customization. ## Resources -- [Build Preloaded Content Bundles](build-content-bundle.md) +- [Build Preloaded Content Bundles](./palette-canvos/build-content-bundle.md) - [Build Edge Installer ISO](./palette-canvos/build-installer-iso.md) @@ -154,6 +152,4 @@ scenario, use the CLIs to help you with the customization. - [Build Edge Artifacts](./palette-canvos/palette-canvos.md) -- [Build Edge Artifacts using a Content Bundle](./palette-canvos/build-artifacts.md) - - [Prepare User Data](prepare-user-data.md) diff --git a/docs/docs-content/clusters/edge/edgeforge-workflow/palette-canvos/arg.md b/docs/docs-content/clusters/edge/edgeforge-workflow/palette-canvos/arg.md index 5882791001..b8463ed0a4 100644 --- a/docs/docs-content/clusters/edge/edgeforge-workflow/palette-canvos/arg.md +++ b/docs/docs-content/clusters/edge/edgeforge-workflow/palette-canvos/arg.md @@ -11,19 +11,22 @@ tags: ["edge"] During the EdgeForge process, you provide an **.arg** document that contains a list of parameters to configure the build of both the provider images and the Edge Installer ISO. This page lists the parameters available in the **.arg** file. -| **Argument** | **Description** | **Allowed Values** | -| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------- | -| `ARCH` | Architecture of the image. | `amd64`, `arm64`. | -| `CUSTOM_TAG` | A custom tag for the provider images. This custom tag will be appended to the `IMAGE_REGISTRY` and `IMAGE_REPO` parameters to form the full image tag. | Lowercase alphanumeric string without spaces. | -| `FIPS_ENABLED` | Whether to generate FIPS compliant binaries. | `true`, `false.` | -| `HTTP_PROXY` | URL of the HTTP Proxy server. | URL string. | -| `HTTPS_PROXY` | URL of the HTTPS Proxy server. | URL string. | -| `IMAGE_REGISTRY` | The image registry to use for tagging the generated provider images. | Your image registry hostname, without `http` or `https`
Example: docker.io/spectrocloud. | -| `IMAGE_REPO` | The image repository to use for tagging the generated provider images. | Your image repository name. | -| `ISO_NAME` | Name of the Installer ISO file. | Lowercase alphanumeric string without spaces. The characters `-` and `_` are allowed. | -| `K8S_DISTRIBUTION` | Kubernetes distribution. | ` k3s`, `rke2`, `kubeadm`, `kubeadm-fips`. | -| `NO_PROXY` | URLS that should be excluded from the proxy. | Comma-separated URL string. | -| `OS_DISTRIBUTION` | OS distribution. | `ubuntu`, `opensuse-leap`, `rhel`. | -| `OS_VERSION` | OS version. This applies to Ubuntu only. | `20`, `22`. | -| `PROXY_CERT_PATH` | Absolute path of the SSL Proxy certificate in the PEM format. | Absolute path string. | -| `UPDATE_KERNEL` | Determines whether to upgrade the Kernel version to the latest from the upstream OS provider. | `true`, `false`. | +| **Argument** | **Description** | **Allowed Values** | +| ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | +| `ARCH` | Architecture of the image. Required. | `amd64`, `arm64`. | +| `AUTO_ENROLL_SECUREBOOT_KEYS` | Determines whether to auto enroll keys used for Trusted Boot. | `true`, `false`. Default is `false`. | +| `CUSTOM_TAG` | A custom tag for the provider images. This custom tag will be appended to the `IMAGE_REGISTRY` and `IMAGE_REPO` parameters to form the full image tag. | Lowercase alphanumeric string without spaces. | +| `FIPS_ENABLED` | Whether to generate FIPS compliant binaries. | `true`, `false.` Default is `false` | +| `HTTP_PROXY` | URL of the HTTP Proxy server. | URL string. | +| `HTTPS_PROXY` | URL of the HTTPS Proxy server. | URL string. | +| `IMAGE_REGISTRY` | The image registry to use for tagging the generated provider images. Required. | Your image registry hostname, without `http` or `https`
Example: docker.io/spectrocloud. | +| `IMAGE_REPO` | The image repository to use for tagging the generated provider images. Required. | Your image repository name. | +| `INCLUDE_MS_SECUREBOOT_KEYS` | Whether to include Microsoft's secure boot keys in the set of keys to enroll in your device for secure boot. Almost every machine requires these keys. | `true`, `false`. Default is `true`. | +| `ISO_NAME` | Name of the Installer ISO file. Required. | Lowercase alphanumeric string without spaces. The characters `-` and `_` are allowed. | +| `IS_UKI` | Determines whether to build a Unified Kernel Image (UKI) to enabled Trusted Boot. Refer to [Trusted Boot](../../trusted-boot/trusted-boot.md) for more information. | `true`, `false`. Default is `false`. | +| `K8S_DISTRIBUTION` | Kubernetes distribution. | ` k3s`, `rke2`, `kubeadm`, `kubeadm-fips`. | +| `NO_PROXY` | URLS that should be excluded from the proxy. | Comma-separated URL string. | +| `OS_DISTRIBUTION` | OS distribution. | `ubuntu`, `opensuse-leap`, `rhel`. | +| `OS_VERSION` | OS version. This applies to Ubuntu only. | `20`, `22`. | +| `PROXY_CERT_PATH` | Absolute path of the SSL Proxy certificate in the PEM format. | Absolute path string. | +| `UPDATE_KERNEL` | Determines whether to upgrade the Kernel version to the latest from the upstream OS provider. | `true`, `false`. | diff --git a/docs/docs-content/clusters/edge/edgeforge-workflow/palette-canvos/build-artifacts.md b/docs/docs-content/clusters/edge/edgeforge-workflow/palette-canvos/build-artifacts.md deleted file mode 100644 index 0f643a7b49..0000000000 --- a/docs/docs-content/clusters/edge/edgeforge-workflow/palette-canvos/build-artifacts.md +++ /dev/null @@ -1,392 +0,0 @@ ---- -sidebar_label: "Build Edge Artifacts using a Content Bundle" -title: "Build Edge Artifacts using a Content Bundle" -description: "Learn how to build an Edge installer ISO using the Palette Edge CLI and the CanvOS utilities." -icon: "" -hide_table_of_contents: false -sidebar_position: 30 -tags: ["edge"] ---- - -Palette's Edge solution supports creating Edge artifacts for edge devices deployed in a low internet bandwidth -environment or a disconnected environment. A disconnected environment is a deployment site with no network access to a -Palette instance. Using a content bundle, you can build Edge artifacts for installation in such environments. - -A content bundle is an archive that includes the Operating System (OS) image, the Kubernetes distribution, the Network -Container Interface (CNI), and all other dependencies specified in the cluster profiles you want to deploy to the Edge -cluster. A content bundle provides several benefits, such as: - -- Software dependencies are pre-loaded into the installer image. - -- Optimizes the deployment process for bandwidth-constrained environments or air-gapped environments. - -- The ability to more granularly manage the software dependencies available to Edge clusters. - -This how-to guide provides instructions for creating and using a content bundle to build the Edge artifacts. You will -begin with installing a necessary tool, the Palette Edge CLI, on your development machine. The Palette Edge CLI is a -command-line utility to interact with Palette and perform specific tasks in your development environment, such as -creating a content bundle. Next, you will download all the software dependencies mentioned in your cluster profile using -the Palette Edge CLI and create a content bundle. Lastly, when your content bundle is ready, you will use the EdgeForge -utility to embed the content bundle and user data into the Edge installer ISO image. - -The diagram below displays the overarching steps to build the Edge installer ISO using a content bundle. The diagram -also highlights the primary prerequisites to create a content bundle. - -![An overarching diagram displaying the workflow in the current guide.](/clusters_edge_edge-forge-workflow_build-images_build-artifacts_overarching.webp) - -## Prerequisites - -:::warning - -This how-to guide extends the [Build Edge Artifacts](palette-canvos.md) workflow. Therefore, you must complete it before -proceeding with the current guide. - -::: - -To complete this guide, you will need the following items: - -- A physical or virtual Linux machine with _AMD64_ (also known as _x86_64_) processor architecture to build the Edge - installer ISO image. You can issue the following command in the terminal to check your processor architecture. - - ```bash - uname -m - ``` - -- The Linux machine should have the following minimum hardware configuration: - - - 4 CPU - - 8 GB memory - - 100 GB storage. The actual storage will depend on the size of the content bundle you will use to build the Edge - installer ISO image. - -- You must have completed the [Build Edge Artifacts](palette-canvos.md) guide to build the provider images and create a - cluster profile referencing one of the provider images. - -- A Palette API key. Later in this guide, you will use this API key to authenticate the Palette Edge CLI utility and - allow it to interact with Palette. Refer to the - [User Authentication](/docs/docs-content/user-management/authentication/api-key/create-api-key.md) guide to create a - new API key. - -## Instructions - -Use the following instructions on your Linux machine, which this guide refers to as the development environment. - -1. Visit the [Downloads](../../../../spectro-downloads.md#palette-edge-cli) page and download the latest Palette Edge - CLI. You can download the Palette Edge CLI by clicking on the available URL or using the download URL in the - following command. Replace the `[PALETTE-EDGE-BINARY-URL]` placeholder with the download URL. - - ```bash - curl [PALETTE-EDGE-BINARY-URL] --output palette-edge - ``` - -2. Open a terminal session and navigate to the folder where you have downloaded the palette-edge binary. Set the - executable permissions for the palette-edge binary by issuing the following command. - - ```bash - chmod +x palette-edge - ``` - -3. Use the following command to move the palette-edge binary to the **/usr/local/bin** directory to make the binary - available in your system $PATH. This will allow you to issue the `palette-edge` command from any directory in your - development environment. - - ```bash - mv palette-edge /usr/local/bin - ``` - -4. Verify the installation of the Palette Edge CLI by issuing the following command. The output will display - information about the currently supported OS and Kubernetes distributions. - - ```bash - palette-edge show - ``` - - ```hideClipboard bash - # Sample output - ┌────────────────────────────────────────────────────────────────────────┐ - | OS Flavor | Description | Base Image URI | - | opensuse-leap | Opensuse Leap 15.4 | quay.io/kairos/core-opensuse-leap | - | ubuntu-20 | Ubuntu 20.4 LTS | quay.io/kairos/core-ubuntu-20-lts | - | ubuntu-22 | Ubuntu 22.4 LTS | quay.io/kairos/core-ubuntu-22-lts | - └────────────────────────────────────────────────────────────────────────┘ - ┌─────────────────────────────────────────────────────────────────────────────────────────────┐ - | K8S Flavor | Description | Supported Versions | - | k3s | Rancher K3s | 1.25.2-k3s1,1.24.6-k3s1,1.23.12-k3s1,1.22.15-k3s1 | - | kubeadm | Kubernetes kubeadm | 1.25.2,1.24.6,1.23.12,1.22.15 | - | rke2 | Rancher RK2 | 1.25.2-rke2r1,1.24.6-rke2r1,1.23.12-rke2r1,1.22.15-rke2r1 | - └─────────────────────────────────────────────────────────────────────────────────────────────┘ - ┌─────────────────────────────────┐ - | Component | Version | - | Spectro Agent Version | v3.4.3 | - | Kairos Version | v2.0.3 | - └─────────────────────────────────┘ - ``` - -5. Set the Palette API key as an environment variable by issuing the following command. Replace the - `[USE-YOUR-API-KEY_HERE]` placeholder with your API key. The Palette Edge CLI will use this API key to authenticate - with Palette. Once authenticated, the Palette Edge CLI can interact with your Palette account. - - ```bash - export API_KEY=[USE-YOUR-API-KEY_HERE] - ``` - -6. Log in to [Palette](https://console.spectrocloud.com). - -7. Copy your Palette project ID. You will use this ID in a later step. The project ID is on the top-right corner of - your Palette project overview page. Use the following screenshot to help you find your project ID. - - ![A screenshot highlighting the project ID in Palette project overview page](/clusters_edge_edge-forge-workflow_build-images_build-project_id.webp) - -8. Navigate to the left **Main Menu** and select **Profiles**. - -9. Select the cluster profile you want to include in the content bundle. Click on the target cluster profile to access - its details page. - -10. Examine the cluster details page URL. The cluster details page URL follows the - `[Palette-URL]/projects/[PROJECT-ID]/profiles/cluster/[CLUSTER-PROFILE-ID]` syntax. The cluster details page URL has - your project ID and the cluster profile ID. For example, the screenshot below highlights the project ID and the - cluster profile ID in a cluster details page URL. - - ![A screenshot highlighting the cluster profile ID and project ID in the URL of the cluster details page.](/clusters_edge_edge-forge-workflow_build-images_build-artifacts_url.webp) - -11. Copy the cluster profile ID from the cluster details page URL for the next step. - -12. Switch back to your development environment, and set the project ID as an environment variable by issuing the - following command. Replace the `[USE-YOUR-PROJECT-ID_HERE]` placeholder with your project ID. - - ```bash - export PROJECT_ID=[USE-YOUR-PROJECT-ID_HERE] - ``` - -13. Set the cluster profile ID as an environment variable using the following command. Replace the - `[USE-YOUR-PROFILE-ID_HERE]` placeholder with your cluster profile ID. The Palette Edge CLI uses the cluster profile - ID to reference the correct cluster profile and download all its software dependencies. - - ```bash - export PROFILE_ID=[USE-YOUR-PROFILE-ID_HERE] - ``` - -14. (Optional) If your cluster profile uses images or helm charts that are hosted on private registries that require - authentication, you must provide a JSON file that contains the necessary credentials to access the registry. - - - - - - For authenticated access to Helm charts, your must provide credentials with the following schema. Use a key at the - root level of the JSON object named "helm" and set its value to a list. The list is a list of credentials for each - Helm chart repository. For each set of credentials, use an object in the list with the keys `endpoint`, `username`, - and `password`. - - ```json - { - "helm": [ - { - "endpoint": , - "username": , - "password": - } - ] - } - ``` - - For example, the following JSON code is a valid set of credentials. - - ```json - { - "helm": [ - { - "endpoint": "harbor.abcd.com", - "username": "admin", - "password": "xxxxxxxx" - } - ] - } - ``` - - - - - - For image registries, you must provide credentials with the following schema. Provide a key at the root level of the - JSON object named "image" and set its value to a list. The list is a list of credentials for each Helm chart - repository. For each set of credentials, use an object in the list with the keys `endpoint`, `username`, and - `password`. - - ```json - { - "image": [ - { - "endpoint": , - "username": , - "password": - } - ] - } - ``` - - For example, the following JSON code provides access to two registries `ttl.sh` and `docker.io` with two - username-password pairs. - - ```json - { - "image": [ - { - "endpoint": "ttl.sh", - "username": "admin", - "password": "Welc0me!123" - }, - { - "endpoint": "docker.io", - "username": "akhileshpvt", - "password": "Lucent122333!" - } - ] - } - ``` - - For Google Container Registry (GCR) access, you need to set the username field to `"_json_key"` and set the password - to a JSON object containing the following fields. - - | Field | Description | - | ----------------------------- | --------------------------------------------------------------------------------------------------- | - | `type` | The type of credential, which is `service_account` for Google Cloud service accounts. | - | `project_id` | The project ID associated with your Google Cloud project. For example, `spectro-images`. | - | `private_key_id` | A unique identifier for the private key associated with the service account. | - | `private_key` | The private key that is used to authenticate to Google Cloud services, encapsulated in a PEM block. | - | `client_email` | The email address associated with the service account, used for authentication. | - | `client_id` | The client ID associated with the service account. | - | `auth_uri` | The URI for the authentication provider, typically Google's OAuth 2.0 server. | - | `token_uri` | The URI for obtaining tokens from Google's OAuth 2.0 server. | - | `auth_provider_x509_cert_url` | The URL of the public x509 certificate for the authentication provider. | - | `client_x509_cert_url` | The URL of the public x509 certificate for the client (service account). | - - For example, the following is a valid set of credentials for a GCR registry. - - ```json - { - "image": [ - { - "endpoint": "gcr.io", - "username": "_json_key", - "password": { - "type": "service_account", - "project_id": "spectro-images", - "private_key_id": "847c09190xxxxxxxxxxxxc4ebc", - "private_key": "-----BEGIN KEY-----MIIEvQIBADA ... -----Shortened for brevity", - "client_email": "xxx.iam.gserviceaccount.com", - "client_id": "115830xxxxxxx340453", - "auth_uri": "https://accounts.google.com/o/oauth2/auth", - "token_uri": "https://oauth2.googleapis.com/token", - "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", - "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/spectro-images-viewer%40spectro-images.iam.gserviceaccount.com" - } - } - ] - } - ``` - - - - - - After creating the file, use the `--cred-file-path filepath` flag to include the credentials in the command. - -15. Issue the command below to create the content bundle. The `build` command uses the following flags: - - | **Command Flag** | **Value** | - | ----------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | - | `--api-key` | Palette API key. | - | `--project-id` | Palette project ID. | - | `--cluster-profile-ids` | Cluster profile IDs. If you want to include multiple cluster profiles in the content bundle, add multiple cluster profile IDs separated by commas. | - | `--palette-endpoint` | Palette API endpoint. The default Palette API endpoint is `api.spectrocloud.com`. | - | `--outfile` | Name of the content bundle. The final filename looks like the following: `core--random-string`. | - | `--cred-file-path` | Path to the JSON file containing the credentials for a private registry. | - - You can issue `palette-edge build --help` to know about other available flags. - - ```bash - palette-edge build --api-key $API_KEY \ - --project-id $PROJECT_ID \ - --cluster-profile-ids $PROFILE_ID \ - --palette-endpoint api.spectrocloud.com \ - --outfile \ - --include-palette-content \ - --cred-file-path filepath - ``` - -16. Use the following command to list all files in the current directory to verify that you created the content bundle - successfully. The content bundle will have the following naming convention, `content-[random-string]`, for example, - **content-8e61a9e5**. - - ```bash - ls -al - ``` - -17. List the files in the content bundle folder using the following command. The output will display the compressed core - and app content files. - - ```bash - ls -al content-*/ - ``` - - ```hideClipboard bash - # Sample output - total 3981104 - -rw-rw-r-- 1 jb jb 2478086360 Jul 26 18:20 core-content-8e61a9e5.zst - ``` - -18. Issue the following command to build the Edge artifacts with your content bundle. The `+iso` option specifies the - build target. This command will generate an ISO image containing the content bundle and other configurations you - have specified in the **.arg** and **user-data** files. - - ```bash - sudo ./earthly.sh +iso - ``` - - This command may take up to 15-20 minutes to finish depending on the resources of the host machine. - -## Validate - -List the Edge installer ISO and checksum by issuing the following command from the **CanvOS/** directory. - -```shell -ls build/ -``` - -```hideClipboard shell -palette-edge-installer.iso -palette-edge-installer.iso.sha256 -``` - -To validate, you can prepare an edge device using the Edge installer ISO. You can follow the -[Prepare Edge Host for Installation](../../site-deployment/stage.md) guide if you prepare a bare metal machine or a -VMware VM as a host. Below are the high-level steps for your reference: - -1. Create a bootable USB flash drive using any third-party software. Most software that creates a bootable USB drive - will validate the ISO image. - -2. Select a physical or virtual host machine to emulate as an edge device. Enable (Dynamic Host Configuration Protocol) - DHCP on the host before proceeding with the installation process. Enabling DHCP is necessary for the device to obtain - an IP address automatically from the network. - -3. Flash the edge device with a bootable USB drive. - -4. The last step is to power on the edge device and start the installation process. For more information, refer to the - [Perform Site Install](../../site-deployment/site-installation/site-installation.md) documentation. - -## Next Steps - -Palette's Edge solution allows you to create Edge artifacts using a content bundle for edge devices deployed in low -internet bandwidth or air-gapped environments. You created a content bundle using the Palette Edge CLI in this guide. -Next, you used the CanvOS utility to embed the content bundle and user data into an Edge installer ISO. - -As the next step, we recommend you check out the end-to-end tutorial, -[Deploy an Edge Cluster on VMware](../../site-deployment/deploy-cluster.md). The tutorial provides a detailed -walkthrough on deploying an Edge cluster in a VMware environment. - -Check out the reference resources below to learn more about preparing an Edge host. - -- [Prepare Edge Host for Installation](../../site-deployment/stage.md) - -- [Perform Site Install](../../site-deployment/site-installation/site-installation.md) diff --git a/docs/docs-content/clusters/edge/edgeforge-workflow/palette-canvos/build-content-bundle.md b/docs/docs-content/clusters/edge/edgeforge-workflow/palette-canvos/build-content-bundle.md new file mode 100644 index 0000000000..09adb27d80 --- /dev/null +++ b/docs/docs-content/clusters/edge/edgeforge-workflow/palette-canvos/build-content-bundle.md @@ -0,0 +1,320 @@ +--- +sidebar_label: "Build Content Bundle" +title: "Build Content Bundle" +description: "Learn about building your edge content bundles in order to optimize cluster deployments" +hide_table_of_contents: false +sidebar_position: 45 +tags: ["edge"] +--- + +Content bundles are archives of all the required container images required for one or more cluster profiles. The content +bundle includes Helm charts, Packs, and manifest files needed to deploy your Edge host cluster. In addition to core +container images, the content bundle can include artifacts from your applications that you wish to deploy to the Edge +cluster. [Cluster Profiles](../../../../profiles/cluster-profiles/cluster-profiles.md) are the primary source for +building these content bundles. + +:::warning + +Currently, the content bundles include Helm charts and Packs. However, keep in mind that the container images of the +Helm Charts and Packs are extracted and pre-deployed into the container runtime [containerd](https://containerd.io/) for +optimization. + +::: + +The diagram below displays the overarching steps to build the Edge installer ISO using a content bundle. The diagram +also highlights the primary prerequisites to create a content bundle. + +![An overarching diagram displaying the workflow in the current guide.](/clusters_edge_edge-forge-workflow_build-images_build-artifacts_overarching.webp) + +## Benefits of Content Bundle + +Creating a content bundle provides several benefits that may address common use cases related to deploying Edge hosts. + +- Preloading required software dependencies removes the need to download assets during cluster deployment. + +- If connectivity to a container registry is unstable or bandwidth limited, preloading the software dependencies can + address these concerns. + +- Preloading required software dependencies optimizes the Edge host deployment process when the Edge host is in an + internet bandwidth-constrained environment. + +- Organizations that want better control over the software used by their Edge hosts can use content bundles to ensure + that only approved software is consumed. + +## Prerequisites + +- Linux Machine (Physical or VM) with an AMD64 architecture. + +- Palette API key. Refer to the + [User Authentication](../../../../user-management/authentication/api-key/create-api-key.md) resource to learn how to + create a Palette API key. + +- An Edge Native cluster profile. Refer to [Create Edge Native Cluster Profile](../../site-deployment/model-profile.md) + guide to learn how to create an Edge Native cluster profile. You may also have other add-on profiles that you wish to + attach to your cluster. + +- Content tags in your profiles highlight the exact location of container images to be downloaded. + +## Create Content Bundle + +1. Download Palette Edge Content CLI and assign the executable bit to the CLI. + + ```shell + VERSION=4.3.0 + wget https://software.spectrocloud.com/stylus/v$VERSION/cli/linux/palette-edge + chmod +x palette-edge + ``` + +2. Use the following command to move the palette-edge binary to the **/usr/local/bin** directory to make the binary + available in your system $PATH. This will allow you to issue the `palette-edge` command from any directory in your + development environment. + + ```bash + mv palette-edge /usr/local/bin + ``` + +3. Verify the installation of the Palette Edge CLI by issuing the following command. The output will display a list of + available commands and flags for the CLI. + + ```bash + palette-edge --help + ``` + + ```hideClipboard bash + Usage: + palette-edge-cli [command] + + Available Commands: + build Build the content + build-from-local + deploy + help Help about any command + show Display all the preset default values and supported OS and K8S flavors + upload + + Flags: + --config string config file (default is $HOME/.palette-edge-cli.yaml) + --debug set to enable debug logging [default: false] + -h, --help help for palette-edge-cli + --logfile string log file name + --trace set to enable trace logging [default: false] + + Use "palette-edge-cli [command] --help" for more information about a command. + ``` + +4. Log in to [Palette](https://console.spectrocloud.com). + +5. Select the project you want to deploy the Edge host to and copy down the **Project ID**. You can find the project id + at the top right side corner of the landing page below the **User drop-down Menu**. + +6. Navigate to the left **Main Menu** and select **Profiles**. + +7. Use the **Cloud Types drop-down Menu** and select **Edge Native**. + +8. Click on the cluster profile you want to include in the content bundle. + +9. You can find the cluster profile ID by reviewing the URL of the current page. The cluster profile ID is the last + value in the URL. Refer to the [Project](../../../../tenant-settings/projects/projects.md#project-id) page for + details. Repeat this step for all the cluster profiles you want to specify in the content bundle. + + ```text + https://console.spectrocloud.com/projects/yourProjectId/profiles/cluster/ + ``` + +10. (Optional) If your cluster profile uses images or helm charts that are hosted on private registries that require + authentication, you must provide a JSON file that contains the necessary credentials to access the registry. + + + + + + For authenticated access to Helm charts, your must provide credentials with the following schema. Use a key at the + root level of the JSON object named "helm" and set its value to a list. The list is a list of credentials for each + Helm chart repository. For each set of credentials, use an object in the list with the keys "endpoint", "username", + and "password". + + ```json + { + "helm": [ + { + "endpoint": , + "username": , + "password": + } + ] + } + ``` + + For example, the following JSON code is a valid set of credentials. + + ```json + { + "helm": [ + { + "endpoint": "harbor.abcd.com", + "username": "admin", + "password": "xxxxxxxx" + } + ] + } + ``` + + + + + + For image registries, you must provide credentials with the following schema. Provide a key at the root level of the + JSON object named "image" and set its value to a list. The list is a list of credentials for each Helm chart + repository. For each set of credentials, use an object in the list with the keys "endpoint", "username", and + "password". + + ```json + { + "image": [ + { + "endpoint": , + "username": , + "password": + } + ] + } + ``` + + For example, the following JSON code provides access to two registries `ttl.sh` and `docker.io` with two + username-password pairs. + + ```json + { + "image": [ + { + "endpoint": "ttl.sh", + "username": "admin", + "password": "*********" + }, + { + "endpoint": "docker.io", + "username": "akhileshpvt", + "password": "*********" + } + ] + } + ``` + + For Google Container Registry (GCR) access, you need to set the username field to `"_json_key"` and set the password + to an JSON object containing the following fields. + + | Field | Description | + | ----------------------------- | --------------------------------------------------------------------------------------------------- | + | `type` | The type of credential, which is `service_account` for Google Cloud service accounts. | + | `project_id` | The project ID associated with your Google Cloud project. For example, `spectro-images`. | + | `private_key_id` | A unique identifier for the private key associated with the service account. | + | `private_key` | The private key that is used to authenticate to Google Cloud services, encapsulated in a PEM block. | + | `client_email` | The email address associated with the service account, used for authentication. | + | `client_id` | The client ID associated with the service account. | + | `auth_uri` | The URI for the authentication provider, typically Google's OAuth 2.0 server. | + | `token_uri` | The URI for obtaining tokens from Google's OAuth 2.0 server. | + | `auth_provider_x509_cert_url` | The URL of the public x509 certificate for the authentication provider. | + | `client_x509_cert_url` | The URL of the public x509 certificate for the client (service account). | + + For example, the following is a valid set of credentials for a GCR registry. + + ```json + { + "image": [ + { + "endpoint": "gcr.io", + "username": "_json_key", + "password": { + "type": "service_account", + "project_id": "spectro-images", + "private_key_id": "847c09190xxxxxxxxxxxxc4ebc", + "private_key": "-----BEGIN KEY-----MIIEvQIBADA ... -----Shortened for brevity", + "client_email": "xxx.iam.gserviceaccount.com", + "client_id": "115830xxxxxxx340453", + "auth_uri": "https://accounts.google.com/o/oauth2/auth", + "token_uri": "https://oauth2.googleapis.com/token", + "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", + "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/spectro-images-viewer%40spectro-images.iam.gserviceaccount.com" + } + } + ] + } + ``` + + + + + + After creating the file, use the `-cred-file-path filepath` flag to include the credentials in the command. + +11. Navigate back to your terminal window and issue the following command to create the content bundle. Replace the + placeholder values with your actual values. + + ```shell + ./palette-edge build --api-key \ + --project-id \ + --cluster-profile-ids \ + --palette-endpoint \ + --outfile \ + --cred-file-path \ + --include-palette-content + ``` + + | Flag | Description | + | --------------------------- | ----------------------------------------------------------------------------------------------------------------------- | + | `--api-key` | Your Palette API key. | + | `--cluster-profile-ids` | Comma-separated list of cluster profile IDs to download content for. | + | `--cred-file-path` | Path to the JSON file storing registry credentials if you are using a private registry. | + | `--include-palette-content` | Whether to include content necessary for Palette itself. Required for airgap installations. | + | `--outfile` | Name of your content bundle. The final file name should have the following pattern: `core--random-string`. | + | `--palette-endpoint` | API endpoint for your Palette instance. | + | `--project-id` | The ID of your Palette project. | + + The result is a content bundle that you can use to preload into your installer. The content bundle will be a zst + file in a folder that starts with **content-** followed by a random string. For more information about how to use a + content bundles, [Build Installer ISO](./build-installer-iso.md) or + [Upload Content Bundle through Local UI](../../local-ui/cluster-management/upload-content-bundle.md). + + Alternatively, you can use the ISO version of the content bundle and transfer it to a USB drive to be used + separately at the time of Edge host installation using the `-iso` flag in your build command. Doing so will override + the file extension you provide using the `--outfile` flag. + +12. (Optional) You can download the cluster definition and the content bundle in a single step. A cluster definition + contains one or more cluster profiles, including the profile variables used in the profiles. In air-gapped Edge + deployments, cluster definitions are required to provision a cluster from local UI. For more information, refer to + [Create a Cluster with Local UI](../../local-ui/cluster-management/create-cluster.md). + + To download the cluster definition together with content bundle, provide the following flags to the build command. + + ``` + ./palette-edge build --api-key \ + --project-id \ + --cluster-profile-ids \ + --palette-endpoint \ + --outfile \ + --cred-file-path \ + --include-palette-content \ + --cluster-definition-name \ + --cluster-definition-profile-ids + ``` + + Compared with the previous command, this command has two additional flags. + + | Flag | Description | + | ---------------------------------- | --------------------------------------------------------------------- | + | `--cluster-definition-name` | Filename of the cluster definition tgz file. | + | `--cluster-definition-profile-ids` | List of cluster profile IDs to be included in the cluster definition. | + + This command will produce another document named **CLUSTER_DEFINITION_FILENAME.tgz** at the root directory of + CanvOS. This is the cluster definition file. Your content bundle will not be affected by the additional flags and + will still be at the same location. + +## Validate + +You can validate that the ISO image has not been corrupted by attempting to flash a bootable device. Most software that +creates a bootable device will validate the ISO image before the flash process. + +## Next Steps + +Your next step is to build the Edge artifacts so that you can deploy an Edge host. To create an Edge artifacts, check +out the [Build Images](../../edgeforge-workflow/palette-canvos/palette-canvos.md) guide. diff --git a/docs/docs-content/clusters/edge/edgeforge-workflow/palette-canvos/build-installer-iso.md b/docs/docs-content/clusters/edge/edgeforge-workflow/palette-canvos/build-installer-iso.md index 86976ee5c8..c1d3066b91 100644 --- a/docs/docs-content/clusters/edge/edgeforge-workflow/palette-canvos/build-installer-iso.md +++ b/docs/docs-content/clusters/edge/edgeforge-workflow/palette-canvos/build-installer-iso.md @@ -58,7 +58,8 @@ process. - 4 CPU - 8 GB memory - - 50 GB storage + - 150 GB storage. If you plan on using a content bundle, the actual storage will depend on the size of the content + bundle you will use to build the Edge installer ISO image. ## Instructions @@ -135,7 +136,7 @@ If you do not include content bundle in your Edge Installer ISO, you can still b a disconnected Edge host instance via the [local UI](../../local-ui/local-ui.md). For more information, refer to [Upload Content Bundle](../../local-ui/cluster-management/upload-content-bundle.md). -8. Refer to [Build Content Bundle](../build-content-bundle.md) to learn how to build content bundles for your ISO image. +8. Refer to [Build Content Bundle](build-content-bundle.md) to learn how to build content bundles for your ISO image. Since you are including the content bundle in the Installer ISO, you should choose either the zst format or the tar format for the content bundle. Do not build the content bundle as an ISO image. diff --git a/docs/docs-content/clusters/edge/edgeforge-workflow/palette-canvos/build-provider-images.md b/docs/docs-content/clusters/edge/edgeforge-workflow/palette-canvos/build-provider-images.md index ba3fc0097b..25ddf19c20 100644 --- a/docs/docs-content/clusters/edge/edgeforge-workflow/palette-canvos/build-provider-images.md +++ b/docs/docs-content/clusters/edge/edgeforge-workflow/palette-canvos/build-provider-images.md @@ -37,7 +37,7 @@ artifacts at the same time. - 4 CPU - 8 GB memory - - 50 GB storage + - 150 GB storage - [Git](https://git-scm.com/downloads). You can ensure git installation by issuing the `git --version` command. diff --git a/docs/docs-content/clusters/edge/edgeforge-workflow/palette-canvos/fips.md b/docs/docs-content/clusters/edge/edgeforge-workflow/palette-canvos/fips.md index 731c5b9f16..2075c80f19 100644 --- a/docs/docs-content/clusters/edge/edgeforge-workflow/palette-canvos/fips.md +++ b/docs/docs-content/clusters/edge/edgeforge-workflow/palette-canvos/fips.md @@ -35,7 +35,8 @@ This page guides you through the process of building FIPS-compliant Edge Install - 4 CPU - 8 GB memory - - 50 GB storage + - 150 GB storage. If you plan on using a content bundle, the actual storage will depend on the size of the content + bundle you will use to build the Edge installer ISO image. - Depending on the Operating System (OS) you want to use on your Edge host, you will need the following subscription credentials: @@ -102,6 +103,16 @@ image with. +:::warning + +When you create a cluster with an Edge host that operates the FIPS-compliant RHEL Operating System (OS), you may +encounter an error where the `systemd-resolved.service` service enters the **failed** state. This prevents the +nameserver from being configured, which will result in cluster deployment failure. Refer to +[TroubleShooting](../../../../troubleshooting/edge.md#scenario---systemd-resolvedservice-enters-failed-state) for a +workaround. + +::: + 5. Change into the **rhel-fips** directory. 6. In the file **Dockerfile**, provide your RHEL subscription username and password. diff --git a/docs/docs-content/clusters/edge/edgeforge-workflow/prepare-user-data.md b/docs/docs-content/clusters/edge/edgeforge-workflow/prepare-user-data.md index 8bad7fb2c6..5eaeff51c3 100644 --- a/docs/docs-content/clusters/edge/edgeforge-workflow/prepare-user-data.md +++ b/docs/docs-content/clusters/edge/edgeforge-workflow/prepare-user-data.md @@ -272,6 +272,39 @@ stages: passwd: kairos ``` +### Create Bind Mounts + +Palette Edge allows you to create bind mounts from your Edge host to your cluster through the installer configuration +file named **user-data**, which allows your cluster to use directories or files from your Edge host directly within your +Kubernetes cluster. This setup is useful for scenarios where your applications are active in the cluster and need direct +access to files or directories on the Edge host. + +Several packs require you set up bind mounts in order to function. For example, the +[Portworx pack](../../../integrations/portworx.md) requires several folders to be mounted on Edge deployments. You can +use the `install.bind_mounts` parameter to specify folders to be mounted. For example, the following user data mounts +three folders required by Portworx from the Edge host to the cluster. + +```yaml +#cloud-config +stylus: + site: + debug: true + insecureSkipVerify: false + paletteEndpoint: api.console.spectrocloud.com + name: edge-appliance-1 + caCerts: + - | + -----BEGIN CERTIFICATE----- + + -----END CERTIFICATE----- + +install: + bind_mounts: + - /etc/pwx + - /var/lib/osd + - /var/cores +``` + ## Multiple User Data Use Case If you don't need to apply any unique configurations on the device once it arrives at the physical site, then your site diff --git a/docs/docs-content/clusters/edge/hardware-requirements.md b/docs/docs-content/clusters/edge/hardware-requirements.md index 93606229df..58dc947e21 100644 --- a/docs/docs-content/clusters/edge/hardware-requirements.md +++ b/docs/docs-content/clusters/edge/hardware-requirements.md @@ -36,6 +36,16 @@ All Edge hosts must meet the following minimum hardware requirements. ARM64 support is only verified for the Nvidia Jetson Orin device family. +## Trusted Boot + +To use Trusted Boot, your Edge host must meet the following additional requirements: + +- Edge host must have a Trusted Plat Module (TPM) 2.0 or later. +- Edge host must support Unified Extensible Firmware Interface (UEFI) boot options. +- Edge host must be capable of booting Extensible Firmware Interface (EFI) files of size 850 MB or greater. Refer to + [Check Hardware EFI Boot Limit](/docs/docs-content/clusters/edge/trusted-boot/edgeforge/check-efi-limit.md) for a + rough estimate of your EFI boot limit. For a more precise determination, contact sales@spectrocloud.com. + ## Virtual Machine Operator (VMO) To operate VMO on edge clusters, the CPUs of the constituent Edge hosts must have the following virtualization diff --git a/docs/docs-content/clusters/edge/local-ui/cluster-management/cluster-management.md b/docs/docs-content/clusters/edge/local-ui/cluster-management/cluster-management.md index dd18212e4b..12169d024b 100644 --- a/docs/docs-content/clusters/edge/local-ui/cluster-management/cluster-management.md +++ b/docs/docs-content/clusters/edge/local-ui/cluster-management/cluster-management.md @@ -1,7 +1,7 @@ --- -sidebar_label: "Cluster Management" -title: "Cluster Management" -description: "Instructions for cluster management with Local UI." +sidebar_label: "Cluster Operations" +title: "Cluster Operations" +description: "Learn about the various cluster operations you can perform from the local UI." hide_table_of_contents: false sidebar_position: 32 tags: ["edge"] diff --git a/docs/docs-content/clusters/edge/local-ui/cluster-management/create-cluster.md b/docs/docs-content/clusters/edge/local-ui/cluster-management/create-cluster.md index c97c862905..ae895edd68 100644 --- a/docs/docs-content/clusters/edge/local-ui/cluster-management/create-cluster.md +++ b/docs/docs-content/clusters/edge/local-ui/cluster-management/create-cluster.md @@ -3,7 +3,7 @@ sidebar_label: "Create Local Cluster" title: "Create Local Cluster" description: "Instructions for creating a locally manageg cluster in Edge Host Management Console." hide_table_of_contents: false -sidebar_position: 32 +sidebar_position: 30 tags: ["edge"] --- @@ -16,7 +16,7 @@ cluster using Local UI. ## Limitations -- You can only create single node clusters consisting solely of the Edge host you create the cluster from. You cannot +- You can only create single-node clusters consisting solely of the Edge host you create the cluster from. You cannot include other Edge hosts in the same local or remote network. ## Prerequisites @@ -27,7 +27,7 @@ cluster using Local UI. - You have uploaded the necessary software artifacts to the Edge host or included the artifacts in the Edge Installer ISO during EdgeForge. For more information, refer to [Upload Content Bundle](./upload-content-bundle.md) and - [Build Edge Artifacts with Content Bundle](../../edgeforge-workflow/palette-canvos/build-artifacts.md). + [Build Content Bundle](../../edgeforge-workflow/palette-canvos/build-content-bundle.md). - You must ensure that the Edge host has a stable IP address. You have the following options to achieve a stable IP address: @@ -43,7 +43,7 @@ cluster using Local UI. 1. Log into the local UI by visiting the 5080 port of your Edge device's IP address or domain name. For more information, refer to [Access Local UI](../host-management/access-console.md). -2. From the left **Main Menu**, click **Clusters**. +2. From the left **Main Menu**, click **Cluster**. 3. Click **Create cluster**. @@ -66,7 +66,10 @@ cluster using Local UI. 6. If your selected cluster profile has profile variables, you will now be prompted to enter the values for those profile variables. The variables with default values will be auto-populated unless the variable value is masked when - you defined the variable. Enter the values for the profile variables and click **Next**. + you defined the variable. For more information on cluster profile variables, refer to + [Define and Manage Profile Variables](../../../../profiles/cluster-profiles/create-cluster-profiles/define-profile-variables.md). + + Enter the values for the profile variables and click **Next**. 7. In the **Cluster Config** step, enter a virtual IP address to be used by your cluster. Optionally, you can also specify a Network Time Protocol server and an SSH public key. @@ -91,4 +94,4 @@ cluster using Local UI. 1. Log in to the local UI. -2. Click **Clusters**. Verify that you cluster has entered the running status. +2. Click **Cluster**. Verify that your cluster has entered the running status. diff --git a/docs/docs-content/clusters/edge/local-ui/cluster-management/export-cluster-definition.md b/docs/docs-content/clusters/edge/local-ui/cluster-management/export-cluster-definition.md index b8a3e4a87e..cab3b34a9b 100644 --- a/docs/docs-content/clusters/edge/local-ui/cluster-management/export-cluster-definition.md +++ b/docs/docs-content/clusters/edge/local-ui/cluster-management/export-cluster-definition.md @@ -3,18 +3,163 @@ sidebar_label: "Export Cluster Definition" title: "Export Cluster Definition" description: "Instructions for exporting cluster definition." hide_table_of_contents: false -sidebar_position: 32 +sidebar_position: 50 tags: ["edge"] --- You can export cluster definitions from a cluster in Palette and use the definition to provision a cluster in an Edge host. A cluster definition contains one or more cluster profiles, including the profile variables used in the profiles. +You can use either the Palette Edge CLI to export the cluster definition or use the Palette API. The CLI offers a more +user-friendly interface, but requires a machine with X86_64 architecture. If you are on an ARM64 machine such as Apple +Silicon, use the API approach instead. + :::preview ::: -## Prerequisites +## Export Cluster Definition with Palette Edge CLI + +### Prerequisites + +- At least one [cluster profile](/docs/docs-content/profiles/cluster-profiles/cluster-profiles.md) in Palette. + +- A Palette API key. For more information on how to create a Palette API key, refer to + [Create API Key](/docs/docs-content/user-management/authentication/api-key/create-api-key.md). + +- A physical or virtual Linux machine with _AMD64_ (also known as _x86_64_) processor architecture. You can issue the + following command in the terminal to check your processor architecture. + + ```bash + uname -m + ``` + +### Instructions + +1. Download Palette Edge Content CLI and assign the executable bit to the CLI. + + ```shell + VERSION=4.1.2 + wget https://software.spectrocloud.com/stylus/v$VERSION/cli/linux/palette-edge + chmod +x palette-edge + ``` + +2. Use the following command to move the palette-edge binary to the **/usr/local/bin** directory to make the binary + available in your system $PATH. This will allow you to issue the `palette-edge` command from any directory in your + development environment. + + ```bash + mv palette-edge /usr/local/bin + ``` + +3. Verify the installation of the Palette Edge CLI by issuing the following command. The output will display a list of + available commands and flags for the CLI. + + ```bash + palette-edge --help + ``` + + ```hideClipboard bash + Usage: + palette-edge-cli [command] + + Available Commands: + build Build the content + build-from-local + deploy + help Help about any command + show Display all the preset default values and supported OS and K8S flavors + upload + + Flags: + --config string config file (default is $HOME/.palette-edge-cli.yaml) + --debug set to enable debug logging [default: false] + -h, --help help for palette-edge-cli + --logfile string log file name + --trace set to enable trace logging [default: false] + + Use "palette-edge-cli [command] --help" for more information about a command. + ``` + +4. Log in to [Palette](https://console.spectrocloud.com). + +5. Select the project you want to deploy the Edge host to and copy down the **Project ID**. You can find the project id + at the top right side corner of the landing page below the **User drop-down Menu**. + +6. Navigate to the left **Main Menu** and select **Profiles**. + +7. Use the **Cloud Types drop-down Menu** and select **Edge Native**. + +8. Click on the cluster profile you want to include in the cluster definition. + +9. You can find the cluster profile ID by reviewing the URL of the current page. The cluster profile ID is the last + value in the URL. Repeat this step for all the cluster profiles you want to include in the cluster definition. + + ```text + https://console.spectrocloud.com/projects/yourProjectId/profiles/cluster/ + ``` + + Make sure the combination of profiles you choose to export can be used to provision a cluster together. This means + that you cannot include more than one profile that has infrastructure layers and cannot have duplicate packs between + the profiles. + +10. Issue the following command to export the cluster definition. + + ```shell + palette-edge-cli build --api-key \ + --project-id \ + --palette-endpoint \ + --cluster-definition-name \ + --cluster-definition-profile-ids + ``` + + | Flag | Description | + | ---------------------------------- | --------------------------------------------------------------------- | + | `--api-key` | Your Palette API key. | + | `--palette-endpoint` | API endpoint for your Palette instance. | + | `--project-id` | The ID of your Palette project. | + | `--cluster-definition-name` | Filename of the cluster definition tgz file. | + | `--cluster-definition-profile-ids` | List of cluster profile IDs to be included in the cluster definition. | + +11. (Optional) You can also build a content bundle together with your cluster definition in a single command by adding a + few additional flags to the command. Content bundles are archives of all the required container images required for + one or more cluster profiles. You can upload a content bundle to your Edge host through the local UI, and use the + resources in the content bundle to provision clusters without a connection to external networks. For more + information, refer to [Build Content Bundles](../../edgeforge-workflow/palette-canvos/build-content-bundle.md). + + ```shell + palette-edge build --api-key \ + --project-id \ + --cluster-profile-ids \ + --palette-endpoint \ + --outfile \ + --cred-file-path \ + --include-palette-content \ + --cluster-definition-name \ + --cluster-definition-profile-ids + ``` + + | Flag | Description | + | --------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | + | `--cluster-profile-ids` | Comma-separated list of cluster profile IDs to download content for. | + | `--cred-file-path` | Path to the JSON file storing registry credentials if you are using a private registry. Refer to [Build Content Bundles](../../edgeforge-workflow/palette-canvos/build-content-bundle.md) for the expected schema of the JSON file. | + | `--include-palette-content` | Whether to include content necessary for Palette itself. Required for airgap installations. | + | `--outfile` | Name of your content bundle. The final file name should have the following pattern: `core--random-string`. | + +### Validate + +1. Log in to the [local UI](../host-management/access-console.md). + +2. From the left **Main Menu**, click on **Cluster**. + +3. Try creating a cluster with the exported cluster definition. For more information, refer to + [Create a Local Cluster](../cluster-management/create-cluster.md). + +4. A successful cluster definition export will display the correct profile layers from the cluster creation view. + +## Export Cluster Definition with Palette API + +### Prerequisites - At least one [cluster profile](/docs/docs-content/profiles/cluster-profiles/cluster-profiles.md) in Palette. @@ -24,7 +169,7 @@ host. A cluster definition contains one or more cluster profiles, including the - curl is installed on your machine. You can also use API management tools such as Postman. This document uses curl as an example. -## Export Cluster Definition +### Instructions 1. Log in to [Palette](https://console.spectrocloud.com). @@ -90,7 +235,7 @@ host. A cluster definition contains one or more cluster profiles, including the }' ``` -## Validate +### Validate 1. Log in to the [local UI](../host-management/access-console.md). diff --git a/docs/docs-content/clusters/edge/local-ui/cluster-management/update-cluster.md b/docs/docs-content/clusters/edge/local-ui/cluster-management/update-cluster.md new file mode 100644 index 0000000000..921ff7e66d --- /dev/null +++ b/docs/docs-content/clusters/edge/local-ui/cluster-management/update-cluster.md @@ -0,0 +1,71 @@ +--- +sidebar_label: "Update Local Cluster" +title: "Update Local Cluster" +description: "Instructions for updating a locally manageg cluster in Edge Host Management Console." +hide_table_of_contents: false +sidebar_position: 40 +tags: ["edge"] +--- + +You can update existing local clusters from the local UI by uploading a new cluster profile version. This guide explains +how to update an existing cluster in local UI. + +:::preview + +::: + +## Prerequisites + +- Network access to the Edge device’s IP and port where the local UI is exposed. The default port is 5080. + +- Credentials to log into the local UI. Any OS user can be used to log in to the local UI. + +- A local cluster created in local UI. For more information, refer to [Create Local Cluster](create-cluster.md). + +## Update Local Cluster + +1. Log into the local UI by visiting the 5080 port of your Edge device's IP address or domain name. For more + information, refer to [Access Local UI](../host-management/access-console.md). + +2. From the left **Main Menu**, select **Cluster**, and then select the **Configuration** tab. + +3. In the upper-right corner, select **Upload Configuration**. + +4. In the **Upload Configuration** wizard, browse or drag and drop the new cluster profile version **.tgz** file. Once + the upload finishes, select **Review Changes**. + + To learn more about how to export a cluster profile and import it during this step, refer to + [Export Cluster Definition](./export-cluster-definition.md). + +5. Local UI displays the **Review Changes** modal, where you can review the update summary and verify all incoming + changes to the cluster profile variables. Your current configuration is displayed on the left, and the incoming + changes are displayed on the right. + + For more information on cluster profile variables, refer to + [Define and Manage Profile Variables](../../../../profiles/cluster-profiles/create-cluster-profiles/define-profile-variables.md). + +6. Click each profile variable and review the changes. You can specify values for new profile variables, override the + incoming default values, or leave the incoming changes as is, depending on your local cluster configuration. + + :::info + + If your current cluster configuration overrides the default profile variable values, local UI will preserve your + configuration in case the update introduces new defaults. To use the new default values, click **Use default** in the + respective profile variable field. + + ::: + +7. Once all incoming changes have the **Reviewed** status, click **Confirm Changes**. + +8. Review all profile variables on the **Configuration** tab to make sure that the cluster configuration matches your + expectations. + +9. In the bottom-left corner, click **Update**. + +## Validate + +1. Log in to the local UI. + +2. From the left **Main Menu**, select **Cluster**. + +3. Verify that your cluster is in the **Running** status. diff --git a/docs/docs-content/clusters/edge/local-ui/cluster-management/upload-content-bundle.md b/docs/docs-content/clusters/edge/local-ui/cluster-management/upload-content-bundle.md index 22129fe76c..e5065c7434 100644 --- a/docs/docs-content/clusters/edge/local-ui/cluster-management/upload-content-bundle.md +++ b/docs/docs-content/clusters/edge/local-ui/cluster-management/upload-content-bundle.md @@ -3,7 +3,7 @@ sidebar_label: "Upload Content Bundle" title: "Upload Content Bundle" description: "Instructions for building and uploading content to Edge hosts." hide_table_of_contents: false -sidebar_position: 32 +sidebar_position: 60 tags: ["edge"] --- @@ -23,9 +23,9 @@ console. - An Edge host with installed with Edge Installer 4.3 or later using the `airgapped` install mode. - You have built a content bundle that's necessary for provisioning a cluster using your intended cluster profile. For - more information, refer to [Build Content Bundles](../../edgeforge-workflow/build-content-bundle.md). Ensure that you - include the `--include-palette-content` flag when building the content bundle to include images for Palette - components. + more information, refer to [Build Content Bundles](../../edgeforge-workflow/palette-canvos/build-content-bundle.md). + Ensure that you include the `--include-palette-content` flag when building the content bundle to include images for + Palette components. - Network access to the Edge host's port where the local UI is exposed. The default port is 5080. diff --git a/docs/docs-content/clusters/edge/local-ui/host-management/custom-link.md b/docs/docs-content/clusters/edge/local-ui/host-management/custom-link.md new file mode 100644 index 0000000000..eb0095278d --- /dev/null +++ b/docs/docs-content/clusters/edge/local-ui/host-management/custom-link.md @@ -0,0 +1,153 @@ +--- +sidebar_label: "Add Custom Links to Sidebar" +title: "Add Custom Links to Sidebar" +description: "Instructions for adding custom links to the Local UI side bar." +hide_table_of_contents: false +sidebar_position: 100 +tags: ["edge"] +--- + +Palette allows you to add custom links to the sidebar of local UI. These links allow you to integrate your own web +applications with the local UI. When you click on a custom link, it can either open the page within the local UI +interface or open a new tab in your browser depending on how to configure the links. + +:::preview + +::: + +## Prerequisites + +- The process to add custom links prior to deployment is based on the EdgeForge process. We recommend that you + familiarize yourself with [EdgeForge](../../edgeforge-workflow/edgeforge-workflow.md) and the process to build Edge + artifacts. + +- A physical or virtual Linux machine with _AMD64_ (also known as _x86_64_) processor architecture to build the Edge + artifacts. You can issue the following command in the terminal to check your processor architecture. + + ```bash + uname -m + ``` + +- Minimum hardware configuration of the Linux machine: + + - 4 CPU + - 8 GB memory + - 150 GB storage + +- [Git](https://git-scm.com/downloads). You can ensure git installation by issuing the `git --version` command. + +- [Docker Engine](https://docs.docker.com/engine/install/) version 18.09.x or later. You can use the `docker --version` + command to view the existing Docker version. You should have root-level or `sudo` privileges on your Linux machine to + create privileged containers. + +- A [Spectro Cloud](https://console.spectrocloud.com) account. If you have not signed up, you can sign up for a + [free trial](https://www.spectrocloud.com/free-tier/). + +## Customize theme during EdgeForge + +1. Clone the **CanvOS** repository. + + ```shell + git clone https://github.com/spectrocloud/CanvOS.git + ``` + +2. Change into the **CanvOS** directory. + + ```shell + cd CanvOS + ``` + +3. View the available tags and use the latest available tag. This guide uses `v4.4.0` as an example. + + ```shell + git tag + git checkout v4.4.0 + ``` + +4. Create a directory called **ui** at the path `CanvOS/ui`. + +5. In the directory, create a file named **customizations.json**. This is the same file where you customize the theme of + the local UI. If the file is already present, there is no need to create a new one. For more information about + customizing the theme of local UI, refer to [Customize Local UI Theme](./theming.md). + +6. If you want local UI to host static web pages that you want your users to be able to access from the sidebar, put the + HTML files in the **ui** folder. The HTML file may link to JavaScript and CSS files. Ensure that your HTML file can + reference its assets. We suggest that you put all assets for specific web pages in one folder. The hosted static + sites are exposed through HTTPS with a self-signed certificate. + + For example, you can put the following content inside the **ui** folder. + + ```text + |-ui + |--customizations.json + |--app + |--index.html + |--index.js + |--index.css + ``` + + When using an URL to locate the local webpage, you can treat the **ui** folder as the root folder and you must use + absolute paths to locate your assets. For example, you can locate the HTML file in the example with + `/app/index.html`. + +7. Populate the file with the following schema. Each link requires one object with the `label` and `url` properties. + + ```json + { + "links": [ + { + "label": "Google", + "url": "https:/www.google.com", + "type": "iframe" + }, + { + "label": "Google 2", + "url": "https:/www.google.com" + }, + { + "label": "Docs", + "url": "https:/docs.googlee.com", + "group": "Example" + }, + { + "label": "Maps", + "url": "/app/index.html", + "group": "Example" + } + ] + } + ``` + + Link objects with `"type": "iframe"` means the link will open within the local UI interface in an iframe. Link + objects without `"type": "iframe"` will open a new tab instead. + + :::warning + + Some websites and domains cannot be embedded as iframes due to security configurations. Confirm whether the sites you + can be loaded through iframes before configuring them. If they cannot be loaded as iframes, do not use the + `type: iframe` property. + + ::: + +8. You can add a group attribute to each link. Links sharing the same group are grouped together in the side bar. + + ![A screenshot of the sidebar with custom links](/clusters_edge_localui_custom-link-sidebar.webp) + +9. Ensure you include all the links you want to add to the sidebar before proceeding. You cannot add new links to the + sidebar without rebuilding the installer ISO. + +10. Archive the UI directory to a TAR file. The file must be named **ui.tar** and must be placed at the root directory + of CanvOS. + +11. Follow the [Build Edge Artifacts](../../edgeforge-workflow/palette-canvos/palette-canvos.md) guide from step onward + to finish the EdgeForge process. As long as the **ui.tar** file is at the root directory of **CanvOS** and the + installation mode is set to airgap as required by local UI, the custom links will be added to the sidebar when you + log in to local UI. + +### Validate + +1. Use the ISO you produced to install Palette Edge on an Edge device. + +2. Power up the device and follow [Access Local UI](./access-console.md) to access the Edge management console. + +3. Verify that the custom links you added are reflected in the sidebar. diff --git a/docs/docs-content/clusters/edge/local-ui/host-management/diagnostic-tools.md b/docs/docs-content/clusters/edge/local-ui/host-management/diagnostic-tools.md new file mode 100644 index 0000000000..c2b6221a2e --- /dev/null +++ b/docs/docs-content/clusters/edge/local-ui/host-management/diagnostic-tools.md @@ -0,0 +1,113 @@ +--- +sidebar_label: "Network Diagnostic Tools" +title: "Network Diagnostic Tools" +description: "Instructions for using diagnostic tools within the local UI." +hide_table_of_contents: false +sidebar_position: 80 +tags: ["edge"] +--- + +Local UI includes the ping and traceroute diagnostic tools. These tools have the same functionality as the command-line +tools, but are accessible through a web interface. You can use these diagnostic tools to help troubleshoot network +issues without having to establish an SSH connection to your Edge host. + +In air-gapped environments, you can use these tools to verify the connection to an endpoint within the network. For +air-gapped clusters with proxy or in connected environments, you can use these tools to verify the connection to an +endpoint outside the network, based on the scope of the connectivity. For example, these tools are useful to check if +the Edge Host can connect to the internet or an external registry or to make sure there is no external connectivity in +an air-gapped environment. + +## Use Ping to Test Network Connection + +### Prerequisites + +- You have access to local UI. + +### Use Ping to Check Connection to a Specific Endpoint + +1. Log in to the [local UI](./access-console.md). + +2. From the left **Main Menu**, click **Diagnostics**. + +3. From the **Diagnostics** page, click on the **Connectivity** tab. + +4. Click on **Ping**. + +5. In the **endpoint** field, enter the endpoint you would like to test the connection to. For example, if you want to + make sure your Edge host has connection to a image registry within your network at 10.10.153.43:8000, you would enter + 10.10.153.43:8000. + +6. Click **Run**. + +7. If ping produces output similar to the following, you are connected to the endpoint. + + ``` + 64 bytes from 10.10.153.43: icmp_seq=0 ttl=112 time=13.208 ms + 64 bytes from 10.10.153.43: icmp_seq=1 ttl=112 time=7.184 ms + 64 bytes from 10.10.153.43: icmp_seq=2 ttl=112 time=7.748 ms + 64 bytes from 10.10.153.43: icmp_seq=3 ttl=112 time=6.724 ms + 64 bytes from 10.10.153.43: icmp_seq=4 ttl=112 time=6.394 ms + 64 bytes from 10.10.153.43: icmp_seq=5 ttl=112 time=8.540 ms + 64 bytes from 10.10.153.43: icmp_seq=6 ttl=112 time=7.160 ms + ``` + + If ping produces output containing messages such as "Destination Host Unreachable" or "100% packet loss," then you + are not connected to the endpoint. + +### Validate + +Depending on the endpoint you are trying to test, you can use other tools to validate the results of ping. For example, +if you are trying to reach a REST API endpoint, you can use curl to make an HTTP request to the endpoint to validate the +results of ping. + +## Use Traceroute to Test Network Connection + +The traceroute diagnostic tool is similar to ping, but it produces more detailed output in that it displays the route to +a destination. Traceroute is useful for you to determine at which point along the path the packets are being delayed or +lost. + +### Prerequisites + +- You have access to local UI. + +### Use Traceroute to Check Connection to a Specific Endpoint + +1. Log in to the [local UI](./access-console.md). + +2. From the left **Main Menu**, click **Diagnostics**. + +3. From the **Diagnostics** page, click on the **Connectivity** tab. + +4. Click on **Traceroute**. + +5. In the **endpoint** field, enter the endpoint you would like to test the connection to. For example, if you are + having DNS issues and want to test your connection to your DNS server at 203.0.113.4, you would input 203.0.113.4. + +6. Click **Run**. + +7. If traceroute produces output similar to the following, you can tell from the response which part of the network is + having issues. + + ``` + traceroute to 203.0.113.4 (203.0.113.4), 30 hops max, 60 byte packets + 1 192.168.1.1 (192.168.1.1) 1.242 ms 1.013 ms 1.004 ms + 2 10.245.32.1 (10.245.32.1) 11.123 ms 10.896 ms 10.876 ms + 3 100.64.0.2 (100.64.0.2) 20.455 ms 20.431 ms 20.409 ms + 4 172.16.0.1 (172.16.0.1) 30.678 ms 30.654 ms 30.635 ms + 5 * * * + 6 * * * + 7 * * * + 8 * 203.0.113.4 (203.0.113.4) 100.123 ms * + ``` + + Hops one through four produced normal responses, possibly indicating that the network between the host and your + Internet Service Provider (ISP) has no issues. Hops five through seven received no response. Finally, hop eight + received only one response out of three requests, and the one response took significantly longer. This often + indicates that there are some network issues at or near the DNS server. + +### Validate + +Depending on the endpoint you are trying to reach, you can use different methods to validate the results. For example, +if you are observing issues near the DNS server, you can try to specify a well-known DNS server such as 8.8.8.8 (Google +Public DNS) to test if it improves the connection. If it does, this can help validate the initial traceroute results +pointed towards a DNS issue. diff --git a/docs/docs-content/clusters/edge/local-ui/host-management/theming.md b/docs/docs-content/clusters/edge/local-ui/host-management/theming.md index 24f0d82404..3925f91436 100644 --- a/docs/docs-content/clusters/edge/local-ui/host-management/theming.md +++ b/docs/docs-content/clusters/edge/local-ui/host-management/theming.md @@ -63,7 +63,8 @@ console for all Edge hosts of your organization. 3. Create a directory called **ui** at the path `CanvOS/ui`. -4. In the directory, create a file named **customizations.json**. +4. In the directory, create a file named **customizations.json**. This is the same file you can use to add custom links + to your sidebar. For more information, refer to [Add Custom Links to Local UI](./custom-link.md). 5. Upload a logo you'd like to use for the local UI to the **ui** directory. All file types are allowed. We recommend you limit the height of the logo image to between 64 px and 120 px. If you don't upload a logo, the local UI will use diff --git a/docs/docs-content/clusters/edge/local-ui/local-ui.md b/docs/docs-content/clusters/edge/local-ui/local-ui.md index 8eda9688ff..70363cda62 100644 --- a/docs/docs-content/clusters/edge/local-ui/local-ui.md +++ b/docs/docs-content/clusters/edge/local-ui/local-ui.md @@ -20,9 +20,9 @@ connections to a Palette instance. :::warning -Local UI on works for Edge deployment in disconnected environments. A disconnected environment means that the Edge host -does not have a connection to a Palette instance. Do not use the local UI if your cluster has a connection to a Palette -instance. +Local UI only works for Edge deployments in disconnected environments. A disconnected environment means that the Edge +host does not have a connection to a Palette instance. Do not use the local UI if your cluster has a connection to a +Palette instance. ::: diff --git a/docs/docs-content/clusters/edge/site-deployment/deploy-cluster.md b/docs/docs-content/clusters/edge/site-deployment/deploy-cluster.md index 2320290300..ba2512ecad 100644 --- a/docs/docs-content/clusters/edge/site-deployment/deploy-cluster.md +++ b/docs/docs-content/clusters/edge/site-deployment/deploy-cluster.md @@ -499,7 +499,7 @@ is an explanation of the options and sub-command used below: - The `-force` flag destroys any existing template. - The `--var-file` option reads the **vsphere.hcl** file from the container. This file contains the VM template name, VM configuration, and ISO file name to use. The VM configuration conforms to the - [minimum device requirements](../architecture.md#minimum-device-requirements). + [minimum device requirements](../hardware-requirements.md). The **vsphere.hcl** file content is shown below for your reference. This tutorial does not require you to modify these configurations. @@ -1058,7 +1058,7 @@ To learn more about Edge, check out the resources below. - [Build Edge Artifacts](../edgeforge-workflow/palette-canvos/palette-canvos.md) -- [Build Content Bundle](../edgeforge-workflow/build-content-bundle.md) +- [Build Content Bundle](../edgeforge-workflow/palette-canvos/build-content-bundle.md) - [Model Edge Native Cluster Profile](../site-deployment/model-profile.md) diff --git a/docs/docs-content/clusters/edge/site-deployment/deploy-custom-registries/local-registry.md b/docs/docs-content/clusters/edge/site-deployment/deploy-custom-registries/local-registry.md index b16ae5f202..1715d1541f 100644 --- a/docs/docs-content/clusters/edge/site-deployment/deploy-custom-registries/local-registry.md +++ b/docs/docs-content/clusters/edge/site-deployment/deploy-custom-registries/local-registry.md @@ -14,7 +14,7 @@ allows your Edge cluster to reboot containers or add new nodes without being con If you specified the installation mode of the Edge Installer to be `airgap`, any images that were included in the Edge Installer ISO will also be loaded into the Harbor registry. For more information about building content bundles, refer -to [Build Content Bundle](../../edgeforge-workflow/build-content-bundle.md) and +to [Build Content Bundle](../../edgeforge-workflow/palette-canvos/build-content-bundle.md) and [Build Edge Artifacts with Content Bundles](../../edgeforge-workflow/palette-canvos/palette-canvos.md). If you enable the local Harbor registry on a cluster, the Palette agent will pull all images requested by the cluster diff --git a/docs/docs-content/clusters/edge/site-deployment/initial-setup.md b/docs/docs-content/clusters/edge/site-deployment/initial-setup.md index 457737dfed..05fc5618a6 100644 --- a/docs/docs-content/clusters/edge/site-deployment/initial-setup.md +++ b/docs/docs-content/clusters/edge/site-deployment/initial-setup.md @@ -1,6 +1,6 @@ --- sidebar_label: "Initial Edge Host Configuration" -title: "Initial Edge Host Configuration" +title: "Initial Edge Host Configuration with Palette TUI" description: "Instructions for configuring the Edge host when booting up the Edge host for the first time." hide_table_of_contents: false sidebar_position: 32 @@ -20,7 +20,7 @@ For more information about EdgeForge and site user data, refer to :::warning If you are upgrading to 4.3 from an older version, the initial configuration does not get triggered. If you want to -perform the setup, you can issue the command `spectro-edge-console` in the terminal to trigger it manually. +perform the setup, you can issue the command `palette-tui` in the terminal to trigger it manually. ::: @@ -40,10 +40,9 @@ perform the setup, you can issue the command `spectro-edge-console` in the termi 1. Power up the Edge host. Do not make any input and allow Palette to choose the boot option automatically. If this is the first time you've started the Edge host since installation, you will be automatically directed to the TUI. - If you are accessing the Edge host with an SSH connection, you can issue the command `spectro-edge-console` to bring - up the TUI. You can also use the same command to bring up the TUI if you have gone through the initial setup in the - TUI and want to change any configuration. However, you can only do this before you have deployed a cluster on the - Edge host. + If you are accessing the Edge host with an SSH connection, you can issue the command `palette-tui` to bring up the + TUI. You can also use the same command to bring up the TUI if you have gone through the initial setup in the TUI and + want to change any configuration. However, you can only do this before you have deployed a cluster on the Edge host. 2. If you have already configured a user in your **user-data** file in the EdgeForge step, this step will be skipped automatically. diff --git a/docs/docs-content/clusters/edge/trusted-boot/deployment-day2/_category_.json b/docs/docs-content/clusters/edge/trusted-boot/deployment-day2/_category_.json new file mode 100644 index 0000000000..c3460c6dbd --- /dev/null +++ b/docs/docs-content/clusters/edge/trusted-boot/deployment-day2/_category_.json @@ -0,0 +1,3 @@ +{ + "position": 30 +} diff --git a/docs/docs-content/clusters/edge/trusted-boot/deployment-day2/deployment-day2.md b/docs/docs-content/clusters/edge/trusted-boot/deployment-day2/deployment-day2.md new file mode 100644 index 0000000000..c33c37622e --- /dev/null +++ b/docs/docs-content/clusters/edge/trusted-boot/deployment-day2/deployment-day2.md @@ -0,0 +1,20 @@ +--- +sidebar_label: "Deployment and Management" +title: "Deployment and Day 2 Operations for Trusted Boot" +description: + "Learn about how to install Palette Edge with Trusted Boot and how to upgrade a cluster in Day-2 operations." +hide_table_of_contents: false +sidebar_position: 20 +tags: ["edge"] +--- + +Once you have built the Edge Installer ISO and have pushed the provider image to an available registry, you can proceed +to installation and Day-2 operations such as upgrading a cluster thereafter. Both the installation process and the +upgrade process for Palette Edge with Trusted Boot are similar to those without Trusted Boot. + +This section discusses how to install Palette Edge with Trusted Boot and how to upgrade a cluster. + +## Resources + +- [Installation](./install.md) +- [Upgrade a Cluster](./upgrade-cluster.md) diff --git a/docs/docs-content/clusters/edge/trusted-boot/deployment-day2/install.md b/docs/docs-content/clusters/edge/trusted-boot/deployment-day2/install.md new file mode 100644 index 0000000000..cd4f654d60 --- /dev/null +++ b/docs/docs-content/clusters/edge/trusted-boot/deployment-day2/install.md @@ -0,0 +1,187 @@ +--- +sidebar_label: "Installation" +title: "Installation with Trusted Boot" +description: "Learn about how to install Palette Edge with Trusted Boot on your Edge device." +hide_table_of_contents: false +sidebar_position: 50 +tags: ["edge"] +--- + +This page guides you through installing Palette Edge with Trusted Boot enabled on an Edge device. Some of the steps +included in this guide involve the Basic Input/Output System (BIOS) interface of the Edge device which varies from +machine to machine. This guide uses the Intel NUC 13 Pro as an example. + +## Prerequisites + +- Edge Installer ISO file. Check out the [Build Edge Artifacts with Trusted Boot](../edgeforge/build-trusted-iso.md) to + learn how to create an Edge Installer ISO with Trusted Boot. +- The ability to modify the boot order settings to boot from a USB drive and to enter the BIOS interface. Typically this + requires you to have a wired keyboard and a monitor to display the interface connected to the Edge device. +- A USB disk containing the installer ISO. + +:::warning + +Before proceeding with installation, check the maximum EFI size that your Edge host is able to boot and compare it +against the installer ISO and provider image. With secure boot enabled and keys enrolled, you won't be able to boot from +the EFI size checking ISO unless you disable secure boot or clear the keys. For more information, refer to +[Check EFI Size and Edge Host Boot Limit](../edgeforge/check-efi-limit.md). + +::: + +## Instructions + +Follow these steps to install Palette Edge with Trusted Boot on your Edge Host. + +### Enroll Secure Boot Keys into Edge Device + +The following steps are written for the Intel NUC 13 Pro device. If you are using a different device, the exact sequence +of steps might be different. However, you should be able to find the same or similarly worded options in any device that +supports Secure Boot. + +1. Insert the USB disk into the Edge device. + +2. Power up your Edge device and enter the BIOS interface. Oftentimes you can accomplish this by pressing F2, F1, or F10 + on the keyboard immediately after powering up the device and before you select a boot volume, as is the case in Intel + NUC 13 Pro. However, the exact method might be different on your Edge device. Consult the manufacturer of your Edge + device to find out how to enter the BIOS interface. + +3. From the BIOS interface, select the **Boot** tab. Then select **Secure Boot**. + +4. From the **Secure Boot Menu**, make sure that secure boot is enabled. Then select **Restore to Setup Mode**. Two + dialogue boxes will pop up to confirm this operation. Select **Yes** to confirm. This will make the device restart. + + :::info + + **User Mode** and **Setup Mode** are UEFI terms. Setting secure boot mode to **Setup Mode** means clearing the keys + that are currently in the device. This allows you to enroll your own keys, while **User Mode** means you have + enrolled your own keys. + + On some Edge hosts, the same actions or functionality might be named differently in the BIOS interface. Consult the + manufacturer of your Edge host to find out how to clear the keys and enroll your own keys. + + ::: + +In the **.arg** file, if you set the `AUTO_ENROLL_SECUREBOOT_KEYS` argument to `true` when you built the installation +ISO, key enrollment will begin automatically the first time the device boots from the installer ISO. You can skip the +following steps to proceed to [Install Palette Edge with Trusted Boot](#install-palette-edge-with-trusted-boot). In +Virtual Machines (VM), keys will always be auto-enrolled. + +5. If you did not set `AUTO_ENROLL_SECUREBOOT_KEYS` to `true` when you built the ISO, you will need to select the + **Enroll Secure Boot keys: Auto** option in the GRUB menu when the Edge host restarts. This will start the key + enrollment process. + + :::warning + + There is currently a known issue where if `AUTO_ENROLL_SECUREBOOT_KEYS` is set to `false`, it's possible for manual + key enrollment to take a few attempts to be successful. + + ::: + +### Install Palette Edge with Trusted Boot + +6. When the keys are finished enrolling, the installation will start automatically after a reboot. Installation + typically takes about 5 minutes, but can vary depending on your hardware. + +7. When installation finishes, the terminal will display the text "Installation has finished, rebooting in 5 seconds" on + your screen. Remove the USB disk from your Edge device. + + :::info + + If you have more than one boot device, it is good security practice to go into the BIOS again and ensure that the + target installation disk is prioritized in the boot sequence. + + ::: + +8. After installation finishes, power up the device. Let your device automatically choose the option from the GRand + Unified Bootloader (GRUB) Menu. It should boot directly to Edge device registration. Refer to + [Edge Host Registration](../../site-deployment/site-installation/edge-host-registration.md) to learn more about Edge + host registration. + +## Validate + +Use the following steps to validate that Trusted Boot has been enabled on your Edge host. This requires you to have +configured a user on your Edge host. Refer to [Installer Reference](../../edge-configuration/installer-reference.md) for +more information. + +1. Press **Alt + right arrow key**, or **Ctrl + Alt + F1**. Replace **Alt** with **Options** on a Mac keyboard. This + will bring up a terminal and allow you to log in with the credentials you configured with the **user-data** file. + + Alternatively, you can establish an SSH connection to your Edge device if you have network access to it. + +2. Issue the following command. + + ```shell + ls -ltr /run/cos/ + ``` + + You should receive an output that's similar to the following. + + ``` + total 12 + -rwxr-xr-x 1 root root 1 Apr 30 15:59 uki_boot_mode + -rwxr-xr-x 1 root root 1 Apr 30 15:59 active_mode + -rw-r--r-- 1 root root 534 Apr 30 15:59 cos-layout.env + ``` + + This confirms that your Edge device was booted with a Unified Kernel Image (UKI), a specific file format tailored to + achieve a tamper-proof system and encryption of persistent partitions. You can confirm that the device was booted + from a UKI by the text `uki_boot_mode`. + +3. Issue the following command to verify disk encryption. + + ```shell + lsblk + ``` + + An output similar to the following is displayed. Verify that the **/oem** portion and various directories containing + sensitive user data are of the `crypt` type and are encrypted. This means that if the boot process is ever altered by + an unauthorized party, they will not be able to gain access to the encrypted data. + + ```hideClipboard + NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS + nvme0n1 259:0 0 476.9G 0 disk + ├─nvme0n1p1 259:1 0 15G 0 part /efi + ├─nvme0n1p2 259:2 0 5G 0 part + │ └─nvme0n1p2 252:0 0 5G 0 crypt /oem + └─nvme0n1p3 259:3 0 456.9G 0 part + └─nvme0n1p3 252:1 0 456.9G 0 crypt /usr/share/pki/trust/anchors + /usr/share/pki/trust + /var/lib/wicked + /var/lib/snapd + /var/lib/rancher + /var/lib/longhorn + /var/lib/kubelet + /var/lib/extensions + /var/lib/dbus + /var/lib/containerd + /var/lib/cni + /etc/ssl/certs + /var/lib/ca-certificates + /etc/zfs + /etc/systemd + /etc/sysconfig + /etc/ssh + /var/snap + /etc/runlevels + /etc/rancher + /etc/modprobe.d + /var/log + /usr/libexec + /etc/kubernetes + /etc/iscsi + /etc/cni + /snap + /root + /opt + /home + /usr/local + ``` + +## Next Steps + +After you have installed Palette Edge on your Edge device with Trusted Boot, the next step is to register the Edge host +and create your cluster. The process of creating a cluster with Trusted Boot enabled is identical to creating a regular +cluster. However, air-gapped clusters are not supported. + +- [Edge Host Registration](../../site-deployment/site-installation/edge-host-registration.md) +- [Cluster Creation](../../site-deployment/site-installation/cluster-deployment.md) diff --git a/docs/docs-content/clusters/edge/trusted-boot/deployment-day2/upgrade-cluster.md b/docs/docs-content/clusters/edge/trusted-boot/deployment-day2/upgrade-cluster.md new file mode 100644 index 0000000000..ddd6fc0021 --- /dev/null +++ b/docs/docs-content/clusters/edge/trusted-boot/deployment-day2/upgrade-cluster.md @@ -0,0 +1,168 @@ +--- +sidebar_label: "Update Cluster" +title: "Update Cluster with Trusted Boot" +description: "Learn about Trusted Boot." +hide_table_of_contents: false +sidebar_position: 60 +tags: ["edge"] +--- + +If you need to make changes to a deployed Edge cluster with Trusted Boot enabled without modifying the Operating System +(OS) or the Kubernetes layer, you can follow the regular cluster upgrade process. Refer to +[Update a Cluster](../../../cluster-management/cluster-updates.md) for more information. However, if the change you are +making involves the OS layer or the Kubernetes layer, you will need to build a new provider image with the same Trusted +Boot keys you used to build the Edge Installer ISO. + +This page guides you through the process of making an update to a cluster that involves the OS or Kubernetes layer of +the cluster. + +## Limitation + +- Palette does not stop the upgrade if the provider image that is not recognized by secure boot. If you upgrade to using + an unrecognized image, you will receive a secure boot violation. This will require you to choose the recovery option + from the GRand Unified Bootloader (GRUB) menu to return the Edge host to boot using the previous image or reinstall + Palette Edge. + +## Prerequisites + +- You have built an Edge Installer ISO with Trusted Boot enabled and used the ISO to deploy a cluster. The Edge hosts + have keys enrolled. + +- You have access to the original keys that were used to build the original ISO and provider images. Refer to + [Build Edge Installer ISO with Trusted Boot](../edgeforge/build-trusted-iso.md) for details. + +- The machine used to build the provider image must meet the minimum hardware requirements: + + - 4 CPUs + - 32 GB RAM + - 150 GB storage + +- [Git](https://www.git-scm.com/downloads). You can ensure git installation by issuing the git --version command. + +## Instructions + +1. If you have access to the original **CanvOS** folder where they provider images were made, and all the necessary keys + are available to you in their original folders, skip to step 5. + +2. Check out the [CanvOS](https://github.com/spectrocloud/CanvOS) GitHub repository containing the starter code. + + ```bash + git clone https://github.com/spectrocloud/CanvOS.git + ``` + +3. Change to the **CanvOS/** directory. + + ```bash + cd CanvOS + ``` + +4. View the available [git tag](https://github.com/spectrocloud/CanvOS/tags). + + ```bash + git tag + ``` + +5. Check out the newest available tag. This guide uses the tag **v4.4.0** as an example. + + ```shell + git checkout v4.4.0 + ``` + +6. Move all keys into folders where they are expected. Ensure all keys that were used to build the ISO are present in + the **secure-boot** folder. The following files and folder structure are expected with the following file + permissions. + + ```shell + ls -llR secure-boot/ + ``` + + ```shell hideClipboard + secure-boot/: + total 16 + drwx------ 2 ubuntu ubuntu 4096 Apr 24 21:08 enrollment + drwxrwxr-x 2 ubuntu ubuntu 4096 May 13 21:25 exported-keys + drwxr-xr-x 2 ubuntu ubuntu 4096 Jun 3 21:34 private-keys + drwxr-xr-x 2 ubuntu ubuntu 4096 Apr 24 21:08 public-keys + + secure-boot/enrollment: + total 48 + -rw-r--r-- 1 ubuntu ubuntu 3666 Apr 24 21:08 KEK.auth + -rw-r--r-- 1 ubuntu ubuntu 2283 Apr 24 21:08 KEK.der + -rw-r--r-- 1 ubuntu ubuntu 2371 Apr 24 21:08 KEK.esl + -rw-r--r-- 1 ubuntu ubuntu 2106 Apr 24 21:08 PK.auth + -rw-r--r-- 1 ubuntu ubuntu 767 Apr 24 21:08 PK.der + -rw-r--r-- 1 ubuntu ubuntu 811 Apr 24 21:08 PK.esl + -rw-r--r-- 1 ubuntu ubuntu 6474 Apr 24 21:08 db.auth + -rw-r--r-- 1 ubuntu ubuntu 5003 Apr 24 21:08 db.der + -rw-r--r-- 1 ubuntu ubuntu 5179 Apr 24 21:08 db.esl + + secure-boot/exported-keys: + total 12 + -rw------- 1 root root 1560 May 13 21:25 KEK + -rw------- 1 root root 4368 May 13 21:25 db + + secure-boot/private-keys: + total 16 + -rw------- 1 ubuntu ubuntu 1704 Apr 24 21:08 db.key + -rw------- 1 ubuntu ubuntu 1675 Apr 24 21:08 tpm2-pcr-private.pem + + secure-boot/public-keys: + total 12 + -rw-r--r-- 1 ubuntu ubuntu 1094 Apr 24 21:08 KEK.pem + -rw-r--r-- 1 ubuntu ubuntu 1094 Apr 24 21:08 PK.pem + -rw-r--r-- 1 ubuntu ubuntu 1094 Apr 24 21:08 db.pem + ``` + + :::warning + + Ensure that the keys in the **secure-boot** folder contains all the keys that were used to produce the ISO, including + the keys in each subdirectory. If you are missing any of the keys, your Edge host will either not be able to boot, or + not be able to access any data in the persistent partitions. + + ::: + +7. Edit the **.arg** file to make changes to the OS or Kubernetes layer. Refer to + [EdgeForge Build Configurations](../../edgeforge-workflow/palette-canvos/arg.md) for more information. + + In particular, pay attention to the following arguments. + + | **Argument** | **Description** | **Allowed Values** | + | ------------------ | ----------------------------------------------------------------------------------------------------- | ------------------------------------ | + | `IS_UKI` | Determines whether to build a provider image that supports Trusted Boot. You must set this to `true`. | `true`, `false`. Default is `false`. | + | `K8S_DISTRIBUTION` | Kubernetes distribution. | `rke2` | + | `OS_DISTRIBUTION` | OS distribution. | `ubuntu` | + | `OS_VERSION` | OS version. This applies to Ubuntu only. | `23.10` | + +8. Issue the following command to build the provider image. + + ```shell + ./earthly.sh +build-provider-images + ``` + + ```hideClipboard bash + # Output condensed for readability + ===================== Earthly Build SUCCESS ===================== + Share your logs with an Earthly account (experimental)! Register for one at https://ci.earthly.dev. + ``` + + You should also receive an output from the build command that contains the OS layer of your cluster profile. Copy and + save it during the later steps. + +9. Issue the following command to push the image to the repository you specified in **.arg**. Replace `IMAGE-TAG` with + the tag of the provider image you just built. Depending on the repository you used, you may be required to + authenticate yourself before pushing to the repository. + + ```shell + docker push [IMAGE-TAG] + ``` + +10. Update the cluster profile to use the new provider image you have built. For more information, refer to + [Update a Cluster](../../../cluster-management/cluster-updates.md). + +## Validate + +1. Log in to [Palette](https://console.spectrocloud.com). + +2. Navigate to the left **Main Menu** and select **Cluster**. + +3. Validate that the new provider image is being used examining the OS and Kubernetes version of the cluster. diff --git a/docs/docs-content/clusters/edge/trusted-boot/edgeforge/_category_.json b/docs/docs-content/clusters/edge/trusted-boot/edgeforge/_category_.json new file mode 100644 index 0000000000..455b8e4969 --- /dev/null +++ b/docs/docs-content/clusters/edge/trusted-boot/edgeforge/_category_.json @@ -0,0 +1,3 @@ +{ + "position": 20 +} diff --git a/docs/docs-content/clusters/edge/trusted-boot/edgeforge/add-extra-content.md b/docs/docs-content/clusters/edge/trusted-boot/edgeforge/add-extra-content.md new file mode 100644 index 0000000000..03a276b3c9 --- /dev/null +++ b/docs/docs-content/clusters/edge/trusted-boot/edgeforge/add-extra-content.md @@ -0,0 +1,129 @@ +--- +sidebar_label: "Add Static Binaries to Persistent Partition" +title: "Add Static Binaries to Persistent Partition with Trusted Boot" +description: "Learn about how to add content to the persistent partition of your Edge host with Trusted Boot." +hide_table_of_contents: false +sidebar_position: 60 +tags: ["edge"] +--- + +During EdgeForge, you are able to customize the resulting installed Operating System (OS) of your Edge host. This allows +you to add various utilities that can be useful in setting up your Edge host and getting it ready for cluster creation +as well as using those utilities for host maintenance. + +However, if you want to use Trusted Boot, the firmware can impose limitations on the maximum size of a bootable +Extensible Firmware Interface (EFI) file. This means that you can no longer add such utilities to your OS as freely as +before. If the EFI becomes too large in size, the Edge host might not be able to boot it. Refer to +[Check EFI Boot Size Limit](./check-efi-limit.md) to learn how to determine if your Edge host is capable of booting the +Edge artifacts. + +If you would like to add software that can be used after the ISO installation, you can instead use the approach +described in this guide to add the compiled static binaries of the software packages to the persistent partition of the +installation partition instead of to the OS image itself. You will be able to access the content both before cluster +formation and after. Because the content is placed in the persistent partitions, it will be encrypted by default. + +## Prerequisites + +- The approach described in this guide is based on EdgeForge. You should become familiar with + [how to use EdgeForge to build ISO with Trusted Boot](./build-trusted-iso.md) before using this approach to add + software packages to your Edge host. + +- A physical or virtual Linux machine with _AMD64_ (also known as x86_64) processor architecture to build the Edge + artifacts. You can issue the following command in the terminal to check your processor architecture. + + ```bash + uname -m + ``` + +- Minimum hardware configuration of the Linux machine: + + - 4 CPU + - 32 GB memory + - 100 GB storage + +- Static compiled binaries of the software package you are adding to the Edge host. + +- [Git](https://www.git-scm.com/downloads). You can ensure git installation by issuing the git --version command. + +## Instructions + +1. Check out the [CanvOS](https://github.com/spectrocloud/CanvOS.git) GitHub repository containing the starter code. + + ```bash + git clone https://github.com/spectrocloud/CanvOS.git + ``` + +2. Change to the **CanvOS/** directory. + + ```bash + cd CanvOS + ``` + +3. View the available [git tag](https://github.com/spectrocloud/CanvOS/tags). + + ```bash + git tag + ``` + +4. Check out the latest available tag. This guide uses **v4.4.0** tag as an example. + + ```shell + git checkout v4.4.0 + ``` + +5. Copy the static binaries of the software packages you'd like to add to the Edge host to **overlay/files-iso/**. + **overlay/files-iso** will be mounted at **/run/initramfs/live/** during installation, enabling the installer to copy + files from there into place during installation. + +6. In your **user-data**, add the following section, and replace `YOUR_FILE` with the name of the static binary file. If + you have multiple files, you should add multiple lines, one line for each file. + + ```yaml {11} + after-install: + - name: Persist iso files + if: '[ -e "/run/cos/uki_install_mode" ]' + commands: + - echo "Copying files to persistent path" + - if mount | grep /usr/local >/dev/null; then umount /usr/local; fi + - for d in /dev/mapper/*; do if [ ! "$d" = "/dev/mapper/control" ]; then cryptsetup close $d; fi; done + - /usr/lib/systemd/systemd-cryptsetup attach persistent $(findfs PARTLABEL=persistent) - tpm2-device=auto + - mount /dev/mapper/persistent /usr/local + - mkdir -p /usr/local/bin + - cp -rfv /run/initramfs/live/YOUR_FILE /usr/local/bin/ + - umount /dev/mapper/persistent + - if [ -e /dev/mapper/persistent ]; then cryptsetup close /dev/mapper/persistent; fi + ``` + + For example, if you want to add `wget` and `ping`, you would put both binaries under **overlay/files-iso** and add + the following to user data. + + ```yaml {11} + after-install: + - name: Persist iso files + if: '[ -e "/run/cos/uki_install_mode" ]' + commands: + - echo "Copying files to persistent path" + - if mount | grep /usr/local >/dev/null; then umount /usr/local; fi + - for d in /dev/mapper/*; do if [ ! "$d" = "/dev/mapper/control" ]; then cryptsetup close $d; fi; done + - /usr/lib/systemd/systemd-cryptsetup attach persistent $(findfs PARTLABEL=persistent) - tpm2-device=auto + - mount /dev/mapper/persistent /usr/local + - mkdir -p /usr/local/bin + - cp -rfv /run/initramfs/live/wget /usr/local/bin/ + - cp -rfv /run/initramfs/live/ping /usr/local/bin/ + - umount /dev/mapper/persistent + - if [ -e /dev/mapper/persistent ]; then cryptsetup close /dev/mapper/persistent; fi + ``` + +7. You have now configured the installer to copy the static binaries you provided to the `/usr/local/bin` folder, which + is included in the `PATH` variable. + + You can perform further customization of the Installer ISO in your **user-data** file and customize the build script + with the **.arg** file before starting the build. Follow + [Build Installer ISO with Trusted Boot](./build-trusted-iso.md) to build the installer ISO. + +## Validate + +1. Follow the [Installation Guide](../deployment-day2/install.md) to install Palette on your Edge host. + +2. Issue the command that evokes the static binary. For example, `wget` and confirm that the software package has been + installed successfully. diff --git a/docs/docs-content/clusters/edge/trusted-boot/edgeforge/build-trusted-iso.md b/docs/docs-content/clusters/edge/trusted-boot/edgeforge/build-trusted-iso.md new file mode 100644 index 0000000000..b008842bc8 --- /dev/null +++ b/docs/docs-content/clusters/edge/trusted-boot/edgeforge/build-trusted-iso.md @@ -0,0 +1,149 @@ +--- +sidebar_label: "Build Edge Installer ISO" +title: "Build Edge Installer ISO with Trusted Boot" +description: "Learn about how to build Edge Installer ISO for Trusted Boot." +hide_table_of_contents: false +sidebar_position: 20 +tags: ["edge"] +--- + +This document guides you through the process of producing Edge Installer ISOs that are secured by Trusted Boot. + +## Limitation + +- Trusted Boot is only supported for clusters with a connection to a Palette instance. Therefore, you cannot set + `installationMode` to `airgap` in the **user-data** file. + +## Prerequisites + +- A physical or virtual Linux machine with _AMD64_ (also known as x86_64) processor architecture to build the Edge + artifacts. You can issue the following command in the terminal to check your processor architecture. + + ```bash + uname -m + ``` + +- Minimum hardware configuration of the Linux machine: + + - 4 CPU + - 32 GB memory + - 100 GB storage + +- You have generated secure boot keys in the **secure-boot/enrollment** folder. +- Both the **db.key** file and the **tpm2-pcr-private.pem** file are located in the **CanvOS/secure-boot/private-keys** + directory. For more information, refer to [Generate Trusted Boot Keys](../keys/generate-keys.md). + +- Familiarity with the [EdgeForge Workflow](../../edgeforge-workflow/edgeforge-workflow.md). + +- [Git](https://www.git-scm.com/downloads). You can ensure git installation by issuing the git --version command. + +- Palette registration token for pairing Edge hosts with Palette. You will need tenant admin access to Palette to + generate a new registration token. For detailed instructions, refer to the + [Create Registration Token](../../site-deployment/site-installation/create-registration-token.md) guide. + +## Instructions + +1. Check out the [CanvOS](https://github.com/spectrocloud/CanvOS.git) GitHub repository containing the starter code. + + ```bash + git clone https://github.com/spectrocloud/CanvOS.git + ``` + +2. Change to the **CanvOS/** directory. + + ```bash + cd CanvOS + ``` + +3. View the available [git tag](https://github.com/spectrocloud/CanvOS/tags). + + ```bash + git tag + ``` + +4. Check out the newest available tag. This guide uses **v4.4.0** tag as an example. + + ```shell + git checkout v4.4.0 + ``` + +5. Create a file named **.arg**. You can use the **.arg.template** file in the repository as a starting point. Refer to + [Edge Artifact Build Configurations](../../edgeforge-workflow/palette-canvos/arg.md) for available configuration + parameters. + + To build an ISO image that supports Trusted Boot, include the following parameters in the **.arg** file. + + ``` + OS_DISTRIBUTION=ubuntu + OS_VERSION=23.10 + IS_UKI=true + AUTO_ENROLL_SECUREBOOT_KEYS=true + ``` + + :::info + + It is not necessary to include `AUTO_ENROLL_SECUREBOOT_KEYS=true`. If you do not include it, you will need to + manually confirm the enrollment of the keys during install time. For more information, refer to + [Installation with Trusted Boot](..//deployment-day2/install.md). + + ::: + +6. Create a file named **user-data**. You can use the **user-data.template** file in the repository as a starting point. + This is the file with which you can configure the Edge installer. Refer to + [Edge Installer Configuration](../../edge-configuration/installer-reference.md) for available configuration + parameters. + + :::warning + + Ensure you have generated the Trusted Boot keys in the **secure-boot/enrollment** folder before proceeding to the + next step. If you build an ISO without the keys in the folder, the key enrollment will not happen. For more + information, refer to [Generate Trusted Boot Keys](../keys/generate-keys.md). + + ::: + +7. Customize the **Dockerfile**. You can install tools and dependencies and configure the image to meet your needs. Add + your customizations below the line tagged with the `Add any other image customizations here` comment in the + Dockerfile. Do not edit or add any lines before this tagged comment. For example, you can add the following line to + the **Dockerfile** to install WireGuard. + + ```dockerfile + ... + ###########################Add any other image customizations here ####################### + + RUN sudo zypper refresh && sudo zypper install --non-interactive wireguard-tools + ``` + + :::warning + + Adding software dependencies in the Dockerfile will cause the size of the Extensible Firmware Interface (EFI) file to + grow. Most hardware has a limit on the size of the EFI that it can boot. Make sure you do not include too many + dependencies that can cause the EFI file to grow larger than the boot limit. For more information, refer to + [Check EFI Boot Limit](./check-efi-limit.md). + + Instead of adding software packages through the Dockerfile to the OS layer, you can add compiled static binaries to + the persistent partition instead, which does not increase the size of the EFI file. Refer to + [Add Static Binaries to Persistent Partition](./add-extra-content.md) for more information. + + ::: + +8. Issue the following command to build the ISO image. + + ```shell + ./earthly.sh +iso + ``` + +## Validate + +List the Edge installer ISO image and checksum by issuing the following command from the **CanvOS/** directory. + +```shell +ls build/ +``` + +```text +kairos_uki_v3.0.4-2-g3fba4f4.tar kairos_v3.0.4-2-g3fba4f4.iso +``` + +You can validate the ISO image by creating a bootable USB flash drive using any third-party software and attempting to +flash a bare host machine. Most software that creates a bootable USB drive will validate the ISO image. Here, the flash +process means installing the necessary tools and configurations on a host machine. diff --git a/docs/docs-content/clusters/edge/trusted-boot/edgeforge/build-trusted-provider-image.md b/docs/docs-content/clusters/edge/trusted-boot/edgeforge/build-trusted-provider-image.md new file mode 100644 index 0000000000..caa38534fa --- /dev/null +++ b/docs/docs-content/clusters/edge/trusted-boot/edgeforge/build-trusted-provider-image.md @@ -0,0 +1,182 @@ +--- +sidebar_label: "Build Provider Images with Trusted Boot" +title: "Build Provider Images with Trusted Boot" +description: "Learn about how to build Edge Artifacts for Trusted Boot." +hide_table_of_contents: false +sidebar_position: 30 +tags: ["edge"] +--- + +This page guides you through the process of creating provider images for Edge clusters with Trusted Boot enabled. +Provider images are Kairos-based container images for each supported Operating System (OS) and Kubernetes combination. +For more information about Kairos, refer to [Kairos documentation](https://kairos.io/). + +Since provider images contain the OS, which is a part of the boot process, the provider image needs to be signed by a +key that is in the Signature Database (DB). This is important both during installation and upgrades. + +## Prerequisites + +- A physical or virtual Linux machine with _AMD64_ (also known as x86_64) processor architecture to build the Edge + artifacts. You can issue the following command in the terminal to check your processor architecture. + + ```bash + uname -m + ``` + +- Minimum hardware configuration of the Linux machine: + + - 4 CPU + - 32 GB memory + - 150 GB storage + +- You have generated Trusted Boot keys in the **secure-boot/enrollment** folder and have stored the private **db.key** + and **tpm2-pcr-private.pem** folder on the machine where you are building the provider images. For more information, + refer to [Generate Trusted Boot Keys](../keys/generate-keys.md). + +- A physical or virtual Linux machine with AMD64 (also known as x86_64) processor architecture to build the Edge + artifacts. You can issue the following command in the terminal to check your processor architecture. + + ```shell + uname -m + ``` + +- [Git](https://cli.github.com/manual/installation). You can ensure git installation by issuing the git --version + command. + +- [Docker Engine](https://docs.docker.com/engine/install/) version 18.09.x or later. You can use the docker --version + command to view the existing Docker version. You should have root-level or sudo privileges on your Linux machine to + create privileged containers. + +- Familiarity with the [EdgeForge Workflow](../../edgeforge-workflow/edgeforge-workflow.md). + +## Instructions + +1. Check out the [CanvOS](https://github.com/spectrocloud/CanvOS) GitHub repository containing the starter code. + + ```bash + git clone https://github.com/spectrocloud/CanvOS.git + ``` + +2. Change to the **CanvOS/** directory. + + ```bash + cd CanvOS + ``` + +3. View the available [git tag](https://github.com/spectrocloud/CanvOS/tags). + + ```bash + git tag + ``` + +4. Check out the newest available tag. This guide uses the tag **v4.4.0** as an example. + + ```shell + git checkout v4.4.0 + ``` + +5. Review the files relevant for this guide. + + - **.arg.template** - A sample **.arg** file that defines arguments to use during the build process. + + - **Earthfile** - Contains a series of commands to create target artifacts. + + - **earthly.sh** - Script to invoke the Earthfile, and generate target artifacts. + +6. Issue the command below to assign an image tag value that will be used when creating the provider images. This guide + uses the value `trusted-boot` as an example. However, you can assign any lowercase and alphanumeric string to the + `CUSTOM_TAG` argument. + + ```bash + export CUSTOM_TAG=trusted-boot + ``` + +7. Use the command below to save the Docker Hub image registry hostname in the `IMAGE_REGISTRY` argument. Before you + execute the command, replace `[DOCKER-ID]` in the declaration below with your Docker ID. Your image registry hostname + must comply with standard DNS rules and may not contain underscores. + + ```bash + export IMAGE_REGISTRY=docker.io/[DOCKER-ID] + ``` + +8. Issue the following command to configure OS distribution and version. You can find all supported OS distribution and + versions in the [**README.md**](https://github.com/spectrocloud/CanvOS/blob/main/README.md) of the **CanvOS** + repository. + + ```bash + export OS_DISTRIBUTION=ubuntu + export OS_VERSION=23.10 + ``` + +9. Issue the command below to create the **.arg** file containing the custom tag, image registry hostname, and Ubuntu OS + distribution. The **.arg** file uses the default values for the remaining arguments. Refer to + [Edge Artifact Build Configurations](../../edgeforge-workflow/palette-canvos/arg.md) for all available arguments. + + ```bash + cat << EOF > .arg + IMAGE_REGISTRY=$IMAGE_REGISTRY + OS_DISTRIBUTION=$OS_DISTRIBUTION + OS_VERSION=$OS_VERSION + IMAGE_REPO=$OS_DISTRIBUTION + CUSTOM_TAG=$CUSTOM_TAG + K8S_DISTRIBUTION=rke2 + ARCH=amd64 + UPDATE_KERNEL=false + IS_UKI=true + EOF + ``` + + The following table lists a few key arguments for you to pay close attention to. + + | **Argument** | **Description** | **Allowed Values** | + | ------------------ | ----------------------------------------------------------------------------------------------------- | ------------------------------------------ | + | `IS_UKI` | Determines whether to build a provider image that supports Trusted Boot. You must set this to `true`. | `true`, `false`. Default is `false`. | + | `K8S_DISTRIBUTION` | Kubernetes distribution. | ` k3s`, `rke2`, `kubeadm`, `kubeadm-fips`. | + | `OS_DISTRIBUTION` | OS distribution. | `ubuntu`, `opensuse-leap`, `rhel`. | + | `OS_VERSION` | OS version. This applies to Ubuntu only. | `20`, `22`. | + +10. Open the **Earthfile** in the CanvOS directory. Under `build-provider-images`, remove the lines containing + Kubernetes versions that you do not need. + +11. CanvOS utility uses [Earthly](https://earthly.dev/) to build the target artifacts. Issue the following command to + start the build process. + + ```bash + ./earthly.sh +build-provider-images + ``` + + ```hideClipboard bash + # Output condensed for readability + ===================== Earthly Build SUCCESS ===================== + Share your logs with an Earthly account (experimental)! Register for one at https://ci.earthly.dev. + ``` + +12. To use the provider images in your cluster profile, push them to your image registry mentioned in the **.arg** file. + Issue the following command to log in to Docker Hub. Provide your Docker ID and password when prompted. + + ```bash + docker login + ``` + +13. Use the following commands to push the provider images to the Docker Hub image registry you specified. Replace the + `[DOCKER-ID]` and version numbers in the command below with your Docker ID and respective Kubernetes versions. + + ```bash + docker push docker.io/[DOCKER-ID]/ubuntu:rke2-1.28.2-v4.4.0-trusted-boot + ``` + +## Validate + +1. List the Docker images to review the provider images created. You can identify the provider images by reviewing the + image tag value you used in the **.arg** file's `CUSTOM_TAG` argument. + + ``` + docker images --filter=reference='*/*:*trusted-boot' + ``` + +2. Verify that the provider images were created successfully. + + ```hideClipboard + REPOSITORY TAG IMAGE ID CREATED SIZE + docker.io/[DOCKER-ID]/ubuntu rke2-1.28.2-v4.4.0-trusted-boot 075134ad5d4b 10 minutes ago 1.79GB + ``` diff --git a/docs/docs-content/clusters/edge/trusted-boot/edgeforge/check-efi-limit.md b/docs/docs-content/clusters/edge/trusted-boot/edgeforge/check-efi-limit.md new file mode 100644 index 0000000000..c661cd7f88 --- /dev/null +++ b/docs/docs-content/clusters/edge/trusted-boot/edgeforge/check-efi-limit.md @@ -0,0 +1,236 @@ +--- +sidebar_label: "Check EFI Size and Edge Host Boot Limit" +title: "Check EFI Size and Device Limit with Trusted Boot" +description: + "Learn about how to check the EFI size limit of your Edge host and avoid creating an EFI that is too large to boot." +hide_table_of_contents: false +sidebar_position: 50 +tags: ["edge"] +--- + +When you use Trusted Boot, your Operating System (OS) becomes part of the Extensible Firmware Interface (EFI) file that +gets loaded by the firmware of the Edge host and booted directly. This means that the EFI file may grow quite large due +to the size of the OS and any customizations you may make, and you must ensure that your Edge host has the capacity to +boot the large EFI file. + +This page guides you through how to estimate the bootable EFI limit of your Edge host as well as the EFI size of your +installer ISO. You need to ensure that the bootable EFI size limit is greater than the size of the EFI partition in your +ISO file. + +## Prerequisites + +- The host machine (not the Edge host) used to build the software that will verify the EFI boot limit meets the + following hardware requirements: + + - Processor architecture: X86_64 + - Minimum CPU: 4 + - Minimum RAM: 8 + - Minimum Storage: 100 GB + +- The ability to modify the boot order settings to boot from a USB drive and to enter the BIOS interface. Typically this + requires you to have a wired keyboard and a monitor to display the interface connected to the Edge device. + +- Your Edge host supports UEFI boot options. + +- You have already built the installer ISO file as well as the provider image that you will use to provision clusters on + your Edge host. For more information, refer to [EdgeForge with Trusted Boot](../edgeforge/edgeforge.md). + +- You can only perform the actions in this guide **prior to** enrolling keys in your Edge host. The ISO that is used to + check the EFI boot limit will not have your keys on it. If your device has already enrolled your custom keys and have + secure boot enabled, the Edge host will not be able to boot from the unsigned volume. + +- [Git](https://www.git-scm.com/downloads). You can ensure git installation by issuing the git --version command. + +## Instructions + +Follow the instructions below to determine if your Edge host is capable of booting the ISO and the provider image. + +### Check Bootable EFI Size Limit for Hardware + +1. Check out the [CanvOS](https://github.com/spectrocloud/CanvOS.git) GitHub repository containing the starter code. + + ```bash + git clone https://github.com/spectrocloud/CanvOS.git + ``` + +2. Change to the **CanvOS/** directory. + + ```bash + cd CanvOS + ``` + +3. View the available [git tag](https://github.com/spectrocloud/CanvOS/tags). + + ```bash + git tag + ``` + +4. Check out the newest available tag. This guide uses **v4.4.0** tag as an example. + + ```shell + git checkout v4.4.0 + ``` + +5. Issue the following command to build the ISO image that is used to check your hardware EFI boot limit. + + ``` + ./earthly +iso-efi-size-check + ``` + + This will generate an ISO image located at **./build/efi-size-check.iso**. + +6. Flash the ISO onto a USB drive. You can use [balena Etcher](https://etcher.balena.io/) or any other similar tool to + flash volumes. + +7. Plug the USB drive into your Edge host. Have a keyboard ready and connected to the Edge host before you boot it up. + +8. Boot up the Edge host. Use the keyboard to enter the boot menu. Usually you can press the F1, F2, or F10 key to enter + the boot menu, but the exact key varies by hardware. + +9. Select the USB as the boot volume. + +10. As the Edge host boots up, the console will produce output similar to the following on the screen. + + ```shell + BdsDxe: loading Boot0001 "UEFI QEMU DVD-ROM QM00003 " from PciRoot(0x0)/Pci(0x1,0x1)/Ata(Secondary,Master,0x0) + BdsDxe: starting Boot0001 "UEFI QEMU DVD-ROM QM00003 " from PciRoot(0x0)/Pci(0x1,0x1)/Ata(Secondary,Master,0x0) + [ INFO]: src/main.rs@032: Starting EFI size checker... + [ INFO]: src/main.rs@042: start to do file read check... + [ INFO]: src/main.rs@056: Reading 100.00 MB bytes into buffer + [ INFO]: src/main.rs@065: Successfully read 100.00 MB into buffer + [ INFO]: src/main.rs@056: Reading 200.00 MB bytes into buffer + [ INFO]: src/main.rs@065: Successfully read 200.00 MB into buffer + [ INFO]: src/main.rs@056: Reading 300.00 MB bytes into buffer + [ INFO]: src/main.rs@065: Successfully read 300.00 MB into buffer + [ INFO]: src/main.rs@056: Reading 400.00 MB bytes into buffer + [ INFO]: src/main.rs@065: Successfully read 400.00 MB into buffer + [ INFO]: src/main.rs@056: Reading 500.00 MB bytes into buffer + [ INFO]: src/main.rs@065: Successfully read 500.00 MB into buffer + [ INFO]: src/main.rs@056: Reading 600.00 MB bytes into buffer + [ INFO]: src/main.rs@065: Successfully read 600.00 MB into buffer + [ INFO]: src/main.rs@056: Reading 700.00 MB bytes into buffer + ``` + +11. Pay close attention to the output on the screen. At a certain point, the output will break and produce a large + number of new lines before producing the same output as the beginning again. In some hardware, the Edge host will + reboot and start the process again, so you will need to monitor the output closely to catch the last line before the + reboot happens. + + The last line before the white space or reboot indicates the upper bound of your EFI boot limit. For example, in the + following output, the EFI boot limit of your Edge host is between 600 and 700 MB. + + ```shell + [ INFO]: src/main.rs@056: Reading 600.00 MB bytes into buffer + [ INFO]: src/main.rs@065: Successfully read 600.00 MB into buffer + [ INFO]: src/main.rs@056: Reading 700.00 MB bytes into buffer + + + + + + + + + + BdsDxe: loading Boot0001 "UEFI QEMU DVD-ROM QM00003 " from PciRoot(0x0)/Pci(0x1,0x1)/Ata(Secondary,Master,0x0) BdsDxe: + starting Boot0001 "UEFI QEMU DVD-ROM QM00003 " from PciRoot(0x0)/Pci(0x1,0x1)/Ata(Secondary,Master,0x0) [ INFO]: + src/main.rs@032: Starting EFI size checker... [ INFO]: src/main.rs@042: start to do file read check... [ INFO]: + src/main.rs@056: Reading 100.00 MB bytes into buffer [ INFO]: src/main.rs@065: Successfully read 100.00 MB into buffer + ``` + +### Check EFI Size of Installer ISO + +12. From the **CanvOS** directory, issue the following commands to make two directories. + + ```shell + mkdir -p image + mkdir -p image-efi + ``` + +13. Issue the following command to mount the installer ISO to the directories you created in the previous step. + + ```shell + sudo mount --options loop build/palette-edge-installer.iso image/ + sudo mount --options loop image/efiboot.img image-efi + ``` + +14. Issue the following command to find out the size of the EFI file. + + ```shell + ls -ltrh image-efi/EFI/kairos/*.efi + ``` + + In the following example, the size of the EFI file in the ISO image is 722 MB. + + ``` + -rwxr-xr-x 1 root root 722M May 14 18:52 image-efi/EFI/kairos/norole_install-mode_stylus.registration.efi + ``` + +### Check EFI Size of Provider Images + +15. Issue the following command to find the size of your provider image. Replace `image-tag` with the tag of your + provider image. + + ```shell + docker run --interactive --tty image-tag ls -ltrh /trusted-boot/EFI/kairos + ``` + + In the following example, the size of the EFI file in the provider image is 767 MB. + + ``` + total 767M + -rw-r--r-- 1 root root 767M Apr 16 2020 norole.efi + ``` + +### Compare Hardware Boot Limit with EFI Size + +16. To ensure that the Edge host is able to boot, the hardware limit must be greater than the EFI size of both the ISO + and the provider image. + + In the examples used through out this guide, the hardware limit is between 600 - 700 MB. The EFI of the ISO is 722 + MB, and the EFI of the provider image is 767 MB. The hardware limit is smaller than the EFI of both the ISO and the + provider image. Therefore, the Edge host will not be able to boot and an Edge host with a higher EFI boot limit is + needed. + + To resolve this issue, you can acquire a device that has a higher boot limit, or make the EFI of the ISO smaller by + removing inessential layers of your base image by editing the **Dockerfile** in the **CanvOS** repository. For + example, if you have the following Dockerfile. + + ```dockerfile {22} + ARG BASE + FROM $BASE + + ARG OS_DISTRIBUTION + ARG PROXY_CERT_PATH + ARG HTTP_PROXY + ARG HTTPS_PROXY + ARG NO_PROXY + + COPY sc.cr[t] /tmp/sc.crt + RUN if [ "${OS_DISTRIBUTION}" = "ubuntu" ] && [ "${PROXY_CERT_PATH}" != "" ]; then \ + cp /tmp/sc.crt /etc/ssl/certs && \ + update-ca-certificates; \ + fi + RUN if [ "${OS_DISTRIBUTION}" = "opensuse-leap" ] && [ "${PROXY_CERT_PATH}" != "" ]; then \ + cp /tmp/sc.crt /usr/share/pki/trust/anchors && \ + update-ca-certificates; \ + fi + + ###########################Add any other image customizations here ####################### + + RUN apt-get update && apt-get install nginx -y + ``` + + You can remove the last line of the **Dockerfile** to reduce the EFI size. If you want to include software packages + in your built ISO without increasing the EFI size, refer to + [Add Static Binaries to Persistent Partition](./add-extra-content.md). + + If you cannot make the EFI file size small enough to meet the boot limit, contact sales@spectrocloud.com for + customized solutions. + +## Validate + +If the hardware EFI boot limit is greater than the EFI size of both the ISO and the provider image. Proceed to install +Palette on the Edge host and provision a cluster. For more information, refer to +[Installation with Trusted Boot](../deployment-day2/install.md) and +[Cluster Creation](../../site-deployment/site-installation/cluster-deployment.md) for more information. diff --git a/docs/docs-content/clusters/edge/trusted-boot/edgeforge/edgeforge.md b/docs/docs-content/clusters/edge/trusted-boot/edgeforge/edgeforge.md new file mode 100644 index 0000000000..fb91829fad --- /dev/null +++ b/docs/docs-content/clusters/edge/trusted-boot/edgeforge/edgeforge.md @@ -0,0 +1,27 @@ +--- +sidebar_label: "EdgeForge" +title: "EdgeForge for Trusted Boot" +description: "Learn about how to build Edge Installer ISO and provider images for Trusted Boot." +hide_table_of_contents: false +sidebar_position: 20 +tags: ["edge"] +--- + +Building Edge artifacts with Trusted Boot enabled is similar to building Edge artifacts without Trusted Boot. This +section discusses how to build Edge Installer ISO and provider images for an Edge installation with Trusted Boot +enabled. + +:::info + +Before proceeding the with the instructions in this section, we suggest you become familiar with the overall EdgeForge +process without Trusted Boot first. Refer to [EdgeForge Workflow](../../edgeforge-workflow/edgeforge-workflow.md) for +details. + +::: + +## Resources + +- [Build Edge Installer ISO with Trusted Boot](./build-trusted-iso.md) +- [Build Provider Images with Trusted Boot](./build-trusted-provider-image.md) +- [Check EFI Size and Edge Host Boot Limit](./check-efi-limit.md) +- [Add Static Binaries to Persistent Partition](./add-extra-content.md) diff --git a/docs/docs-content/clusters/edge/trusted-boot/keys/_category_.json b/docs/docs-content/clusters/edge/trusted-boot/keys/_category_.json new file mode 100644 index 0000000000..094470741d --- /dev/null +++ b/docs/docs-content/clusters/edge/trusted-boot/keys/_category_.json @@ -0,0 +1,3 @@ +{ + "position": 10 +} diff --git a/docs/docs-content/clusters/edge/trusted-boot/keys/export-keys.md b/docs/docs-content/clusters/edge/trusted-boot/keys/export-keys.md new file mode 100644 index 0000000000..d8d2312f35 --- /dev/null +++ b/docs/docs-content/clusters/edge/trusted-boot/keys/export-keys.md @@ -0,0 +1,81 @@ +--- +sidebar_label: "Export Factory Keys with Command-line Tools" +title: "Export Factory Keys with Command-line Tools" +description: "Learn about how to export the factory keys from your Edge device using command-line tools. " +hide_table_of_contents: false +sidebar_position: 0 +tags: ["edge"] +--- + +Before generating keys for Trusted Boot, you should first export the factory keys on your Edge device. These keys are +often used to verify the authenticity of the peripheral firmware on your Edge device. These keys need to be included +during EdgeForge key generation in order to ensure that the firmware starts normally at boot time. For more information, +refer to [EdgeForge with Trusted Boot](../edgeforge/edgeforge.md). + +You have two options to export factory keys. You can export them directly from the Unified Extensible Firmware Interface +(UEFI) or Basic Input/Output System (BIOS) interface if the interface allows it. However, not every machine allows you +to export the factory keys through the BIOS interface, and machines that do will have different steps from model to +model. + +Another approach is to boot from a Linux with LiveCD or a Windows Operating System (OS) on your Edge host, and use +command-line tools to export them. This approach is more broadly applicable and consistent across different Edge hosts. + +This page guides you through how to export your factory keys using command-line tools on Windows and Linux. + +### Prerequisites + +- Your Edge device uses either Windows or a Linux operating system. + +- If your Edge device uses Linux, you need an internet connection to download the `efitools` command-line tool. + +### Instructions + +1. Turn on the Edge device. + +2. Open a terminal session on the Edge host, or a Powershell session on Windows, and issue the following commands to + export the keys. + + + + + + ```shell + sudo apt-get install --yes efitools + efi-readvar -v KEK -o 'KEK' + efi-readvar -v db -o 'db' + efi-readvar -v dbx -o 'dbx' + ``` + + + + + + ```shell + Get-SecureBootUEFI –Name KEK –OutputFilePath KEK + Get-SecureBootUEFI –Name db –OutputFilePath db + Get-SecureBootUEFI –Name dbx –OutputFilePath dbx + ``` + + + + + + The commands will export the keys in the current directory where the commands are executed. Your Edge host often has + more than one public KEK key, and the exported KEK variable contains all of them. The **db** and **dbx** files also + contain all the allowed and forbidden public keys that can be used to verify different boot components. + +3. Copy the keys to a secure location, such as a USB storage device. You will need them during the key generation step + for Trusted Boot. Refer to [Generate Keys for Trusted Boot](./generate-keys.md) for details. + +### Validate + +1. Issue the `ls` command to confirm that the keys have been exported. The output should include the following files. + + ``` + $ ls + db dbx KEK + ``` + +2. You can also use the `cat` command to view the content of each key. The keys are in binary format, so a large part of + the keys is illegible. However, there should be strings interspersed in the content of the key that describes the + entity that issued them. diff --git a/docs/docs-content/clusters/edge/trusted-boot/keys/generate-keys.md b/docs/docs-content/clusters/edge/trusted-boot/keys/generate-keys.md new file mode 100644 index 0000000000..6d0c1ab25a --- /dev/null +++ b/docs/docs-content/clusters/edge/trusted-boot/keys/generate-keys.md @@ -0,0 +1,318 @@ +--- +sidebar_label: "Generate Keys" +title: "Generate Keys for Trusted Boot" +description: "Learn how to generate keys for Trusted Boot." +hide_table_of_contents: false +sidebar_position: 10 +tags: ["edge"] +--- + +Trusted Boot works by signing the Edge Installer image and provider images with cryptographic keys, and only allowing +images signed with the trusted keys to operate during the Edge host boot process. This page guides you through the +process of generating keys to be used when building Edge artifacts. + +The key generation process produces three pairs of keys and a Platform Configuration Register (PCR) policy private key, +and each pair of keys fulfills different purposes. The following table provides a brief overview of which keys are used +in which Trusted Boot EdgeForge and deployment process. For more information, refer to +[EdgeForge with Trusted Boot](../edgeforge/edgeforge.md). + +| Keys | Key Generation | Build Installer ISO | Building Provider Images | Installation | +| ------------------------ | -------------- | ------------------- | ------------------------ | ------------ | +| PK & KEK (private) | ✅ | Not needed | Not needed | Not needed | +| PK & KEK (public) | | ✅ | Not needed | ✅ | +| DB (public) | | ✅ | ✅ | Not needed | +| DB (private) | | ✅ | ✅ | Not needed | +| PCR policy Key (private) | | ✅ | Not needed | ✅ | + +:::warning + +All security provided by Trusted Boot assumes that the private keys are kept secure. We recommend that you perform key +generation in an air-gapped environment and move the PK and KEK private keys to a secure location immediately after +generating them. In addition, any build pipelines that are created for the purposes of building ISOs and provider images +must be secured, as they must contain the PCR and DB private keys. + +::: + +## Prerequisites + +- A physical or virtual Linux machine with _AMD64_ (also known as x86_64) processor architecture to build the Edge + artifacts. You can issue the following command in the terminal to check your processor architecture. + + ```bash + uname -m + ``` + +- Minimum hardware configuration of the Linux machine: + + - 4 CPU + - 8 GB memory + - 50 GB storage + +- You have exported the factory keys from the Edge device. For more information, refer to + [Export Factory Keys](./export-keys.md). + +- [Git](https://cli.github.com/manual/installation). You can ensure git installation by issuing the git --version + command. + +- [openssl](https://www.openssl.org/) must be installed on your Linux machine. + +## Instructions + + + + + +If your environment does not require a Certificate Authority (CA), you can use self-signed certificates to generate the +keys needed for Trusted Boot. Using self-signed certificates may make verifying the source of the certificate more +difficult because there is no higher authority. + +1. Clone the **CanvOS** repository. + + ```shell + git clone https://github.com/spectrocloud/CanvOS.git + ``` + +2. Change to the **CanvOS/** directory. + + ```shell + cd CanvOS + ``` + +3. View the available git tag. + + ```shell + git tag + ``` + +4. Check out the latest available tag that is v4.4.0 or later. This guide uses the tag v4.4.0 as an example. + + ``` + git checkout v4.4.0 + ``` + +5. Issue the following command to create the folders for Trusted Boot keys. + + ```shell + ./earthly.sh +secure-boot-dirs + ``` + + This will create a folder named **secure-boot** and three subdirectories: **exported-keys**, **private-keys** and + **public-keys**. + +6. Copy the keys you exported from your Edge device in [Export Factory Keys](./export-keys.md) to the **exported-keys** + directory. + + :::danger + + If this is not the first time you have generated keys, make sure that **secure-boot** folder has no existing keys + except for the exported keys you just copied before proceeding to the next step. Issuing the key generation command + will overwrite all existing keys silently. Ensure that you have backed up all your existing keys before generating + new ones. + + ::: + +7. Issue the following command to generate keys. Replace `org-name` with the name of your organization, and replace + 5475, the default expiration period in days, with the desired expiration period for your keys. + + :::danger + + Specify a distant expiration date. If the keys expire before you can replace them, it can soft-brick the Edge host. + Although the default is 15 years, you may choose to make this longer. + + ::: + + ```shell + ./earthly.sh +uki-genkey --MY_ORG="org-name" --EXPIRATION_IN_DAYS=5475 --UKI_SELF_SIGNED_KEYS=false + ``` + + All keys are generated to the **secure-boot** folder. Private keys are kept in a subdirectory called + **private-keys**. Public keys are generated to a subdirectory called **public-keys**. + + The key generation script also produces a folder named **enrollment**. This folder contains public keys that will be + built into the Edge installer ISO, and eventually enrolled in your Edge device when you install Palette Edge with the + ISO. + +8. Remove **PK.key** and **KEK.key** from the **private-keys** folder and keep them offline in a safe location. + + + + + +Palette Edge allows you to use certificates issued by a CA to generate Trusted Boot keys in the EdgeForge process. +Follow the steps below to generate keys from certificates issued by your CA. + +:::danger + +If you are using an existing CA to generate keys, ensure that CA's root certificate has a distant expiration date. If +the root certificate itself expires, all certificates signed by the CA will no longer be valid. This can possibly +soft-brick your Edge host. + +::: + +1. Clone the **CanvOS** repository. + + ```shell + git clone https://github.com/spectrocloud/CanvOS.git + ``` + +2. Change to the **CanvOS/** directory. + + ```shell + cd CanvOS + ``` + +3. View the available git tag. + + ```shell + git tag + ``` + +4. Check out the latest available tag that is v4.4.0 or later. This guide uses the tag v4.4.0 as an example. + + ```shell + git checkout v4.4.0 + ``` + +5. Change into the **sb-private-ca** directory. + + ```shell + cd sb-private-ca + ``` + +6. Review the three configuration files in the directory. These files are configuration files that you will use to + generate Certificate Signing Requests (CSR) and key pairs. Each file configures the generation of the PK, KEK, and DB + key as well as their CSR. + + The `[req]` and `req_ext` sections contain specifications of the CSR to be generated. And the `[req_dn]` section + records the Distinguished Name (DN) of the entity to whom the certificate will be issued. + + ``` + [ req ] + prompt = no + string_mask = default + default_bits = 2048 + encrypt_key = no + distinguished_name = req_dn + req_extensions = req_ext + oid_section = OIDs + + [ req_dn ] + C = US + L = San Jose + OU = IT + CN = Spectro Cloud Example - PK + + [ req_ext ] + basicConstraints = critical, CA:false + keyUsage = critical, digitalSignature + extendedKeyUsage = codeSigning + subjectKeyIdentifier = hash + ``` + + Edit the default `[req_dn]` section of each configuration file and update the values to reflect your organization and + location. Only modify the `req_dn` section, which records the DN of the certificate owner. Do not modify any other + sections. + +7. After you are done editing the configuration files, issue the following command to generate three pairs of keys, and + a certificate request for each pair. + + ```shell + openssl req -new -config PK_request.conf -keyout PK.key -out CSR_PK.req + openssl req -new -config KEK_request.conf -keyout KEK.key -out CSR_KEK.req + openssl req -new -config db_request.conf -keyout db.key -out CSR_db.req + ``` + +8. Use the request files to request certificates from your CA. If you have access to the CA private key and root + certificate, you can use `openssl` to issue these certificates. + + ```shell + openssl x509 -req -in CSR_PK.req -CA path-to-ca-root-cert -CAkey path-to-ca-private-key -CAcreateserial -out PK.pem -days 5475 -sha256 + openssl x509 -req -in CSR_KEK.req -CA path-to-ca-root-cert -CAkey path-to-ca-private-key -CAcreateserial -out KEK.pem -days 5475 -sha256 + openssl x509 -req -in CSR_db.req -CA path-to-ca-root-cert -CAkey path-to-ca-private-key -CAcreateserial -out db.pem -days 5475 -sha256 + ``` + + Replace `path-to-ca-root-cert` with the path to the root certificate of the CA and replace `path-to-ca-private-key` + with the path to the CA's private key. You may also choose to change the validity period of the certificates. The + default is 15 years (5475 days). + + :::danger + + Specify a distant expiration date. If the certificates expire before you can replace them, it can soft-brick the Edge + host. Although the default is 15 years, you may choose to make this longer. + + ::: + +9. Generate the PCR private key for disk encryption. + + ``` + openssl genrsa -out tpm2-pcr-private.pem 2048 + ``` + +10. Return to the **CanvOS** directory. Issue the following command to create the folder structure to save the keys. + + ```shell + ./earthly.sh +secure-boot-dirs + ``` + + This will create a folder named **secure-boot** and three subdirectories: **exported-keys**, **private-keys** and + **public-keys**. + +11. Copy the certificates that you just generated into the **public-keys** folder. + +12. Copy the private keys you generated into the **private-keys** folder. At this point, your **secure-boot** folder + should have the following content. + + ```shell + CanvOS/ + secure-boot/ + private-keys/ + PK.key + KEK.key + db.key + tpm2-pcr-private.pem + public-keys/ + PK.pem + KEK.pem + db.pem + ``` + +13. Copy the keys you exported from your Edge device in [Export Factory Keys](./export-keys.md) to the **exported-keys** + directory. + +14. Review the **.arg** file in your **CanvOS** directory. Add the following line to the file. + + ``` + UKI_BRING_YOUR_OWN_KEYS=true + ``` + + Refer to [Edge Artifact Build Reference](../../edgeforge-workflow/palette-canvos/arg.md) for a complete list of + available arguments. + +15. Issue the following command to generate Trusted Boot keys for enrollment. Replace `org-name` with the name of your + organization, and replace 5475, the default expiration period in days (15 years), with the desired expiration period + for your keys. We recommend that you specify a long expiration date, since if the keys expire before you can replace + them, it can soft-brick the Edge host. + + :::danger + + Specify a distant expiration date. If the certificates expire before you can replace them, it can soft-brick the + Edge host. Although the default is 15 years, you may choose to make this longer. + + ::: + + ``` + ./earthly.sh +uki-genkey --MY_ORG="org-name" --EXPIRATION_IN_DAYS=5475 + ``` + + + + + +## Validate + +Check the content of the **secure-boot/enrollment** directory. You should observe the following nine files. + +``` +$ ls secure-boot/enrollment/ +KEK.auth KEK.der KEK.esl PK.auth PK.der PK.esl db.auth db.der db.esl +``` diff --git a/docs/docs-content/clusters/edge/trusted-boot/keys/key-management.md b/docs/docs-content/clusters/edge/trusted-boot/keys/key-management.md new file mode 100644 index 0000000000..a3c6055425 --- /dev/null +++ b/docs/docs-content/clusters/edge/trusted-boot/keys/key-management.md @@ -0,0 +1,83 @@ +--- +sidebar_label: "Key Management" +title: "Trusted Boot Key Management" +description: "Learn about how to manage the keys used in Trusted Boot." +hide_table_of_contents: false +sidebar_position: 15 +tags: ["edge"] +--- + +Several key pairs are used in Trusted Boot during installer ISO generation, upgrade image generation, as well as +installation. Each key pair serves a different purpose and is used during different stages of Edge artifact building and +deployment. Each key pair needs to be secured differently. This page discusses the different key pairs used by Trusted +Boot and how to secure them. + +Careful key management is the foundation of all security benefits provided by Trusted Boot. All security provided by +Trusted Boot assumes that your keys are handled and stored securely. Ensure that you follow our recommendations to avoid +compromising the security of your systems. + +## Platform Key (PK) + +The private PK must be stowed away in a secure location _immediately_ after being generated. You do not need the PK +private key during EdgeForge operations, installation, upgrades or deployments of your Edge hosts. The public PK key is +required during the EdgeForge build process so that it can be embedded into the Edge Installer ISO and thereafter +installed on Edge hosts. For more information, refer to [EdgeForge with Trusted Boot](../edgeforge/edgeforge.md). + +:::danger + +Ensure that the private PK is kept securely with strictly limited access. Someone in possession of the private PK key +can make changes to the KEK and gain access to your devices and their data. + +::: + +The following files are all part of the PK key. + +| Filename | Description | Key Management Recommendation | +| ----------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------ | +| **PK.pem** | The public PK key in Privacy Enhanced Mail (PEM) format. | Store in the build pipeline for EdgeForge. | +| **PK.key** | The private PK key. | Store offline in a secure location. | +| **PK.esl** | The EFI Signature List for the PK key. | Store in the build pipeline for EdgeForge. | +| **PK.der** | The public PK key in DER (Distinguished Encoding Rules) format, a binary form of the PEM file. | Store in the build pipeline for EdgeForge. | +| **PK.auth** | This file contains signed data used for updating the Secure Boot variables in the Unified Extensible Firmware Interface (UEFI) firmware. | Store in the build pipeline for EdgeForge. | + +## Key Exchange Key (KEK) + +The private KEK must be stowed away in a secure location **immediately** after being generated. You do not need the KEK +private key during EdgeForge operations, installation, upgrades or deployments of your Edge hosts. The public KEK is +required during the EdgeForge build process so that it can be embedded into the Edge Installer ISO and thereafter +installed on Edge hosts. + +| Filename | Description | Key Management Recommendation | +| ------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------ | +| **KEK.pem** | The public KEK key in Privacy Enhanced Mail (PEM) format. | Store in the build pipeline for EdgeForge. | +| **KEK.key** | The private KEK key. | Store offline in a secure location. | +| **KEK.esl** | The EFI Signature List for the KEK key. | Store in the build pipeline for EdgeForge. | +| **KEK.der** | The public KEK key in DER (Distinguished Encoding Rules) format, a binary form of the PEM file. | Store in the build pipeline for EdgeForge. | +| **KEK.auth** | This file contains signed data used for updating the Secure Boot variables in the UEFI firmware. | Store in the build pipeline for EdgeForge. | + +## Signature Database (DB) and Forbidden Signature Database (DBX) + +Both the public and private DB keys should be stored securely in the build pipeline of your Edge artifacts, as they are +needed during EdgeForge both during initial deployment and upgrades. The build pipeline itself should be heavily secured +with limited access. The DB private key must not be stored in repositories that are exposed publicly. Ideally, Edge host +artifacts should be generated in an air-gapped environment to reduce potential exposure of the DB private key. If +possible, the build pipeline should utilize an Hardware Security Module (HSM). + +| Filename | Description | Key Management Recommendation | +| ----------- | ------------------------------------------------------------------------------------------------ | ------------------------------------------ | +| **db.pem** | The public DB key in Privacy Enhanced Mail (PEM) format. | Store in the build pipeline for EdgeForge. | +| **db.key** | The private DB key. | Store in the build pipeline for EdgeForge | +| **db.esl** | The EFI Signature List for the DB key. | Store in the build pipeline for EdgeForge. | +| **db.der** | The public DB key in DER (Distinguished Encoding Rules) format, a binary form of the PEM file. | Store in the build pipeline for EdgeForge. | +| **db.auth** | This file contains signed data used for updating the Secure Boot variables in the UEFI firmware. | Store in the build pipeline for EdgeForge. | + +## Platform Configuration Registers (PCR) Policy Key + +The PCR policy key pair is in charge of signing the pre-calculated measurements of the boot process and involved in disk +encryption. The private PCR policy key needs to be stored securely in the build pipeline so it can sign the +pre-calculated measurement during EdgeForge. The public key is generated and embedded in the UKI image automatically, +and you do not need to handle the public key. + +| Filename | Description | Key Management Recommendation | +| ------------------------ | --------------------------- | ------------------------------------------ | +| **tpm2-pcr-private.pem** | The private PCR policy key. | Store in the build pipeline for EdgeForge. | diff --git a/docs/docs-content/clusters/edge/trusted-boot/keys/keys.md b/docs/docs-content/clusters/edge/trusted-boot/keys/keys.md new file mode 100644 index 0000000000..044caa5e38 --- /dev/null +++ b/docs/docs-content/clusters/edge/trusted-boot/keys/keys.md @@ -0,0 +1,95 @@ +--- +sidebar_label: "Trusted Boot Keys" +title: "Trusted Boot Keys" +description: "An overview of keys in Trusted Boot." +hide_table_of_contents: false +sidebar_position: 15 +tags: ["edge"] +--- + +All security features of Trusted Boot rely on cryptographic keys. Secure Boot relies on the chain of trust between +Platform Key (PK), Key Exchange Keys (KEK), and Signature Database (DB) keys to achieve a tamper proof boot process. +Full Disk Encryption also relies on a key pair. This section talks about the different keys used in Trusted Boot, their +roles, and best practices to manage them securely. + +![Relationship between Secure Boot Keys](/clusters_edge_trusted-boot_key-management_key-relationship.webp) + +## Platform Key (PK) + +The PK is at the top of the Secure Boot cryptographic key hierarchy. It's a key pair that has a private key and a public +key. + +The private PK signs updates to the Key Exchange Key (KEK) variable, which contains a list of certificates, public keys, +or signatures in a EFI Signature List (ESL). The public PK is used to verify whether updates to the KEK are signed with +the authentic private key and can be trusted. It establishes a relationship of trust between the platform owner and the +platform firmware. A system can only have one PK. + +## Key Exchange Key (KEK) + +The KEK is a set of certificates, public keys, or signatures in an ESL signed by a private PK key. Entries in the KEK +set are used to update the Signature Database (DB) and the Forbidden Signature Database (DBX). Each entry in the KEK set +has a corresponding private key. It establishes a relationship of trust between the firmware and the operating system +(OS). + +Any private key corresponding to an entry in the KEK set can sign updates to the DB. When there are updates to the DB, +the corresponding public key, certificate, or signature in the KEK set is used to verify that those updates are signed +by the authentic private key. + +## Signature Database (DB) and Forbidden Signature Database (DBX) + +The DB validates signed EFI (Extensible Firmware Interface) binaries. The DB may contain a mixed set of certificates, +public keys, signatures or hashes of binary files. The signature stored in the EFI binary (or a hash of the binary if +there is no signature) is compared against the entries in the database. The binary will be executed if one of the +following conditions is met: + +- The EFI binary is signed, and the signing key is in the DB. +- The EFI binary is signed, and the signature on the binary is in the DB. +- The EFI binary is unsigned and a SHA-256 hash of the image is in the DB. + +Similarly, DBX may contain a mixed set of certificates, signatures or hashes. Any EFI whose signatures, hashes, or +signing key matches the entries in DBX is forbidden from being executed. + +## Platform Configuration Registers (PCR) Policy Key + +The PCR policy key pair is in charge of signing the pre-calculated measurements of the boot process and involved in disk +encryption. The private PCR policy key signs the pre-calculated measurement during EdgeForge. The public key is embedded +in the UKI image. + +During EdgeForge, each boot component is hashed and these hash values, or measurements, are signed by the PCR private +key. The signed measurements are embedded in the UKI image, along with the public key of the PCR policy key pair. For +more information about EdgeForge, refer to [EdgeForge with Trusted Boot](../edgeforge/edgeforge.md). + +During installation, encrypted partitions are setup using a Disk Encryption Key (DEK), which is itself encrypted by the +TPM and stored in a secure blob. The PCR public key embedded in the ISO is used to form a binding policy. The binding +policy states that in order to decrypt the secure blob containing the DEK, the PCR measurements must match precalculated +set of measurements signed by the corresponding PCR private key. + +During the boot process, before the encrypted disk partition is mounted, the TPM will perform the following: + +- Verify the public key in the image is valid +- Verify the signature on the pre-calculated measurements using the public key +- Compare the precalculated measurements vs the actual PCR measurements + +If all three verifications are successful, TPM will decrypt the secure blob, release DEK, and the OS can use it to +decrypt the encrypted partitions of the disk. + +## Disk Encryption Key (DEK) + +The disk encryption key (DEK) is generated during installation, encrypted by the TPM with an internal key, and sealed +inside the TPM. You will never interact with the DEK itself. + +During the boot process, the TPM will perform a series of verifications. If all of them are successful, the TPM will +decrypt and release the DEK to the OS, so it can use it to decrypt the encrypted partitions. Refer to the +[PCR Policy Key](#platform-configuration-registers-pcr-policy-key) section for details. + +## Factory Keys + +Factory keys refer to the secure boot keys that are stored on the device in factory settings. In EdgeForge, these keys +are stored in the folder **exported-keys**. They may include PK, KEK, and DB keys. Factory keys are often used to +authenticate the firmware of a device. For more information, refer to [Export Factory Keys](export-keys.md). + +## Resources + +- [Export Factory Keys](./export-keys.md) +- [Generate Keys](./generate-keys.md) +- [Key Management](./key-management.md) diff --git a/docs/docs-content/clusters/edge/trusted-boot/trusted-boot.md b/docs/docs-content/clusters/edge/trusted-boot/trusted-boot.md new file mode 100644 index 0000000000..d11c58cca8 --- /dev/null +++ b/docs/docs-content/clusters/edge/trusted-boot/trusted-boot.md @@ -0,0 +1,106 @@ +--- +sidebar_label: "Trusted Boot" +title: "Trusted Boot" +description: "Learn about Trusted Boot." +hide_table_of_contents: false +sidebar_position: 10 +tags: ["edge"] +--- + +Trusted Boot is a security feature supported by Palette Edge available on Edge devices with supported hardware and +firmware. Trusted Boot consists of the following security measures: + +![High level description diagram for Trusted Boot](/clusters_edge_trusted-boot_highlevel.webp) + +- Full Disk Encryption (FDE): Encryption of all persistent partitions of the disk drive. The purpose of FDE is to + protect data stored on the disk from unauthorized access if the boot process was tempered with. +- Secure boot: A security measure that ensures only properly signed and authenticated software is allowed to operate + during the boot process of a device. +- Measured boot. A security feature that works by measuring each component of the boot process and recording these + measurements in a + [Trusted Platform Module (TPM)](https://www.intel.com/content/www/us/en/business/enterprise-computers/resources/trusted-platform-module.html). + Only when it receives measurements with a valid signature does the TPM release the key to decrypt encrypted content. + +Together, these measures allow Trusted Boot to ensure the authenticity of the boot processes that are allowed to operate +on your Edge device. Only when the boot process can be verified does the TPM release the key to decrypt the encrypted +content, and the sensitive data is not accessible if the boot process is tempered with. + +:::preview + +::: + +## Why Do You Need Trusted Boot? + +Edge devices are often deployed in locations with minimal security and high traffic, such as restaurants and coffee +shops, and are susceptible to physical attacks. If an attacker is able to inject malware into the Edge host through a +physical attack, it has the potential to compromise the security of your operations. + +Trusted Boot allows you to be confident that all software that is allowed to operate on your Edge hosts is authenticated +software verified through cryptographic signatures. In the event that an Edge device is lost or stolen, the TPM will not +release the key to decrypt the disk encryption if the boot process is tampered with, ensuring your user data remains +encrypted. + +## Limitation + +- Trusted Boot is only supported for clusters with a connection to a Palette instance. Air-gapped clusters cannot be + deployed to an Edge host with Trusted Boot enabled. + +## Next Steps + +To get started with Trusted Boot, we recommend you start by familiarizing yourself with the concepts related to Trusted +Boot, especially the keys used by Trusted Boot and how to manage them. In addition, Trusted Boot has additional hardware +requirements compared with Edge hosts that do not have workloads with Trusted Boot. You should ensure that you use Edge +hosts that meet the minimum hardware requirements. + +- [Trusted Boot Keys](./keys/keys.md) +- [Key Management](./keys/key-management.md) +- [Hardware Requirements](../hardware-requirements.md#trusted-boot) + +After understanding the core concepts, you can proceed to generate the keys that will be used by your Edge host. You +need to start by exporting the existing keys on your Edge host and then use those exported keys to generate new keys to +be used by Trusted Boot. You can generate keys using a self-signed certificate, or an existing Certificate Authority +(CA). + +- [Export Factory Keys](./keys/export-keys.md) +- [Generate Trusted Boot Keys](./keys/generate-keys.md) + +With the keys ready, you can proceed to build the necessary Edge artifacts to install Palette on your Edge host and +provision your cluster. The EdgeForge process with Trusted Boot is similar to the EdgeForge process without Trusted +Boot. We recommend you become familiar with the EdgeForge workflow first before building Edge artifacts with Trusted +Boot enabled. + +- [EdgeForge Workflow without Trusted Boot](../edgeforge-workflow/edgeforge-workflow.md) +- [EdgeForge Workflow with Trusted Boot](./edgeforge/edgeforge.md) + +After you build the artifacts, you should check the boot size limit of your Edge host before installing Palette on your +Edge host. Trusted Boot uses the Unified Kernel Image (UKI), which is a single file that encompasses the Operating +System (OS) and other needed bits in order to boot the full system. As a result, the Extensible Firmware Interface (EFI) +file, which contains the UKI, can grow quite large and can pose a limitation depending on your hardware conditions. + +- [Check Device Boot Limit](./edgeforge/check-efi-limit.md) + +If you find that the EFI file inside the EdgeForge artifacts is bigger than your boot limit, you may need to either +choose a device with a higher boot limit or decrease the size of the EFI file. One way to decrease the EFI file size is +to avoid installing software packages to the OS image and instead use static binaries of the packages you need. + +- [Add Static Binaries to Persistent Partition](./edgeforge/add-extra-content.md) + +Having ensured that your hardware meets the boot size requirement, you can proceed to install Palette Edge on your Edge +host. The installation process is similar to the regular installation workflow, but requires a few additional steps to +prepare the Edge host for secure boot key enrollment. + +- [Installation with Trusted Boot](./deployment-day2/install.md) + +After installation, the registration process and the process to create a cluster from your Edge host are identical to +Edge hosts without Trusted Boot. The upgrade process, however, requires you to use the same keys to build new provider +images. + +- [Edge Host Registration](../site-deployment/site-installation/edge-host-registration.md) +- [Create Cluster Definition](../site-deployment/site-installation/cluster-deployment.md) +- [Upgrade Cluster with Trusted Boot](./deployment-day2/upgrade-cluster.md) + +## Resources + +- [Keys](./keys/keys.md) +- [EdgeForge](./edgeforge/edgeforge.md) +- [Deployment and Day-2 Operations](./deployment-day2/deployment-day2.md) diff --git a/docs/docs-content/clusters/imported-clusters/cluster-import.md b/docs/docs-content/clusters/imported-clusters/cluster-import.md index f76e293045..2c0e2cc3ea 100644 --- a/docs/docs-content/clusters/imported-clusters/cluster-import.md +++ b/docs/docs-content/clusters/imported-clusters/cluster-import.md @@ -21,7 +21,7 @@ Select the mode you want to use when importing a cluster into Palette. ### Prerequisites -- Kubernetes version >= 1.19.X +- Kubernetes version 1.19.X or later on the cluster you are importing. - Ensure your environment has network access to Palette SaaS or your self-hosted Palette instance. @@ -29,6 +29,8 @@ Select the mode you want to use when importing a cluster into Palette. - Access to your cluster environment through kubectl. +- Ensure you have `admin` or `cluster-admin` permissions on the cluster you are importing. + ### Import a Cluster 1. Log in to [Palette](https://spectrocloud.com). @@ -125,7 +127,7 @@ You now have imported a cluster into Palette with full permissions. ### Prerequisites -- Kubernetes version >= 1.19.X +- Kubernetes version 1.19.X or later on the cluster you are importing. - Ensure your environment has network access to Palette SaaS or your self-hosted Palette instance. diff --git a/docs/docs-content/clusters/public-cloud/deploy-k8s-cluster.md b/docs/docs-content/clusters/public-cloud/deploy-k8s-cluster.md index 1d9cee0218..4925df9fbd 100644 --- a/docs/docs-content/clusters/public-cloud/deploy-k8s-cluster.md +++ b/docs/docs-content/clusters/public-cloud/deploy-k8s-cluster.md @@ -29,8 +29,8 @@ to Kubernetes with minimal effort. As you navigate the tutorial, refer to this diagram to help you understand how Palette uses a cluster profile as a blueprint for the host cluster you deploy. Palette clusters have the same node pools you may be familiar with: control -plane nodes, often called _master nodes_, and _worker nodes_ where you will deploy applications. The result is a host -cluster that Palette manages. +plane nodes, often called _control plane nodes_, and _worker nodes_ where you will deploy applications. The result is a +host cluster that Palette manages. ![A view of Palette managing the Kubernetes lifecycle](/tutorials/deploy-clusters/clusters_public-cloud_deploy-k8s-cluster_application.webp) diff --git a/docs/docs-content/clusters/public-cloud/tke.md b/docs/docs-content/clusters/public-cloud/tke.md index dc3bdcd71f..4470624a2a 100644 --- a/docs/docs-content/clusters/public-cloud/tke.md +++ b/docs/docs-content/clusters/public-cloud/tke.md @@ -40,98 +40,96 @@ detailing of the Tencent TKE cluster provisioning through Palette: **Last Update**: April 26, 2022 -```yaml +```json { "version": "2.0", - "statement": - [ - { - "effect": "allow", - "action": - [ - "as:CreateLaunchConfiguration", - "as:CreateAutoScalingGroup", - "as:DescribeLaunchConfigurations", - "as:DescribeAutoScalingInstances", - "as:DescribeAutoScalingActivities", - "as:DescribeAutoScalingGroups", - "as:ModifyDesiredCapacity", - "as:ModifyAutoScalingGroup", - "as:DescribeAutoScalingGroups", - "as:DescribeAutoScalingGroupLastActivities", - "cam:GetRole", - "cam:GetPolicy", - "cam:DeletePolicyVersion", - "cam:CreatePolicyVersion", - "cam:ListGroupsForConsole", - "cam:ListPolicies", - "cam:ListMaskedSubAccounts", - "cvm:DescribeSecurityGroupLimits", - "cvm:DescribeSecurityGroups", - "cvm:CreateSecurityGroup", - "cvm:DescribeInstances", - "cvm:DescribeInstancesStatus", - "cvm:DescribeSecurityGroupAssociateInstances", - "cvm:DescribeSecurityGroupLimits", - "cvm:DescribeSecurityGroupPolicys", - "cvm:DescribeImages", - "cvm:DescribeCbsStorages", - "cvm:RunInstances", - "cvm:DescribeKeyPairs", - "cvm:DescribeAddresses", - "cvm:ModifySingleSecurityGroupPolicy", - "cvm:CreateSecurityGroupPolicy", - "cvm:DeleteSecurityGroupPolicy", - "clb:DescribeLoadBalancers", - "cloudaudit:DescribeEvents", - "cloudaudit:DescribeEvents", - "ecdn:PurgePathCache", - "ecdn:PurgeUrlsCache", - "ecdn:PushUrlsCache", - "monitor:DescribeDashboardMetricData", - "tke:CreateCluster", - "tke:DescribeClusters", - "tke:DescribeClusterEndpointStatus", - "tke:DescribeClusterEndpointVipStatus", - "tke:DescribeClusterSecurity", - "tke:CreateClusterEndpointVip", - "tke:CreateClusterEndpoint", - "tke:DeleteClusterEndpointVip", - "tke:DeleteClusterEndpoint", - "tke:DeleteCluster", - "tke:DescribeClusterAsGroupOption", - "tke:DescribeClusterInstances", - "tag:DescribeResourceTagsByResourceIds", - "tag:DescribeTagValues", - "tag:TagResources", - "tag:DescribeTagKeys", - "vpc:DescribeSubnetEx", - "vpc:DescribeVpcEx", - "vpc:DescribeVpcLimits", - "vpc:DescribeRouteTable", - "vpc:DescribeNatGateways", - "vpc:DescribeCcns", - "vpc:DescribeCcnAttachedInstances", - "vpc:DescribeLocalGateway", - "vpc:DescribeHaVips", - "vpc:Describe.webpw", - "vpc:DescribeDirectConnectGateways", - "vpc:DescribeVpcPeeringConnections", - "vpc:DescribeCustomerGateways", - "vpc:DescribeRoutes", - "vpc:ModifyNatGatewayAttribute", - "vpc:ResetNatGatewayConnection", - "vpc:DescribeAddress", - "vpc:DescribeTemplateLimits", - "vpc:DescribeAddressGroups", - "vpc:DescribeService", - "vpc:DescribeServiceGroups", - "vpc:DescribeNetworkAcls", - "vpc:DescribeNetworkInterfaces", - ], - "resource": ["*"], - }, - ], + "statement": [ + { + "effect": "allow", + "action": [ + "as:CreateLaunchConfiguration", + "as:CreateAutoScalingGroup", + "as:DescribeLaunchConfigurations", + "as:DescribeAutoScalingInstances", + "as:DescribeAutoScalingActivities", + "as:DescribeAutoScalingGroups", + "as:ModifyDesiredCapacity", + "as:ModifyAutoScalingGroup", + "as:DescribeAutoScalingGroups", + "as:DescribeAutoScalingGroupLastActivities", + "cam:GetRole", + "cam:GetPolicy", + "cam:DeletePolicyVersion", + "cam:CreatePolicyVersion", + "cam:ListGroupsForConsole", + "cam:ListPolicies", + "cam:ListMaskedSubAccounts", + "cvm:DescribeSecurityGroupLimits", + "cvm:DescribeSecurityGroups", + "cvm:CreateSecurityGroup", + "cvm:DescribeInstances", + "cvm:DescribeInstancesStatus", + "cvm:DescribeSecurityGroupAssociateInstances", + "cvm:DescribeSecurityGroupLimits", + "cvm:DescribeSecurityGroupPolicys", + "cvm:DescribeImages", + "cvm:DescribeCbsStorages", + "cvm:RunInstances", + "cvm:DescribeKeyPairs", + "cvm:DescribeAddresses", + "cvm:ModifySingleSecurityGroupPolicy", + "cvm:CreateSecurityGroupPolicy", + "cvm:DeleteSecurityGroupPolicy", + "clb:DescribeLoadBalancers", + "cloudaudit:DescribeEvents", + "cloudaudit:DescribeEvents", + "ecdn:PurgePathCache", + "ecdn:PurgeUrlsCache", + "ecdn:PushUrlsCache", + "monitor:DescribeDashboardMetricData", + "tke:CreateCluster", + "tke:DescribeClusters", + "tke:DescribeClusterEndpointStatus", + "tke:DescribeClusterEndpointVipStatus", + "tke:DescribeClusterSecurity", + "tke:CreateClusterEndpointVip", + "tke:CreateClusterEndpoint", + "tke:DeleteClusterEndpointVip", + "tke:DeleteClusterEndpoint", + "tke:DeleteCluster", + "tke:DescribeClusterAsGroupOption", + "tke:DescribeClusterInstances", + "tag:DescribeResourceTagsByResourceIds", + "tag:DescribeTagValues", + "tag:TagResources", + "tag:DescribeTagKeys", + "vpc:DescribeSubnetEx", + "vpc:DescribeVpcEx", + "vpc:DescribeVpcLimits", + "vpc:DescribeRouteTable", + "vpc:DescribeNatGateways", + "vpc:DescribeCcns", + "vpc:DescribeCcnAttachedInstances", + "vpc:DescribeLocalGateway", + "vpc:DescribeHaVips", + "vpc:Describe.webpw", + "vpc:DescribeDirectConnectGateways", + "vpc:DescribeVpcPeeringConnections", + "vpc:DescribeCustomerGateways", + "vpc:DescribeRoutes", + "vpc:ModifyNatGatewayAttribute", + "vpc:ResetNatGatewayConnection", + "vpc:DescribeAddress", + "vpc:DescribeTemplateLimits", + "vpc:DescribeAddressGroups", + "vpc:DescribeService", + "vpc:DescribeServiceGroups", + "vpc:DescribeNetworkAcls", + "vpc:DescribeNetworkInterfaces" + ], + "resource": ["*"] + } + ] } ``` @@ -198,24 +196,6 @@ detailing of the Tencent TKE cluster provisioning through Palette: "OsName": "ubuntu18.04.1x86_64 GPU" ``` - :::warning - - While adding Add-on packs to the Cluster Profile, make sure that Persistent Volume Claim size is >=10 GB and in - multiples of 10. - - Example: - - ```yaml - master: - persistence: - enabled: true - accessModes: - - ReadWriteOnce - size: 20Gi - ``` - - ::: - 10. Click **Next** to continue. 11. Provide the Tencent Cloud account and placement information: diff --git a/docs/docs-content/component.md b/docs/docs-content/component.md index ad1f316dfd..e19f79c65c 100644 --- a/docs/docs-content/component.md +++ b/docs/docs-content/component.md @@ -16,7 +16,8 @@ This page lists the version details of various Palette components and their resp | Palette Release | Recommended CLI Version | | --------------- | ----------------------- | -| Release 4.3.0 | v4.3.4 | +| Release 4.4.4 | v4.4.0 | +| Release 4.3.x | v4.3.4 | | Release 4.2.2 | v4.2.0 | | Release 4.1.0 | v4.1.0 | | Release 4.0.0 | v4.0.0 | @@ -27,7 +28,8 @@ This page lists the version details of various Palette components and their resp | Palette Release | CLI Version | | --------------- | ----------- | -| Release 4.3.0 | v4.3.2 | +| Release 4.4.2 | v4.4.4 | +| Release 4.3.x | v4.3.2 | | Release 4.2.3 | v4.2.0 | | Release 4.1.0 | v4.1.2 | | Release 4.0.0 | v4.0.0 | diff --git a/docs/docs-content/enterprise-version/upgrade/upgrade.md b/docs/docs-content/enterprise-version/upgrade/upgrade.md index fb8c8a97e0..103547953d 100644 --- a/docs/docs-content/enterprise-version/upgrade/upgrade.md +++ b/docs/docs-content/enterprise-version/upgrade/upgrade.md @@ -32,6 +32,7 @@ Before upgrading Palette to a new major version, you must first update it to the | **Source Version** | **Target Version** | **Support** | | :----------------: | :----------------: | :----------------: | +| 4.3.6 | 4.4.4 | :white_check_mark: | | 4.2.13 | 4.3.6 | :white_check_mark: | | 4.2.7 | 4.2.13 | :white_check_mark: | | 4.1.x | 4.3.6 | :x: | diff --git a/docs/docs-content/glossary-all.md b/docs/docs-content/glossary-all.md index 5b87320da9..970aeab401 100644 --- a/docs/docs-content/glossary-all.md +++ b/docs/docs-content/glossary-all.md @@ -257,6 +257,12 @@ most desired versions of the base operating system and Kubernetes distribution. **Examples**: (Ubuntu20.0.4+CNCFK8s1.21.3, SLES+K3S). We also encourage our customers to build their own Operating system. +## Palette Terminal User Interface (TUI) + +Palette TUI is a terminal user interface that allows users to configure host and network settings for their Edge hosts. +Palette TUI is not enabled by default, and must have the `stylus.includeTui` parameter set to true for it to be enabled +automatically. + ## Palette Upgrade Controller A Kubernetes controller to be installed into the workload cluster to facilitate upgrades to new P6OS image. diff --git a/docs/docs-content/integrations/calico.md b/docs/docs-content/integrations/calico.md index beeabcf456..3ec0a4370c 100644 --- a/docs/docs-content/integrations/calico.md +++ b/docs/docs-content/integrations/calico.md @@ -43,28 +43,152 @@ Limitations: AWS, VMWare supports IP-in-IP encapsulation type. Azure supports VX +### Prerequisites + +- You have created a bind mount for the `/var/lib/calico` folder on the Edge host. For more information, refer to + [Create Bind Mounts](#create-bind-mounts-for-edge-deployments). + +### Parameters + +| Name | Supported Values | Default value | Description | +| ------------------------ | ----------------------------------------------- | ------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | +| calico.encapsulationType | `CALICO_IPV4POOL_IPIP`, `CALICO_IPV4POOL_VXLAN` | `CALICO_IPV4POOL_IPIP` - AWS, VMware clouds | The encapsulation type to be used for networking (depends on the cloud) | +| | | `CALICO_IPV4POOL_VXLAN` - Azure cloud | | +| calico.encapsulationMode | `Always, CrossSubnet, Never` | Always | The mode to use the IPv4 POOL created at start up | +| calico.calicoNetworkCIDR | CIDR range | `192.168.0.0/16` | CIDR range to be assigned for Pods. This range should match the `podCIDR` range specified in the Kubernetes layer | + +### Usage + +#### Create Bind Mounts for Edge Deployments + +In Edge deployments, Calico requires a bind mount on the host machine. Without the bind mount, it's possible for the +Calico pods to be stuck in the init state. Use the following example to create a bind mount from `/var/lib/calico` on +the Edge host. When you build an installer ISO with the `bind_mounts` block, the folders specified in the block will be +mounted. For more information about building the installer ISO, refer to +[Build Installer ISO](../clusters/edge/edgeforge-workflow/palette-canvos/build-installer-iso.md). + +```yaml +#cloud-config +stylus: + site: + debug: true + insecureSkipVerify: false + paletteEndpoint: api.console.spectrocloud.com + name: edge-appliance-1 + caCerts: + - | + -----BEGIN CERTIFICATE----- + + -----END CERTIFICATE----- + +install: + bind_mounts: + - /var/lib/calico +``` + +### Prerequisites + +- You have created a bind mount for the `/var/lib/calico` folder on the Edge host. For more information, refer to + [Create Bind Mounts](#create-bind-mounts-for-edge-deployments). + +### Parameters + +| Name | Supported Values | Default value | Description | +| ------------------------ | ----------------------------------------------- | ------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | +| calico.encapsulationType | `CALICO_IPV4POOL_IPIP`, `CALICO_IPV4POOL_VXLAN` | `CALICO_IPV4POOL_IPIP` - AWS, VMware clouds | The encapsulation type to be used for networking (depends on the cloud) | +| | | `CALICO_IPV4POOL_VXLAN` - Azure cloud | | +| calico.encapsulationMode | `Always, CrossSubnet, Never` | Always | The mode to use the IPv4 POOL created at start up | +| calico.calicoNetworkCIDR | CIDR range | `192.168.0.0/16` | CIDR range to be assigned for Pods. This range should match the `podCIDR` range specified in the Kubernetes layer | + +### Usage + +#### Create Bind Mounts for Edge Deployments + +In Edge deployments, Calico requires a bind mount on the host machine. Without the bind mount, it's possible for the +Calico pods to be stuck in the init state. Use the following example to create a bind mount from `/var/lib/calico` on +the Edge host. When you build an installer ISO with the `bind_mounts` block, the folders specified in the block will be +mounted. For more information about building the installer ISO, refer to +[Build Installer ISO](../clusters/edge/edgeforge-workflow/palette-canvos/build-installer-iso.md). + +```yaml +#cloud-config +stylus: + site: + debug: true + insecureSkipVerify: false + paletteEndpoint: api.console.spectrocloud.com + name: edge-appliance-1 + caCerts: + - | + -----BEGIN CERTIFICATE----- + + -----END CERTIFICATE----- + +install: + bind_mounts: + - /var/lib/calico +``` + - +### Prerequisites - +- You have created a bind mount for the `/var/lib/calico` folder on the Edge host. For more information, refer to + [Create Bind Mounts](#create-bind-mounts-for-edge-deployments). - +### Parameters - +| Name | Supported Values | Default value | Description | +| ------------------------ | ----------------------------------------------- | ------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | +| calico.encapsulationType | `CALICO_IPV4POOL_IPIP`, `CALICO_IPV4POOL_VXLAN` | `CALICO_IPV4POOL_IPIP` - AWS, VMware clouds | The encapsulation type to be used for networking (depends on the cloud) | +| | | `CALICO_IPV4POOL_VXLAN` - Azure cloud | | +| calico.encapsulationMode | `Always, CrossSubnet, Never` | Always | The mode to use the IPv4 POOL created at start up | +| calico.calicoNetworkCIDR | CIDR range | `192.168.0.0/16` | CIDR range to be assigned for Pods. This range should match the `podCIDR` range specified in the Kubernetes layer | -All versions below version 3.23.x are deprecated. +### Usage + +#### Create Bind Mounts for Edge Deployments + +In Edge deployments, Calico requires a bind mount on the host machine. Without the bind mount, it's possible for the +Calico pods to be stuck in the init state. Use the following example to create a bind mount from `/var/lib/calico` on +the Edge host. When you build an installer ISO with the `bind_mounts` block, the folders specified in the block will be +mounted. For more information about building the installer ISO, refer to +[Build Installer ISO](../clusters/edge/edgeforge-workflow/palette-canvos/build-installer-iso.md). + +```yaml +#cloud-config +stylus: + site: + debug: true + insecureSkipVerify: false + paletteEndpoint: api.console.spectrocloud.com + name: edge-appliance-1 + caCerts: + - | + -----BEGIN CERTIFICATE----- + + -----END CERTIFICATE----- + +install: + bind_mounts: + - /var/lib/calico +``` - + + +### Prerequisites -## Parameters +- You have created a bind mount for the `/var/lib/calico` folder on the Edge host. For more information, refer to + [Create Bind Mounts](#create-bind-mounts-for-edge-deployments). + +### Parameters | Name | Supported Values | Default value | Description | | ------------------------ | ----------------------------------------------- | ------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | @@ -73,11 +197,68 @@ All versions below version 3.23.x are deprecated. | calico.encapsulationMode | `Always, CrossSubnet, Never` | Always | The mode to use the IPv4 POOL created at start up | | calico.calicoNetworkCIDR | CIDR range | `192.168.0.0/16` | CIDR range to be assigned for Pods. This range should match the `podCIDR` range specified in the Kubernetes layer | +### Usage + +#### Create Bind Mounts for Edge Deployments + +In Edge deployments, Calico requires a bind mount on the host machine. Without the bind mount, it's possible for the +Calico pods to be stuck in the init state. Use the following example to create a bind mount from `/var/lib/calico` on +the Edge host. When you build an installer ISO with the `bind_mounts` block, the folders specified in the block will be +mounted. For more information about building the installer ISO, refer to +[Build Installer ISO](../clusters/edge/edgeforge-workflow/palette-canvos/build-installer-iso.md). + +```yaml {14-16} +#cloud-config +stylus: + site: + debug: true + insecureSkipVerify: false + paletteEndpoint: api.console.spectrocloud.com + name: edge-appliance-1 + caCerts: + - | + -----BEGIN CERTIFICATE----- + + -----END CERTIFICATE----- + +install: + bind_mounts: + - /var/lib/calico +``` + + + + + +All versions below version 3.23.x are deprecated. + + + + + ## Troubleshooting - A daemon set is installed and so a calico-node pod should run on all the nodes in the cluster to provide networking. - For any issues with networking, check calico-node and calico-kube-controller pods on the cluster. +## Terraform + +Use the following Terraform snippet to reference the Calico CNI pack in your Terraform template. + +```hcl + +data "spectrocloud_registry" "public_registry" { + name = "Public Repo" +} + +data "spectrocloud_pack_simple" "calico" { + name = "cni-calico" + version = "3.26.0" + type = "helm" + registry_uid = data.spectrocloud_registry.public_registry.id +} +``` + ## References - [Calico Documentation](https://docs.tigera.io/calico/latest/reference) diff --git a/docs/docs-content/integrations/frp.md b/docs/docs-content/integrations/frp.md index 959dd1c3cd..17955a4e57 100644 --- a/docs/docs-content/integrations/frp.md +++ b/docs/docs-content/integrations/frp.md @@ -177,6 +177,64 @@ public endpoints. Any user with access to the internet can connect to the cluste ## Versions Supported + + +## Prerequisites + +- Outbound internet connectivity for port 443 is allowed so that you and your applications can connect with the Spectro + Cloud reverse proxy. + +## Parameters + +The Spectro Proxy supports the following parameters. + +| Parameter | Description | Default | +| ---------- | ------------------------------------------------------ | ------------------------------------------- | +| namespace | The Kubernetes namespace to install the Spectro Proxy. | `cluster-{{ .spectro.system.cluster.uid }}` | +| server | The Kubernetes server. | `{{ .spectro.system.reverseproxy.server }}` | +| clusterUid | The Kubernetes cluster identifier. | `{{ .spectro.system.cluster.uid }}` | +| subdomain | The Kubernetes cluster subdomain identifier. | `cluster-{{ .spectro.system.cluster.uid }}` | + +Image Pull Policy configurations. + +| Parameter | Description | Default | +| ------------------------ | ----------------------------------------------------------- | -------------- | +| frpcInit.imagePullPolicy | The image pull policy for the Spectro Proxy init container. | `IfNotPresent` | +| frpc.imagePullSecrets | The image pull secrets for the Spectro Proxy container. | `IfNotPresent` | + +The Kubernetes dashboard integration supports the following parameters. + +| Parameter | Description | Default | +| --------------- | ------------------------------------------- | ------- | +| enabled | Enable the dashboard. | `false` | +| useInsecurePort | Use unsecure port (HTTP) for communication. | `false` | + +The VMware dashboard integration supports the following parameters. + +| Parameter | Description | Default | +| --------- | --------------------- | ------- | +| enabled | Enable the dashboard. | `false` | + +## Usage + +To use this pack, you have to add it to your cluster profile. You can also add the Spectro Proxy pack when you create +the cluster profile. Check out the +[Create Cluster Profile](../profiles/cluster-profiles/create-cluster-profiles/create-cluster-profiles.md) guide to learn +more about cluster profile creation. + +The kubeconfig file generated for the host cluster is updated with the Spectro Proxy server's address. Refer to the +[Access Cluster with CLI](../clusters/cluster-management/palette-webctl.md) guide to learn how to download the +kubeconfig file and access the cluster. + +:::warning + +If this pack is added as a Day-2 operation, meaning not during the cluster creation process, you will have to +re-download the kubeconfig file to pick up the new configuration changes. This will also result in the Kubernetes +control plane nodes getting repaved. + +::: + + diff --git a/docs/docs-content/integrations/kubebench.md b/docs/docs-content/integrations/kubebench.md index 22c4dd667d..26a00e2d45 100644 --- a/docs/docs-content/integrations/kubebench.md +++ b/docs/docs-content/integrations/kubebench.md @@ -10,8 +10,8 @@ logoUrl: https://registry-addon.spectrocloud.com/v1/kube-bench/blobs/sha256:28c2 tags: ["packs", "kube-bench", "security"] --- -Palette executes kube-bench, a CIS Benchmark scanner by Aqua Security, for every Kubernetes pack to ensure the master -and worker nodes are configured securely. It is available as an Add-on layer within Palette. +Palette executes kube-bench, a CIS Benchmark scanner by Aqua Security, for every Kubernetes pack to ensure the control +plane and worker nodes are configured securely. It is available as an Add-on layer within Palette. kube-bench runs against a series of checks specified in a `controls` YAML file. For more information on how to write tests and config files, refer to the [controls](https://github.com/aquasecurity/kube-bench/blob/main/docs/controls.md) diff --git a/docs/docs-content/integrations/kubernetes-edge.md b/docs/docs-content/integrations/kubernetes-edge.md index 4602afc391..83d3a5452f 100644 --- a/docs/docs-content/integrations/kubernetes-edge.md +++ b/docs/docs-content/integrations/kubernetes-edge.md @@ -71,8 +71,8 @@ The PXK-E used in [Palette VerteX](../vertex/vertex.md) is compiled and linked w [NIST-certified FIPS crypto module](../legal-licenses/compliance.md#fips-140-2). PXK-E is by default enabled with [Ubuntu Pro](https://ubuntu.com/pro) with FIPS mode enabled. Additionally, the Operating System (OS) is hardened based on the NIST-800 standard. Refer to the -[Build Edge Artifacts](../clusters/edge/edgeforge-workflow/palette-canvos/build-artifacts.md) guide to learn more on how -to build the PXK-E image with FIPS mode enabled. +[Build Edge Artifacts](../clusters/edge/edgeforge-workflow/palette-canvos/fips.md) guide to learn more on how to build +the PXK-E image with FIPS mode enabled. The combined usage of PXK-E and Palette VerteX provides a secure and FIPS-compliant experience as the Kubernetes distribution, OS, and management platform VerteX is FIPS-compliant. diff --git a/docs/docs-content/integrations/kubernetes-generic.md b/docs/docs-content/integrations/kubernetes-generic.md index 7e7f931c8e..12b3a9d8ed 100644 --- a/docs/docs-content/integrations/kubernetes-generic.md +++ b/docs/docs-content/integrations/kubernetes-generic.md @@ -38,6 +38,237 @@ the [Kubernetes Support Lifecycle](kubernetes-support.md#palette-extended-kubern ## Versions Supported + + +## Prerequisites + +- A minimum of 4 CPU and 4 GB memory. + +- Users or groups mapped to a Kubernetes RBAC role. + +- Operating System (OS) dependencies as listed in the table. + +| OS Distribution | OS Version | Supports Kubernetes 1.29.x | +| --------------- | ---------- | -------------------------- | +| CentOS | 7.7 | ❌ | +| Ubuntu | 22.04 | ✅ | +| Ubuntu | 20.04 | ❌ | + +## Parameters + +| Parameter | Description | +| ------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `pack.palette.config.oidcidentityProvider` | OIDC identity provider configuration. | +| `pack.podCIDR` | The CIDR range for Pods in cluster. This should match the networking layer property. Default: `192.168.0.0/16`. | +| `pack.serviceClusterIpRange` | The CIDR range for services in the cluster. This should not overlap with any IP ranges assigned to nodes or pods. Default: `10.96.0.0/12`. | +| `pack.serviceDomain` | The cluster DNS service domain. Default: `cluster.local`. To change the default, you must add this parameter to the Kubernetes YAML file at cluster creation and specify the cluster DNS service domain to use. This value cannot be changed after the cluster creation is complete. Refer to the [Change Cluster DNS Service Domain](kubernetes-generic.md?platform=AKS&versions=k8s_v1.27#change-cluster-dns-service-domain) section. | +| `kubeadmconfig.apiServer.extraArgs` | A list of additional `apiServer` flags you can set. | +| `kubeadmconfig.apiServer.extraVolumes` | A list of additional volumes to mount on `apiServer`. | +| `kubeadmconfig.controllerManager.extraArgs` | A list of additional `ControllerManager` flags to set. | +| `kubeadmconfig.scheduler.extraArgs` | A list of additional Kube scheduler flags to set. | +| `kubeadmconfig.kubeletExtraArgs` | A list of kubelet arguments to set and copy to the nodes. | +| `kubeadmconfig.files` | A list of additional files to copy to the nodes. | +| `kubeadmconfig.preKubeadmCommands` | A list of additional commands to invoke **before** running kubeadm commands. | +| `kubeadmconfig.postKubeadmCommands` | A list of additional commands to invoke **after** running kubeadm commands. | + +## Usage + +The Kubeadm configuration file is where you can do the following: + +- Change the default `podCIDR` and `serviceClusterIpRange` values. CIDR IPs specified in the configuration file take + precedence over other defined CIDR IPs in your environment. + + As you build your cluster, check that the `podCIDR` value does not overlap with any hosts or with the service network + and the `serviceClusterIpRange` value does not overlap with any IP ranges assigned to nodes or pods. For more + information, refer to the [Clusters](../clusters/clusters.md) guide and + [Cluster Deployment Errors](../troubleshooting/cluster-deployment.md). + +- Change the default cluster DNS service domain from `cluster.local` to a DNS domain that you specify. You can only + change the DNS domain during cluster creation. For more information, refer to + [Change Cluster DNS Service Domain](kubernetes-generic.md?platform=AKS&versions=k8s_v1.27#change-cluster-dns-service-domain). + +- Add a certificate for the Spectro Proxy pack if you want to use a reverse proxy with a Kubernetes cluster. For more + information, refer to the [Spectro Proxy](frp.md) guide. + +### Change Cluster DNS Service Domain + +The `pack.serviceDomain` parameter with default value `cluster.local` is not visible in the Kubernetes YAML file, and +its value can only be changed at cluster creation. To change the value, you must add `serviceDomain: "cluster.local"` to +the Kubernetes YAML file when you create a cluster, and specify the service domain you want to use. + +```yaml hideClipboard +pack: + k8sHardening: True + podCIDR: "172.16.0.0/16" + serviceClusterIPRange: "10.96.0.0/12" + serviceDomain: "" +``` + +:::warning + +You can specify the service domain only at cluster creation. After the cluster creation completes, you cannot update the +value. Attempting to update it results in the error `serviceDomain update is forbidden for existing cluster`. + +::: + +For more information about networking configuration with DNS domains, refer to the Kubernetes +[Networking](https://kubernetes.io/docs/reference/config-api/kubeadm-config.v1beta3/#kubeadm-k8s-io-v1beta3-Networking) +API documentation. + +### Configuration Changes + +The Kubeadm config is updated with hardening improvements that do the following: + +- Meet CIS standards for Operating Systems (OS). + +- Enable a Kubernetes audit policy in the pack. The audit policy is hidden, and you cannot customize the default audit + policy. If you want to apply your custom audit policy, refer to the + [Enable Audit Logging](../audit-logs/kube-api-audit-logging.md) guide to learn how to create your custom audit policy + by adjusting the API server flags. + +- Replace a deprecated PodSecurityPolicy (PSP) with one that offers three built-in policy profiles for broad security + coverage: + + - **Privileged**: An unrestricted policy that provides wide permission levels and allows for known privilege + escalations. + + - **Baseline**: A policy that offers minimal restrictions and prevents known privilege escalations. As shown in the + example below, you can override the default cluster-wide policy to set baseline enforcement by enabling the + `PodSecurity` Admission plugin in the `enable-admission-plugins` section of the YAML file. You can then add a custom + Admission configuration and set the `admission-control-config-file` flag to the custom Admission. + + ```yaml + kubeadmconfig: + apiServer: + extraArgs: + secure-port: "6443" + anonymous-auth: "true" + profiling: "false" + disable-admission-plugins: "AlwaysAdmit" + default-not-ready-toleration-seconds: "60" + default-unreachable-toleration-seconds: "60" + enable-admission-plugins: "AlwaysPullImages,NamespaceLifecycle,ServiceAccount,NodeRestriction,PodSecurity" + admission-control-config-file: "/etc/kubernetes/pod-security-standard.yaml" + audit-log-path: /var/log/apiserver/audit.log + audit-policy-file: /etc/kubernetes/audit-policy.yaml + ``` + + - **Restricted**: A heavily restricted policy that follows the best practices of Pod hardening. This policy is set to + warn and audit and identifies Pods that require privileged access. + + You can enforce these policies at the Cluster or Namespace level. For workloads that require privileged access, you + can relax `PodSecurity` enforcement by adding these labels in the Namespace: + + ```yaml + pod-security.kubernetes.io/enforce: privileged + pod-security.kubernetes.io/enforce-version: v1.26 + ``` + +### Kubeadm Configuration File + +The default pack YAML contains minimal configurations offered by the managed provider. + +### Configure OIDC Identity Provider + +You can configure an OpenID Connect (OIDC) identity provider to authenticate users and groups in your cluster. OIDC is +an authentication layer on top of OAuth 2.0, an authorization framework that allows users to authenticate to a cluster +without using a password. + +OIDC requires a _Role Binding_ for the users or groups you want to provide cluster access. You must create a Role +Binding to a Kubernetes role that is available in the cluster. The Kubernetes role can be a custom role you created or a +[default Kubernetes role](https://kubernetes.io/docs/reference/access-authn-authz/rbac/#user-facing-roles), such as the +`cluster-admin` role. To learn how to create a Role Binding through Palette, refer to +[Create Role Bindings](../clusters/cluster-management/cluster-rbac.md#create-role-bindings). + +#### Configure Custom OIDC + +The custom method to configure OIDC and apply RBAC for an OIDC provider can be used for all cloud services except Amazon +Elastic Kubernetes Service (EKS) and [Azure-AKS](../clusters/public-cloud/azure/aks.md). + + + + + +Follow these steps to configure a third-party OIDC IDP. You can apply these steps to all the public cloud providers +except Azure AKS and Amazon EKS clusters. Azure AKS and Amazon EKS require different configurations. AKS requires you to +use Azure Active Directory (AAD) to enable OIDC integration. Refer to +[Enable OIDC in Kubernetes Clusters With Entra ID](../user-management/saml-sso/palette-sso-with-entra-id.md#enable-oidc-in-kubernetes-clusters-with-entra-id) +to learn more. Click the **Amazon EKS** tab for steps to configure OIDC for EKS clusters. + +1. Add the following parameters to your Kubernetes YAML file when creating a cluster profile. Replace the + `identityProvider` value with your OIDC provider name. + + ```yaml + pack: + palette: + config: + oidc: + identityProvider: yourIdentityProviderNameHere + ``` + +2. Add the following `kubeadmconfig` parameters. Replace the values with your OIDC provider values. + + ```yaml + kubeadmconfig: + apiServer: + extraArgs: + oidc-issuer-url: "provider URL" + oidc-client-id: "client-id" + oidc-groups-claim: "groups" + oidc-username-claim: "email" + ``` + +3. Under the `clientConfig` parameter section of Kubernetes YAML file, uncomment the `oidc-` configuration lines. + + ```yaml + kubeadmconfig: + clientConfig: + oidc-issuer-url: "" + oidc-client-id: "" + oidc-client-secret: "" + oidc-extra-scope: profile,email,openid + ``` + + + + + +Follow these steps to configure OIDC for managed EKS clusters. + +1. In the Kubernetes pack, uncomment the lines in the `oidcIdentityProvider` parameter section of the Kubernetes pack, + and enter your third-party provider details. + + ```yaml + oidcIdentityProvider: + identityProviderConfigName: "Spectro-docs" + issuerUrl: "issuer-url" + clientId: "user-client-id-from-Palette" + usernameClaim: "email" + usernamePrefix: "-" + groupsClaim: "groups" + groupsPrefix: "" + requiredClaims: + ``` + +2. Under the `clientConfig` parameter section of Kubernetes pack, uncomment the `oidc-` configuration lines. + + ```yaml + clientConfig: + oidc-issuer-url: "{{ .spectro.pack.kubernetes-eks.managedControlPlane.oidcIdentityProvider.issuerUrl }}" + oidc-client-id: "{{ .spectro.pack.kubernetes-eks.managedControlPlane.oidcIdentityProvider.clientId }}" + oidc-client-secret: yourSecretKeyHere + oidc-extra-scope: profile,email + ``` + +3. Provide third-party OIDC IDP details. + +4. Refer to the [Access EKS Cluster](../clusters/public-cloud/aws/eks.md#access-eks-cluster) for guidance on how to + access an EKS cluster. + + + + + ## Prerequisites @@ -48,12 +279,11 @@ the [Kubernetes Support Lifecycle](kubernetes-support.md#palette-extended-kubern - Operating System (OS) dependencies as listed in the table. -| OS Distribution | OS Version | Supports Kubernetes 1.27.x | +| OS Distribution | OS Version | Supports Kubernetes 1.28.x | | --------------- | ---------- | -------------------------- | | CentOS | 7.7 | ❌ | | Ubuntu | 22.04 | ✅ | | Ubuntu | 20.04 | ❌ | -| Ubuntu | 18.04 | ❌ | ## Parameters @@ -199,36 +429,36 @@ to learn more. Click the **Amazon EKS** tab for steps to configure OIDC for EKS 1. Add the following parameters to your Kubernetes YAML file when creating a cluster profile. Replace the `identityProvider` value with your OIDC provider name. -```yaml -pack: - palette: - config: - oidc: - identityProvider: yourIdentityProviderNameHere -``` + ```yaml + pack: + palette: + config: + oidc: + identityProvider: yourIdentityProviderNameHere + ``` 2. Add the following `kubeadmconfig` parameters. Replace the values with your OIDC provider values. -```yaml -kubeadmconfig: - apiServer: - extraArgs: - oidc-issuer-url: "provider URL" - oidc-client-id: "client-id" - oidc-groups-claim: "groups" - oidc-username-claim: "email" -``` + ```yaml + kubeadmconfig: + apiServer: + extraArgs: + oidc-issuer-url: "provider URL" + oidc-client-id: "client-id" + oidc-groups-claim: "groups" + oidc-username-claim: "email" + ``` 3. Under the `clientConfig` parameter section of Kubernetes YAML file, uncomment the `oidc-` configuration lines. -```yaml -kubeadmconfig: - clientConfig: - oidc-issuer-url: "" - oidc-client-id: "" - oidc-client-secret: "" - oidc-extra-scope: profile,email,openid -``` + ```yaml + kubeadmconfig: + clientConfig: + oidc-issuer-url: "" + oidc-client-id: "" + oidc-client-secret: "" + oidc-extra-scope: profile,email,openid + ``` @@ -239,27 +469,27 @@ Follow these steps to configure OIDC for managed EKS clusters. 1. In the Kubernetes pack, uncomment the lines in the `oidcIdentityProvider` parameter section of the Kubernetes pack, and enter your third-party provider details. -```yaml -oidcIdentityProvider: - identityProviderConfigName: "Spectro-docs" - issuerUrl: "issuer-url" - clientId: "user-client-id-from-Palette" - usernameClaim: "email" - usernamePrefix: "-" - groupsClaim: "groups" - groupsPrefix: "" - requiredClaims: -``` + ```yaml + oidcIdentityProvider: + identityProviderConfigName: "Spectro-docs" + issuerUrl: "issuer-url" + clientId: "user-client-id-from-Palette" + usernameClaim: "email" + usernamePrefix: "-" + groupsClaim: "groups" + groupsPrefix: "" + requiredClaims: + ``` 2. Under the `clientConfig` parameter section of Kubernetes pack, uncomment the `oidc-` configuration lines. -```yaml -clientConfig: - oidc-issuer-url: "{{ .spectro.pack.kubernetes-eks.managedControlPlane.oidcIdentityProvider.issuerUrl }}" - oidc-client-id: "{{ .spectro.pack.kubernetes-eks.managedControlPlane.oidcIdentityProvider.clientId }}" - oidc-client-secret: yourSecretKeyHere - oidc-extra-scope: profile,email -``` + ```yaml + clientConfig: + oidc-issuer-url: "{{ .spectro.pack.kubernetes-eks.managedControlPlane.oidcIdentityProvider.issuerUrl }}" + oidc-client-id: "{{ .spectro.pack.kubernetes-eks.managedControlPlane.oidcIdentityProvider.clientId }}" + oidc-client-secret: yourSecretKeyHere + oidc-extra-scope: profile,email + ``` 3. Provide third-party OIDC IDP details. @@ -285,7 +515,6 @@ clientConfig: | CentOS | 7.7 | ❌ | | Ubuntu | 22.04 | ✅ | | Ubuntu | 20.04 | ❌ | -| Ubuntu | 18.04 | ❌ | ## Parameters @@ -431,36 +660,36 @@ to learn more. Click the **Amazon EKS** tab for steps to configure OIDC for EKS 1. Add the following parameters to your Kubernetes YAML file when creating a cluster profile. Replace the `identityProvider` value with your OIDC provider name. -```yaml -pack: - palette: - config: - oidc: - identityProvider: yourIdentityProviderNameHere -``` + ```yaml + pack: + palette: + config: + oidc: + identityProvider: yourIdentityProviderNameHere + ``` 2. Add the following `kubeadmconfig` parameters. Replace the values with your OIDC provider values. -```yaml -kubeadmconfig: - apiServer: - extraArgs: - oidc-issuer-url: "provider URL" - oidc-client-id: "client-id" - oidc-groups-claim: "groups" - oidc-username-claim: "email" -``` + ```yaml + kubeadmconfig: + apiServer: + extraArgs: + oidc-issuer-url: "provider URL" + oidc-client-id: "client-id" + oidc-groups-claim: "groups" + oidc-username-claim: "email" + ``` 3. Under the `clientConfig` parameter section of Kubernetes YAML file, uncomment the `oidc-` configuration lines. -```yaml -kubeadmconfig: - clientConfig: - oidc-issuer-url: "" - oidc-client-id: "" - oidc-client-secret: "" - oidc-extra-scope: profile,email,openid -``` + ```yaml + kubeadmconfig: + clientConfig: + oidc-issuer-url: "" + oidc-client-id: "" + oidc-client-secret: "" + oidc-extra-scope: profile,email,openid + ``` @@ -581,8 +810,8 @@ data "spectrocloud_registry" "public_registry" { } data "spectrocloud_pack_simple" "k8s" { - name = "kubernetes-tke" - version = "1.24.4" + name = "kubernetes-eks" + version = "1.29." type = "helm" registry_uid = data.spectrocloud_registry.public_registry.id } diff --git a/docs/docs-content/integrations/kubernetes.md b/docs/docs-content/integrations/kubernetes.md index 94553be06b..905870e905 100644 --- a/docs/docs-content/integrations/kubernetes.md +++ b/docs/docs-content/integrations/kubernetes.md @@ -87,7 +87,7 @@ four months. Once we stop supporting the minor version, we initiate the deprecat - Operating System (OS) dependencies as listed in the table. - | OS Distribution | OS Version | Supports Kubernetes 1.27.x | + | OS Distribution | OS Version | Supports Kubernetes 1.29.x | | --------------- | ---------- | -------------------------- | | CentOS | 7.7 | ✅ | | Ubuntu | 22.04 | ✅ | @@ -455,12 +455,11 @@ cloud: - Operating System (OS) dependencies as listed in the table. - | OS Distribution | OS Version | Supports Kubernetes 1.27.x | + | OS Distribution | OS Version | Supports Kubernetes 1.28.x | | --------------- | ---------- | -------------------------- | | CentOS | 7.7 | ✅ | | Ubuntu | 22.04 | ✅ | | Ubuntu | 20.04 | ❌ | - | Ubuntu | 18.04 | ❌ | ## Parameters @@ -828,7 +827,6 @@ cloud: | CentOS | 7.7 | ✅ | | Ubuntu | 22.04 | ✅ | | Ubuntu | 20.04 | ❌ | - | Ubuntu | 18.04 | ❌ | ## Parameters @@ -1177,7 +1175,7 @@ data "spectrocloud_registry" "public_registry" { data "spectrocloud_pack_simple" "k8s" { name = "kubernetes" - version = "1.26.4" + version = "1.29.4" type = "helm" registry_uid = data.spectrocloud_registry.public_registry.id } diff --git a/docs/docs-content/integrations/microk8s.md b/docs/docs-content/integrations/microk8s.md index 6e94bc021c..fb3953a2c5 100644 --- a/docs/docs-content/integrations/microk8s.md +++ b/docs/docs-content/integrations/microk8s.md @@ -51,6 +51,9 @@ Refer to the [Kubernetes Support Lifecycle](kubernetes-support.md#other-kubernet | -------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `microk8sConfig.addons` | A list of [MicroK8s addons](https://microk8s.io/docs/addons) you can set for your cluster. `Ingress` and `DNS` are mandatory and enabled by default. | | `microk8sConfig.upgradeStrategy` | It describes how to replace existing nodes of your cluster with new ones during upgrades. Values can be `RollingUpgrade` (default), `InPlaceUpgrade`, or `SmartUpgrade`. Refer to the [Usage](#usage) section for guidance. | +| `microk8sConfig.bootCommands` | A list of commands you can set to be executed during boot. | +| `microk8sConfig.preRunCommands` | A list of commands you can set to be executed before installing MicroK8s in your cluster. | +| `microk8sConfig.postRunCommands` | A list of commands you can set to be executed after installing MicroK8s in your cluster. | ### Usage @@ -130,6 +133,9 @@ node: | -------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `microk8sConfig.addons` | A list of [MicroK8s addons](https://microk8s.io/docs/addons) you can set for your cluster. `Ingress` and `DNS` are mandatory and enabled by default. | | `microk8sConfig.upgradeStrategy` | It describes how to replace existing nodes of your cluster with new ones during upgrades. Values can be `RollingUpgrade` (default), `InPlaceUpgrade`, or `SmartUpgrade`. Refer to the [Usage](#usage) section for guidance. | +| `microk8sConfig.bootCommands` | A list of commands you can set to be executed during boot. | +| `microk8sConfig.preRunCommands` | A list of commands you can set to be executed before installing MicroK8s in your cluster. | +| `microk8sConfig.postRunCommands` | A list of commands you can set to be executed after installing MicroK8s in your cluster. | ### Usage @@ -192,6 +198,31 @@ The MicroK8s pack supports three types of upgrade strategies: | -------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `microk8sConfig.addons` | A list of [MicroK8s addons](https://microk8s.io/docs/addons) you can set for your cluster. `Ingress` and `DNS` are mandatory and enabled by default. | | `microk8sConfig.upgradeStrategy` | It describes how to replace existing nodes of your cluster with new ones during upgrades. Values can be `RollingUpgrade` (default), `InPlaceUpgrade`, or `SmartUpgrade`. Refer to the [Usage](#usage) section for guidance. | +| `microk8sConfig.bootCommands` | A list of commands you can set to be executed during boot. | +| `microk8sConfig.preRunCommands` | A list of commands you can set to be executed before installing MicroK8s in your cluster. | +| `microk8sConfig.postRunCommands` | A list of commands you can set to be executed after installing MicroK8s in your cluster. | + +:::tip + +Even though the `microk8sConfig.bootCommands`, `microk8sConfig.preRunCommands`, and `microk8sConfig.postRunCommands` +parameters are not visible in the YAML file displayed for the MicroK8s pack during cluster profile creation, you can +manually add them to the pack settings according to the example below. + +```yaml +microk8sConfig: + addons: + - dns + - ingress + upgradeStrategy: RollingUpgrade + bootCommands: + - 'echo "===> bootCommands1" > /home/ubuntu/myfile1.txt' + preRunCommands: + - 'echo "===> preRunCommands1" > /home/ubuntu/myfile3.txt' + postRunCommands: + - 'echo "List of postRun commands to be executed"' +``` + +::: ### Usage diff --git a/docs/docs-content/integrations/rook-ceph.md b/docs/docs-content/integrations/rook-ceph.md index c38b44da4a..e36eca9b65 100644 --- a/docs/docs-content/integrations/rook-ceph.md +++ b/docs/docs-content/integrations/rook-ceph.md @@ -39,6 +39,10 @@ The pack has two presets that provide the following two configurations: - If you are using Rook on Edge, the Edge host needs to be created with at least two hard disks. +- If you are using Rook on Edge, you must have create a bind mount for the `/var/lib/rook` folder on the Edge host. For + more information, refer to + [Create Bind Mounts](../clusters/edge/edgeforge-workflow/prepare-user-data.md#create-bind-mounts). + ## Parameters | Parameter | Description | Default | @@ -142,6 +146,10 @@ clusters. - If you are using Rook on Edge, the Edge host needs to be created with at least two hard disks. The actual required number of disks depend on your cluster configuration. +- If you are using Rook on Edge, you must have create a bind mount for the `/var/lib/rook` folder on the Edge host. For + more information, refer to + [Create Bind Mounts](../clusters/edge/edgeforge-workflow/prepare-user-data.md#create-bind-mounts). + ## Parameters | Parameter | Description | Default | @@ -245,6 +253,10 @@ clusters. - If you are using Rook on Edge, the Edge host needs to be created with at least two hard disks. The actual required number of disks depend on your cluster configuration. +- If you are using Rook on Edge, you must have create a bind mount for the `/var/lib/rook` folder on the Edge host. For + more information, refer to + [Create Bind Mounts](../clusters/edge/edgeforge-workflow/prepare-user-data.md#create-bind-mounts). + ## Parameters | Parameter | Description | Default | diff --git a/docs/docs-content/integrations/ubuntu.md b/docs/docs-content/integrations/ubuntu.md index 38d0f2ef2f..4b2e2905b6 100644 --- a/docs/docs-content/integrations/ubuntu.md +++ b/docs/docs-content/integrations/ubuntu.md @@ -48,6 +48,9 @@ Review [Maintenance Policy](maintenance-policy.md#os-packs) to learn about pack | Kubernetes Version | Supports Kubernetes | | ------------------ | ------------------- | +| 1.29 | ✅ | +| 1.28 | ✅ | +| 1.27 | ✅ | | 1.26 | ✅ | | 1.25 | ✅ | | 1.24 | ❌ | diff --git a/docs/docs-content/legal-licenses/oss-licenses.md b/docs/docs-content/legal-licenses/oss-licenses.md index 78befd725b..86f6ab78f4 100644 --- a/docs/docs-content/legal-licenses/oss-licenses.md +++ b/docs/docs-content/legal-licenses/oss-licenses.md @@ -13,481 +13,530 @@ have any questions or concerns, contact us at support@spectrocloud.com | **Library** | **License** | | --------------------------------------------------------------------------------------------- | ----------------------------------------------------------- | -| atomicgo.dev/cursor | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| atomicgo.dev/keyboard | [MIT](https://opensource.org/license/mit/) | -| atomicgo.dev/schedule | [MIT](https://opensource.org/license/mit/) | -| cloud.google.com/go/compute/metadata | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| cloud.google.com/go/container/apiv1/containerpb | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| dario.cat/mergo | [MIT](https://opensource.org/license/mit/) | -| emperror.dev/errors | [MIT](https://opensource.org/license/mit/) | -| github.com/andreburgaud/crypt2go | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| github.com/andybalholm/brotli | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/antlr/antlr4/runtime/Go/antlr | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/apparentlymart/go-cidr/cidr | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/asaskevich/govalidator | [MIT](https://opensource.org/license/mit/) | -| github.com/avast/retry-go | [MIT](https://opensource.org/license/mit/) | -| github.com/aws/amazon-vpc-cni-k8s/pkg/apis/crd/v1alpha1 | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| github.com/aws/aws-sdk-go | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/aws/aws-sdk-go/internal/sync/singleflight | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| github.com/awslabs/goformation/v4 | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/aybabtme/rgbterm | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/Azure/azure-pipeline-go/pipeline | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/Azure/azure-sdk-for-go | [MIT](https://opensource.org/license/mit/) | -| github.com/Azure/azure-sdk-for-go/sdk/azcore | [MIT](https://opensource.org/license/mit/) | -| github.com/Azure/azure-sdk-for-go/sdk/azidentity | [MIT](https://opensource.org/license/mit/) | -| github.com/Azure/azure-sdk-for-go/sdk/internal | [MIT](https://opensource.org/license/mit/) | -| github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/xdg-go/scram | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | | github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute/v4 | [MIT](https://opensource.org/license/mit/) | -| github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/containerservice/armcontainerservice | [MIT](https://opensource.org/license/mit/) | -| github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/containerservice/armcontainerservice/v4 | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork | [MIT](https://opensource.org/license/mit/) | -| github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/privatedns/armprivatedns | [MIT](https://opensource.org/license/mit/) | -| github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources | [MIT](https://opensource.org/license/mit/) | -| github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage | [MIT](https://opensource.org/license/mit/) | -| github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/subscription/armsubscription | [MIT](https://opensource.org/license/mit/) | -| github.com/Azure/azure-storage-blob-go/azblob | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| github.com/Azure/go-autorest/autorest | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/Azure/go-autorest/autorest/adal | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/Azure/go-autorest/autorest/azure/auth | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/Azure/go-autorest/autorest/azure/cli | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/Azure/go-autorest/autorest/date | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/Azure/go-autorest/autorest/to | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/Azure/go-autorest/autorest/validation | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/Azure/go-autorest/logger | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/Azure/go-autorest/tracing | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/AzureAD/microsoft-authentication-library-for-go/apps | [MIT](https://opensource.org/license/mit/) | -| github.com/beevik/etree | [BSD-2-Clause](https://opensource.org/license/bsd-2-clause) | -| github.com/beorn7/perks/quantile | [BSD-2-Clause](https://opensource.org/license/bsd-2-clause) | -| github.com/bketelsen/logr | [MIT](https://opensource.org/license/mit/) | -| github.com/blang/semver | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/blang/semver/v4 | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/bshuster-repo/logrus-logstash-hook | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/BurntSushi/toml | [MIT](https://opensource.org/license/mit/) | -| github.com/bxcodec/faker/v3 | [MIT](https://opensource.org/license/mit/) | -| github.com/c-robinson/iplib | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/canonical/cluster-api-bootstrap-provider-microk8s/apis/v1beta1 | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/canonical/cluster-api-control-plane-provider-microk8s/api/v1beta1 | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/cavaliergopher/grab | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| github.com/cert-manager/cert-manager/pkg/apis | [MIT](https://opensource.org/license/mit/) | -| github.com/cespare/xxhash/v2 | [MIT](https://opensource.org/license/mit/) | -| github.com/chai2010/gettext-go | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| github.com/cheggaaa/pb | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/chuckpreslar/emission | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| github.com/cloudflare/circl | [MIT](https://opensource.org/license/mit/) | -| github.com/containerd/console | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/containerd/containerd | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/containerd/continuity | [MIT](https://opensource.org/license/mit/) | -| github.com/containerd/fifo | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/containerd/stargz-snapshotter/estargz | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/containerd/ttrpc | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/containerd/typeurl/v2 | [BSD-2-Clause](https://opensource.org/license/bsd-2-clause) | -| github.com/containers/podman/v2/pkg/ctime | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| github.com/coredns/caddy/caddyfile | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/coredns/corefile-migration/migration | [MIT](https://opensource.org/license/mit/) | -| github.com/coreos/go-oidc/v3/oidc | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/corvus-ch/logr | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| github.com/coxedge/cluster-api-provider-cox/api/v1beta1 | [ISC](https://opensource.org/license/isc-license-txt) | -| github.com/cyphar/filepath-securejoin | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/davecgh/go-spew/spew | [ISC](https://opensource.org/license/isc-license-txt) | -| github.com/denisbrodbeck/machineid | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/dgraph-io/ristretto | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/dgraph-io/ristretto/z | [MIT](https://opensource.org/license/mit/) | -| github.com/dimchansky/utfbom | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/disintegration/imaging | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| github.com/diskfs/go-diskfs | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| github.com/docker/cli/cli/config | [MIT](https://opensource.org/license/mit/) | -| github.com/docker/distribution | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/docker/distribution/uuid | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/docker/docker | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/docker/docker-credential-helpers | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| github.com/docker/go-connections | [MIT](https://opensource.org/license/mit/) | -| github.com/docker/go-events | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| github.com/docker/go-metrics | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/docker/go-units | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/docker/libtrust | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| github.com/drone/envsubst/v2 | [MIT](https://opensource.org/license/mit/) | -| github.com/dsnet/compress | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/dustin/go-humanize | [MIT](https://opensource.org/license/mit/) | -| github.com/eliukblau/pixterm/pkg/ansimage | [MIT](https://opensource.org/license/mit/) | -| github.com/emicklei/go-restful/v3 | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/emirpasic/gods | [MIT](https://opensource.org/license/mit/) | -| github.com/evanphx/json-patch | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| github.com/evanphx/json-patch/v5 | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| github.com/exponent-io/jsonpath | [MIT](https://opensource.org/license/mit/) | -| github.com/fatih/color | [MIT](https://opensource.org/license/mit/) | -| github.com/flynn/go-shlex | [MIT](https://opensource.org/license/mit/) | -| github.com/fsnotify/fsnotify | [MIT](https://opensource.org/license/mit/) | -| github.com/fxamacker/cbor/v2 | [MIT](https://opensource.org/license/mit/) | -| github.com/gdamore/encoding | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/gdamore/tcell/v2 | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/ghodss/yaml | [MIT](https://opensource.org/license/mit/) | +| github.com/gofrs/uuid | [MIT](https://opensource.org/license/mit/) | | github.com/go-errors/errors | [MIT](https://opensource.org/license/mit/) | -| github.com/go-git/gcfg | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/go-git/go-billy/v5 | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/go-git/go-git/v5 | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/go-gorp/gorp/v3 | [MIT](https://opensource.org/license/mit/) | -| github.com/go-logr/logr | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/go-logr/stdr | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/go-mail/mail | [MIT](https://opensource.org/license/mit/) | -| github.com/go-openapi/analysis | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/go-openapi/errors | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/go-openapi/jsonpointer | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/go-openapi/jsonreference | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/go-openapi/loads | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/go-openapi/runtime | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/golang/snappy | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| github.com/evanphx/json-patch | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | | github.com/go-openapi/runtime/middleware/denco | [MIT](https://opensource.org/license/mit/) | -| github.com/go-openapi/spec | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/go-openapi/strfmt | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/go-openapi/swag | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | | github.com/go-openapi/validate | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/go-stack/stack | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| github.com/shopspring/decimal | [MIT](https://opensource.org/license/mit/) | | github.com/go-webauthn/webauthn | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| github.com/go-webauthn/x/revoke | [BSD-2-Clause](https://opensource.org/license/bsd-2-clause) | -| github.com/gobuffalo/flect | [MIT](https://opensource.org/license/mit/) | -| github.com/gobwas/glob | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| github.com/gofrs/uuid | [MIT](https://opensource.org/license/mit/) | -| github.com/gogo/protobuf | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| github.com/goharbor/go-client/pkg | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/golang-jwt/jwt/v4 | [MIT](https://opensource.org/license/mit/) | -| github.com/golang-jwt/jwt/v5 | [MIT](https://opensource.org/license/mit/) | -| github.com/golang/glog | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/nats-io/nuid | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/cespare/xxhash/v2 | [MIT](https://opensource.org/license/mit/) | +| github.com/x448/float16 | [MIT](https://opensource.org/license/mit/) | +| github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources | [MIT](https://opensource.org/license/mit/) | +| github.com/mailru/easyjson | [MIT](https://opensource.org/license/mit/) | +| sigs.k8s.io/structured-merge-diff/v4 | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/jmespath/go-jmespath | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/jlaffaye/ftp | [ISC](https://opensource.org/license/isc-license-txt) | +| github.com/jessevdk/go-flags | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| github.com/hashicorp/go-version | [MPL-2.0](https://www.mozilla.org/en-US/MPL/2.0/) | +| github.com/Azure/go-autorest/tracing | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/mitchellh/reflectwalk | [MIT](https://opensource.org/license/mit/) | +| github.com/stripe/stripe-go/v71 | [MIT](https://opensource.org/license/mit/) | | github.com/golang/groupcache/lru | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/golang/protobuf | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| github.com/golang/snappy | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| github.com/google/btree | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/google/cel-go | [MIT](https://opensource.org/license/mit/) | -| github.com/google/gnostic | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/google/gnostic-models | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| github.com/google/go-cmp/cmp | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| github.com/google/go-containerregistry | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/google/go-github/github | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| github.com/google/go-github/v45/github | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/google/go-querystring/query | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/google/go-tpm | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/google/gofuzz | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/google/martian/log | [MIT](https://opensource.org/license/mit/) | -| github.com/google/s2a-go | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/google/shlex | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/google/uuid | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| github.com/googleapis/enterprise-certificate-proxy/client | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/googleapis/gax-go/v2 | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| golang.org/x/sys | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| github.com/go-openapi/errors | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| gopkg.in/yaml.v3 | [MIT](https://opensource.org/license/mit/) | | github.com/googleapis/gnostic | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/gookit/color | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| github.com/gophercloud/gophercloud | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/gophercloud/utils | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/gorhill/cronexpr | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/gorilla/handlers | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/gorilla/mux | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| github.com/gorilla/websocket | [MIT](https://opensource.org/license/mit/) | -| github.com/gosuri/uitable | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| github.com/gosuri/uitable/util/wordwrap | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| github.com/gregjones/httpcache | [ISC](https://opensource.org/license/isc-license-txt) | -| github.com/hashicorp/errwrap | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/hashicorp/go-multierror | [MIT](https://opensource.org/license/mit/) | -| github.com/hashicorp/go-uuid | [MPL-2.0](https://www.mozilla.org/en-US/MPL/2.0/) | -| github.com/hashicorp/go-version | [MPL-2.0](https://www.mozilla.org/en-US/MPL/2.0/) | -| github.com/hashicorp/golang-lru | [MPL-2.0](https://www.mozilla.org/en-US/MPL/2.0/) | -| github.com/hashicorp/hcl | [MIT](https://opensource.org/license/mit/) | -| github.com/huandu/xstrings | [MIT](https://opensource.org/license/mit/) | -| github.com/imdario/mergo | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| github.com/itchyny/gojq | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| github.com/itchyny/timefmt-go | [MIT](https://opensource.org/license/mit/) | -| github.com/jasonlvhit/gocron | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/jaypipes/ghw | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/jaypipes/pcidb | [MPL-2.0](https://www.mozilla.org/en-US/MPL/2.0/) | -| github.com/jbenet/go-context/io | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/jessevdk/go-flags | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| github.com/jlaffaye/ftp | [ISC](https://opensource.org/license/isc-license-txt) | -| github.com/jmespath/go-jmespath | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/jmoiron/sqlx | [MIT](https://opensource.org/license/mit/) | -| github.com/joho/godotenv | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/jonboulle/clockwork | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/josharian/intern | [MIT](https://opensource.org/license/mit/) | -| github.com/jpillora/backoff | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| github.com/json-iterator/go | [MIT](https://opensource.org/license/mit/) | -| github.com/juliangruber/go-intersect | [MIT](https://opensource.org/license/mit/) | -| github.com/kairos-io/kairos | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/kairos-io/kairos-sdk | [MIT](https://opensource.org/license/mit/) | -| github.com/kelseyhightower/envconfig | [MIT](https://opensource.org/license/mit/) | -| github.com/kevinburke/ssh_config | [MIT](https://opensource.org/license/mit/) | -| github.com/klauspost/compress | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/klauspost/compress/internal/snapref | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| github.com/signintech/gopdf | [MIT](https://opensource.org/license/mit/) | +| k8s.io/klog/v2 | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| k8s.io/utils | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | | github.com/klauspost/compress/zstd/internal/xxhash | [MIT](https://opensource.org/license/mit/) | -| github.com/klauspost/pgzip | [MIT](https://opensource.org/license/mit/) | -| github.com/kr/pretty | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/kr/text | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/kylelemons/godebug | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/kyverno/go-wildcard | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/lann/builder | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/lann/ps | [MIT](https://opensource.org/license/mit/) | -| github.com/lib/pq | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/libp2p/go-reuseport | [MIT](https://opensource.org/license/mit/) | -| github.com/liggitt/tabwriter | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/lithammer/fuzzysearch/fuzzy | [MIT](https://opensource.org/license/mit/) | -| github.com/loft-sh/cluster-api-provider-vcluster/api/v1alpha1 | [MIT](https://opensource.org/license/mit/) | -| github.com/loft-sh/vcluster/pkg/constants | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/lucasb-eyer/go-colorful | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/magiconair/properties | [MIT](https://opensource.org/license/mit/) | -| github.com/magisterquis/connectproxy | [Zlib](https://www.zlib.net/zlib_license.html) | -| github.com/mailru/easyjson | [MIT](https://opensource.org/license/mit/) | -| github.com/MakeNowJust/heredoc | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| github.com/Masterminds/goutils | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/Masterminds/semver | [MIT](https://opensource.org/license/mit/) | -| github.com/Masterminds/semver/v3 | [MIT](https://opensource.org/license/mit/) | -| github.com/Masterminds/sprig/v3 | [MIT](https://opensource.org/license/mit/) | -| github.com/Masterminds/squirrel | [MIT](https://opensource.org/license/mit/) | -| github.com/mattermost/xml-roundtrip-validator | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/mattn/go-colorable | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/mattn/go-ieproxy | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/mattn/go-isatty | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/mattn/go-runewidth | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/matttproud/golang_protobuf_extensions/pbutil | [MIT](https://opensource.org/license/mit/) | -| github.com/matttproud/golang_protobuf_extensions/v2/pbutil | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/metal3-io/ip-address-manager/api/v1alpha1 | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| github.com/mholt/archiver/v3 | [MIT](https://opensource.org/license/mit/) | -| github.com/mitchellh/colorstring | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/mitchellh/copystructure | [MIT](https://opensource.org/license/mit/) | -| github.com/mitchellh/go-homedir | [MIT](https://opensource.org/license/mit/) | -| github.com/mitchellh/go-wordwrap | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/mitchellh/hashstructure | [MIT](https://opensource.org/license/mit/) | -| github.com/mitchellh/mapstructure | [MIT](https://opensource.org/license/mit/) | -| github.com/mitchellh/reflectwalk | [MIT](https://opensource.org/license/mit/) | -| github.com/moby/locker | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/moby/moby/libnetwork/resolvconf | [MIT](https://opensource.org/license/mit/) | -| github.com/moby/spdystream | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| github.com/moby/sys/mountinfo | [MIT](https://opensource.org/license/mit/) | -| github.com/moby/sys/signal | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| github.com/moby/term | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/modern-go/concurrent | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/modern-go/reflect2 | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/mongodb/mongo-tools | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/mongodb/mongo-tools-common | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/monochromegane/go-gitignore | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/montanaflynn/stats | [MIT](https://opensource.org/license/mit/) | -| github.com/morikuni/aec | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/mudler/entities/pkg/entities | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/mudler/go-pluggable | [MIT](https://opensource.org/license/mit/) | -| github.com/mudler/yip/pkg | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/munnerz/goautoneg | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| github.com/Narasimha1997/ratelimiter | [MIT](https://opensource.org/license/mit/) | -| github.com/nats-io/jwt/v2 | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/nats-io/nats.go | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/nats-io/nkeys | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/nats-io/nuid | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/nfnt/resize | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/nicksnyder/go-i18n/v2 | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| github.com/nwaples/rardecode | [MIT](https://opensource.org/license/mit/) | -| github.com/oklog/ulid | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/onsi/gomega | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/opencontainers/go-digest | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/opencontainers/image-spec | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/opencontainers/runc/libcontainer/user | [MIT](https://opensource.org/license/mit/) | -| github.com/opencontainers/runtime-spec/specs-go | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/opencontainers/selinux | [MIT](https://opensource.org/license/mit/) | -| github.com/openshift/api/config/v1 | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| github.com/openshift/custom-resource-status/conditions/v1 | [MIT](https://opensource.org/license/mit/) | -| github.com/opentracing/opentracing-go | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/packethost/packngo/metadata | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/PaesslerAG/gval | [MIT](https://opensource.org/license/mit/) | -| github.com/PaesslerAG/jsonpath | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/pborman/uuid | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| github.com/pelletier/go-toml/v2 | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/peterbourgon/diskv | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/phayes/permbits | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| github.com/phpdave11/gofpdi | [MIT](https://opensource.org/license/mit/) | -| github.com/pierrec/lz4 | [MIT](https://opensource.org/license/mit/) | -| github.com/pierrec/lz4/v4 | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| github.com/pjbgf/sha1cd | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | | github.com/pkg/browser | [BSD-2-Clause](https://opensource.org/license/bsd-2-clause) | +| github.com/mongodb/mongo-tools-common | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | | github.com/pkg/errors | [BSD-2-Clause](https://opensource.org/license/bsd-2-clause) | -| github.com/pkg/xattr | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| github.com/pmezard/go-difflib/difflib | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| github.com/prometheus/client_golang/prometheus | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/prometheus/client_model/go | [MIT](https://opensource.org/license/mit/) | -| github.com/prometheus/common | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| github.com/prometheus/common/internal/bitbucket.org/ww/goautoneg | [MIT](https://opensource.org/license/mit/) | -| github.com/prometheus/procfs | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/ProtonMail/go-crypto | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| github.com/pterm/pterm | [MIT](https://opensource.org/license/mit/) | -| github.com/PuerkitoBio/purell | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| github.com/PuerkitoBio/urlesc | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/qeesung/image2ascii | [MIT](https://opensource.org/license/mit/) | -| github.com/rancher-sandbox/linuxkit/providers | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/rancher/system-upgrade-controller/pkg/apis | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/rancher/wrangler/pkg/genericcondition | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/rivo/tview | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/rivo/uniseg | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/rubenv/sql-migrate | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/rubenv/sql-migrate/sqlparse | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/russellhaering/gosaml2 | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/russellhaering/goxmldsig | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/russross/blackfriday/v2 | [MIT](https://opensource.org/license/mit/) | -| github.com/sagikazarmark/slog-shim | [MIT](https://opensource.org/license/mit/) | -| github.com/sanathkr/go-yaml | [BSD-2-Clause](https://opensource.org/license/bsd-2-clause) | -| github.com/sanathkr/yaml | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| github.com/satori/go.uuid | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| github.com/schollz/progressbar/v3 | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/sergi/go-diff/diffmatchpatch | [MIT](https://opensource.org/license/mit/) | -| github.com/shirou/gopsutil | [MPL-2.0](https://www.mozilla.org/en-US/MPL/2.0/) | -| github.com/shirou/gopsutil/v3 | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| github.com/shopspring/decimal | [MIT](https://opensource.org/license/mit/) | -| github.com/signintech/gopdf | [MIT](https://opensource.org/license/mit/) | -| github.com/sirupsen/logrus | [MIT](https://opensource.org/license/mit/) | -| github.com/skeema/knownhosts | [MIT](https://opensource.org/license/mit/) | -| github.com/skip2/go-qrcode | [MIT](https://opensource.org/license/mit/) | -| github.com/spf13/afero | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/spf13/cast | [MIT](https://opensource.org/license/mit/) | -| github.com/spf13/cobra | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| github.com/spf13/jwalterweatherman | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/spf13/pflag | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| github.com/spf13/viper | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| github.com/stoewer/go-strcase | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/stretchr/objx | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/stretchr/testify | [MIT](https://opensource.org/license/mit/) | -| github.com/stretchr/testify/assert | [MIT](https://opensource.org/license/mit/) | -| github.com/stripe/stripe-go/v71 | [MIT](https://opensource.org/license/mit/) | -| github.com/subosito/gotenv | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cbs/v20170312 | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| gopkg.in/inf.v0 | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| github.com/evanphx/json-patch/v5 | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| github.com/fxamacker/cbor/v2 | [MIT](https://opensource.org/license/mit/) | +| google.golang.org/genproto/googleapis/rpc | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/jonboulle/clockwork | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/Azure/azure-sdk-for-go/sdk/azcore | [MIT](https://opensource.org/license/mit/) | +| github.com/kylelemons/godebug | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/Azure/azure-sdk-for-go | [MIT](https://opensource.org/license/mit/) | +| github.com/go-logr/logr | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| golang.org/x/oauth2 | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| github.com/nats-io/nats.go | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/Azure/azure-sdk-for-go/sdk/internal | [MIT](https://opensource.org/license/mit/) | +| github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/subscription/armsubscription | [MIT](https://opensource.org/license/mit/) | | github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm/v20170312 | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc/v20170312 | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/tklauser/go-sysconf | [MIT](https://opensource.org/license/mit/) | -| github.com/tklauser/numcpus | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/tredoe/osutil/v2/userutil/crypt | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/twpayne/go-vfs | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/twpayne/go-vfs/v4 | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/ulikunitz/xz | [BSD-2-Clause](https://opensource.org/license/bsd-2-clause) | -| github.com/valyala/fastjson | [MIT](https://opensource.org/license/mit/) | -| github.com/vbatts/tar-split/archive/tar | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/vishvananda/netlink | [MPL-2.0](https://www.mozilla.org/en-US/MPL/2.0/) | -| github.com/vishvananda/netns | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/vmware/govmomi | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/vmware/govmomi/simulator | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/vmware/govmomi/vim25/xml | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| github.com/vmware/vmw-guestinfo | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/wayneashleyberry/terminal-dimensions | [MIT](https://opensource.org/license/mit/) | -| github.com/willdonnelly/passwd | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/x448/float16 | [MIT](https://opensource.org/license/mit/) | -| github.com/xanzy/ssh-agent | [MIT](https://opensource.org/license/mit/) | -| github.com/xdg-go/pbkdf2 | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/xdg-go/scram | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/xdg-go/stringprep | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/xeipuuv/gojsonpointer | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| github.com/xeipuuv/gojsonreference | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/xeipuuv/gojsonschema | [MIT](https://opensource.org/license/mit/) | -| github.com/xi2/xz | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/xlab/treeprint | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| github.com/xo/terminfo | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| github.com/youmark/pkcs8 | [MIT](https://opensource.org/license/mit/) | -| github.com/zcalusic/sysinfo | [MIT](https://opensource.org/license/mit/) | -| github.com/zcalusic/sysinfo/cpuid | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| github.com/ztrue/shutdown | [MIT](https://opensource.org/license/mit/) | -| go.mongodb.org/mongo-driver | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| go.opencensus.io | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| go.opentelemetry.io/otel | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| go.opentelemetry.io/otel/metric | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| go.opentelemetry.io/otel/trace | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| go.starlark.net | [MIT](https://opensource.org/license/mit/) | -| go.uber.org/atomic | [MIT](https://opensource.org/license/mit/) | -| go.uber.org/multierr | [MIT](https://opensource.org/license/mit/) | +| github.com/google/s2a-go | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/containerservice/armcontainerservice | [MIT](https://opensource.org/license/mit/) | +| github.com/Azure/go-autorest/autorest/validation | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | | golang.org/x/crypto | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| golang.org/x/crypto/ed25519 | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| golang.org/x/crypto/pkcs12 | [MIT](https://opensource.org/license/mit/) | -| golang.org/x/exp | [MIT](https://opensource.org/license/mit/) | -| golang.org/x/image | [MIT](https://opensource.org/license/mit/) | -| golang.org/x/mod/sumdb/dirhash | [MIT](https://opensource.org/license/mit/) | +| github.com/aws/aws-sdk-go/internal/sync/singleflight | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| github.com/dgraph-io/ristretto/z | [MIT](https://opensource.org/license/mit/) | +| github.com/beevik/etree | [BSD-2-Clause](https://opensource.org/license/bsd-2-clause) | +| github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cbs/v20170312 | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/gophercloud/gophercloud | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/vmware/govmomi/simulator | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | | golang.org/x/net | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| golang.org/x/net/idna | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| golang.org/x/oauth2 | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| golang.org/x/sync | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| github.com/spf13/pflag | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| k8s.io/metrics/pkg | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/youmark/pkcs8 | [MIT](https://opensource.org/license/mit/) | +| github.com/stretchr/testify/assert | [MIT](https://opensource.org/license/mit/) | +| github.com/go-openapi/analysis | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/go-openapi/jsonpointer | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| k8s.io/apimachinery | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/golang-jwt/jwt/v4 | [MIT](https://opensource.org/license/mit/) | +| emperror.dev/errors | [MIT](https://opensource.org/license/mit/) | +| github.com/go-openapi/spec | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/magisterquis/connectproxy | [Zlib](https://www.zlib.net/zlib_license.html) | +| github.com/googleapis/enterprise-certificate-proxy/client | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/sirupsen/logrus | [MIT](https://opensource.org/license/mit/) | +| github.com/Azure/go-autorest/autorest/adal | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/Azure/go-autorest/autorest/date | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/ghodss/yaml | [MIT](https://opensource.org/license/mit/) | | golang.org/x/sync/errgroup | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| golang.org/x/sys | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| golang.org/x/sys/unix | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| golang.org/x/term | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| github.com/golang/glog | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/mitchellh/go-homedir | [MIT](https://opensource.org/license/mit/) | +| github.com/go-openapi/swag | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/montanaflynn/stats | [MIT](https://opensource.org/license/mit/) | +| go.uber.org/atomic | [MIT](https://opensource.org/license/mit/) | +| github.com/nats-io/jwt/v2 | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/go-mail/mail | [MIT](https://opensource.org/license/mit/) | +| github.com/vmware/govmomi | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/bxcodec/faker/v3 | [MIT](https://opensource.org/license/mit/) | | golang.org/x/text | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| golang.org/x/time/rate | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| gomodules.xyz/jsonpatch/v2 | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/imdario/mergo | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | | google.golang.org/api | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| google.golang.org/api/internal/third_party/uritemplates | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | | google.golang.org/appengine | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| google.golang.org/genproto/googleapis/api | [MIT](https://opensource.org/license/mit/) | -| google.golang.org/genproto/googleapis/rpc | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| google.golang.org/genproto/googleapis/rpc/status | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| google.golang.org/genproto/protobuf/field_mask | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/go-openapi/strfmt | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/go-openapi/loads | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/json-iterator/go | [MIT](https://opensource.org/license/mit/) | +| github.com/mitchellh/copystructure | [MIT](https://opensource.org/license/mit/) | +| github.com/andreburgaud/crypt2go | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| github.com/klauspost/pgzip | [MIT](https://opensource.org/license/mit/) | +| sigs.k8s.io/yaml | [MIT](https://opensource.org/license/mit/) | +| k8s.io/api | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| cloud.google.com/go/compute/metadata | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/Masterminds/sprig/v3 | [MIT](https://opensource.org/license/mit/) | +| github.com/google/uuid | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| github.com/google/go-tpm | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/klauspost/compress | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/googleapis/gax-go/v2 | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| github.com/gogo/protobuf | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| golang.org/x/term | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| github.com/hashicorp/golang-lru | [MPL-2.0](https://www.mozilla.org/en-US/MPL/2.0/) | +| github.com/Azure/go-autorest/logger | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/Masterminds/semver | [MIT](https://opensource.org/license/mit/) | +| github.com/Masterminds/goutils | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/nats-io/nkeys | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/russellhaering/goxmldsig | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/privatedns/armprivatedns | [MIT](https://opensource.org/license/mit/) | +| github.com/Masterminds/semver/v3 | [MIT](https://opensource.org/license/mit/) | +| github.com/coreos/go-oidc/v3/oidc | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/Azure/azure-sdk-for-go/sdk/azidentity | [MIT](https://opensource.org/license/mit/) | +| github.com/vmware/govmomi/vim25/json | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| github.com/go-openapi/jsonreference | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| gopkg.in/yaml.v2 | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/go-openapi/runtime | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/mitchellh/mapstructure | [MIT](https://opensource.org/license/mit/) | +| golang.org/x/time/rate | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| github.com/go-webauthn/x/revoke | [BSD-2-Clause](https://opensource.org/license/bsd-2-clause) | +| github.com/xdg-go/pbkdf2 | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | | google.golang.org/grpc | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/Narasimha1997/ratelimiter | [MIT](https://opensource.org/license/mit/) | +| github.com/pmezard/go-difflib/difflib | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| github.com/kelseyhightower/envconfig | [MIT](https://opensource.org/license/mit/) | +| github.com/golang-jwt/jwt/v5 | [MIT](https://opensource.org/license/mit/) | +| github.com/xdg-go/stringprep | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork | [MIT](https://opensource.org/license/mit/) | +| github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage | [MIT](https://opensource.org/license/mit/) | +| go.mongodb.org/mongo-driver | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/dustin/go-humanize | [MIT](https://opensource.org/license/mit/) | +| github.com/russellhaering/gosaml2 | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/phpdave11/gofpdi | [MIT](https://opensource.org/license/mit/) | +| github.com/docker/go-units | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/gophercloud/utils | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/gorhill/cronexpr | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/oklog/ulid | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | | google.golang.org/protobuf | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| gopkg.in/check.v1 | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| gopkg.in/djherbis/times.v1 | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| gopkg.in/inf.v0 | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| gopkg.in/ini.v1 | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| gopkg.in/natefinch/lumberjack.v2 | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/huandu/xstrings | [MIT](https://opensource.org/license/mit/) | +| github.com/mattermost/xml-roundtrip-validator | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/hashicorp/go-uuid | [MPL-2.0](https://www.mozilla.org/en-US/MPL/2.0/) | +| github.com/modern-go/reflect2 | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/Azure/go-autorest/autorest | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc/v20170312 | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/AzureAD/microsoft-authentication-library-for-go/apps | [MIT](https://opensource.org/license/mit/) | +| github.com/Azure/go-autorest/autorest/to | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/gorilla/mux | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| github.com/opentracing/opentracing-go | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/modern-go/concurrent | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| k8s.io/client-go | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/google/go-cmp/cmp | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| github.com/davecgh/go-spew/spew | [ISC](https://opensource.org/license/isc-license-txt) | +| github.com/klauspost/compress/internal/snapref | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| github.com/dgraph-io/ristretto | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | | gopkg.in/square/go-jose.v2 | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | | gopkg.in/square/go-jose.v2/json | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| gopkg.in/validator.v2 | [MIT](https://opensource.org/license/mit/) | -| gopkg.in/warnings.v0 | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| gopkg.in/yaml.v1 | [MIT](https://opensource.org/license/mit/) | -| gopkg.in/yaml.v2 | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| gopkg.in/yaml.v3 | [MIT](https://opensource.org/license/mit/) | -| helm.sh/helm/v3 | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| k8s.io/api | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/mongodb/mongo-tools | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/asaskevich/govalidator | [MIT](https://opensource.org/license/mit/) | +| github.com/aws/aws-sdk-go | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| go.uber.org/multierr | [MIT](https://opensource.org/license/mit/) | +| google.golang.org/api/internal/third_party/uritemplates | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| go.opencensus.io | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/spf13/cast | [MIT](https://opensource.org/license/mit/) | +| github.com/josharian/intern | [MIT](https://opensource.org/license/mit/) | +| github.com/google/gofuzz | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/golang/protobuf | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| github.com/vmware/govmomi/vim25/xml | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| github.com/prometheus/procfs | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/apparentlymart/go-cidr/cidr | [MIT](https://opensource.org/license/mit/) | +| sigs.k8s.io/cluster-api-provider-vsphere/apis/v1beta1 | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/PaesslerAG/jsonpath | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| libvirt.org/libvirt-go-xml | [MIT](https://opensource.org/license/mit/) | +| k8s.io/apimachinery/third_party/forked/golang | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| sigs.k8s.io/cluster-api-provider-azure | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/awslabs/goformation/v4 | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/sanathkr/yaml | [MIT](https://opensource.org/license/mit/) | +| github.com/prometheus/common/internal/bitbucket.org/ww/goautoneg | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| google.golang.org/genproto/googleapis/api | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/google/go-github/v45/github | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| github.com/Azure/azure-storage-blob-go/azblob | [MIT](https://opensource.org/license/mit/) | +| github.com/dsnet/compress | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| github.com/hashicorp/hcl | [MPL-2.0](https://www.mozilla.org/en-US/MPL/2.0/) | +| github.com/pelletier/go-toml/v2 | [MIT](https://opensource.org/license/mit/) | +| github.com/MakeNowJust/heredoc | [MIT](https://opensource.org/license/mit/) | +| sigs.k8s.io/cluster-api-provider-aws | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/go-logr/stdr | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/nwaples/rardecode | [BSD-2-Clause](https://opensource.org/license/bsd-2-clause) | +| k8s.io/apiserver/pkg/storage/names | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| sigs.k8s.io/controller-runtime | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| k8s.io/component-base | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| sigs.k8s.io/gateway-api/apis/v1alpha2 | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| go.opentelemetry.io/otel/trace | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/beorn7/perks/quantile | [MIT](https://opensource.org/license/mit/) | +| github.com/metal3-io/ip-address-manager/api/v1alpha1 | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| sigs.k8s.io/cluster-api-provider-openstack/api/v1alpha6 | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/hashicorp/errwrap | [MPL-2.0](https://www.mozilla.org/en-US/MPL/2.0/) | | k8s.io/apiextensions-apiserver/pkg | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| k8s.io/apiextensions-apiserver/pkg/apis/apiextensions | [MIT](https://opensource.org/license/mit/) | -| k8s.io/apiextensions-apiserver/third_party/forked/celopenapi/model | [MPL-2.0](https://www.mozilla.org/en-US/MPL/2.0/) | -| k8s.io/apimachinery | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| k8s.io/apimachinery/pkg | [MIT](https://opensource.org/license/mit/) | -| k8s.io/apimachinery/third_party/forked/golang | [MIT](https://opensource.org/license/mit/) | -| k8s.io/apimachinery/third_party/forked/golang/reflect | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| k8s.io/apiserver/pkg/endpoints/deprecation | [MIT](https://opensource.org/license/mit/) | -| k8s.io/apiserver/pkg/storage/names | [MIT](https://opensource.org/license/mit/) | -| k8s.io/cli-runtime/pkg | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| k8s.io/client-go | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| k8s.io/client-go/third_party/forked/golang/template | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| k8s.io/cluster-bootstrap | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| k8s.io/cluster-bootstrap/token | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| k8s.io/component-base | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| k8s.io/component-base/config | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| k8s.io/klog | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| k8s.io/klog/v2 | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| k8s.io/kube-openapi/pkg | [MIT](https://opensource.org/license/mit/) | -| k8s.io/kube-openapi/pkg/internal/third_party/go-json-experiment/json | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| k8s.io/kube-openapi/pkg/util/proto | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| k8s.io/kube-openapi/pkg/validation/errors | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| k8s.io/kube-openapi/pkg/validation/spec | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| k8s.io/kube-openapi/pkg/validation/strfmt | [MIT](https://opensource.org/license/mit/) | +| github.com/prometheus/client_model/go | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/fsnotify/fsnotify | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| github.com/sanathkr/go-yaml | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute | [MIT](https://opensource.org/license/mit/) | +| golang.org/x/sync/semaphore | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| golang.org/x/mod/sumdb/dirhash | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| github.com/pierrec/lz4/v4 | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| sigs.k8s.io/cluster-api | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/emicklei/go-restful/v3 | [MIT](https://opensource.org/license/mit/) | +| github.com/matttproud/golang_protobuf_extensions/pbutil | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/antlr/antlr4/runtime/Go/antlr | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/containerservice/armcontainerservice/v4 | [MIT](https://opensource.org/license/mit/) | +| github.com/PaesslerAG/gval | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| github.com/mholt/archiver/v3 | [MIT](https://opensource.org/license/mit/) | +| k8s.io/kube-openapi/pkg | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/munnerz/goautoneg | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| github.com/spf13/jwalterweatherman | [MIT](https://opensource.org/license/mit/) | +| github.com/blang/semver | [MIT](https://opensource.org/license/mit/) | | k8s.io/kube-openapi/pkg/validation/validate | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| k8s.io/kubectl/pkg | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| k8s.io/kubelet/config/v1beta1 | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| k8s.io/kubernetes/cmd/kubeadm/app | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| k8s.io/metrics/pkg | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| k8s.io/metrics/pkg/apis/metrics | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| k8s.io/utils | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/Azure/azure-pipeline-go/pipeline | [MIT](https://opensource.org/license/mit/) | +| github.com/mattn/go-ieproxy | [MIT](https://opensource.org/license/mit/) | +| github.com/Azure/go-autorest/autorest/azure/cli | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| sigs.k8s.io/cluster-api-provider-gcp | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/coredns/caddy/caddyfile | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/stoewer/go-strcase | [MIT](https://opensource.org/license/mit/) | +| gomodules.xyz/jsonpatch/v2 | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/gobuffalo/flect | [MIT](https://opensource.org/license/mit/) | +| github.com/andybalholm/brotli | [MIT](https://opensource.org/license/mit/) | +| github.com/loft-sh/vcluster/pkg/constants | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| sigs.k8s.io/json | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| k8s.io/cluster-bootstrap/token | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/hashicorp/go-multierror | [MPL-2.0](https://www.mozilla.org/en-US/MPL/2.0/) | +| cloud.google.com/go/container | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/coredns/corefile-migration/migration | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/google/go-querystring/query | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| github.com/spf13/afero | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/prometheus/common | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/cert-manager/cert-manager/pkg/apis | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| sigs.k8s.io/cluster-api/test/infrastructure/docker/api | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/onsi/gomega | [MIT](https://opensource.org/license/mit/) | +| gopkg.in/ini.v1 | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/prometheus/client_golang/prometheus | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/docker/distribution | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/opencontainers/go-digest | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/loft-sh/cluster-api-provider-vcluster/api/v1alpha1 | [MIT](https://opensource.org/license/mit/) | +| github.com/canonical/cluster-api-bootstrap-provider-microk8s/apis/v1beta1 | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/canonical/cluster-api-control-plane-provider-microk8s/api/v1beta1 | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/xi2/xz | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/spf13/viper | [MIT](https://opensource.org/license/mit/) | +| github.com/magiconair/properties | [BSD-2-Clause](https://opensource.org/license/bsd-2-clause) | +| github.com/golang/mock/gomock | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/mitchellh/hashstructure | [MIT](https://opensource.org/license/mit/) | +| github.com/aws/amazon-vpc-cni-k8s/pkg/apis/crd/v1alpha1 | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/dimchansky/utfbom | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| go.opentelemetry.io/otel | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/subosito/gotenv | [MIT](https://opensource.org/license/mit/) | +| k8s.io/kube-openapi/pkg/validation/errors | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| k8s.io/apimachinery/pkg | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/valyala/fastjson | [MIT](https://opensource.org/license/mit/) | +| github.com/google/cel-go | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/blang/semver/v4 | [MIT](https://opensource.org/license/mit/) | +| github.com/Azure/go-autorest/autorest/azure/auth | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/ulikunitz/xz | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| k8s.io/apiextensions-apiserver/third_party/forked/celopenapi/model | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/google/gnostic | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| libvirt.org/go/libvirt | [MIT](https://opensource.org/license/mit/) | | k8s.io/utils/internal/third_party/forked/golang/net | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| kubevirt.io/api | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| k8s.io/kube-openapi/pkg/validation/strfmt | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| k8s.io/client-go/third_party/forked/golang/template | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| github.com/drone/envsubst/v2 | [MIT](https://opensource.org/license/mit/) | +| k8s.io/kube-openapi/pkg/validation/spec | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | | kubevirt.io/containerized-data-importer-api/pkg/apis/core | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| kubevirt.io/controller-lifecycle-operator-sdk/api | [MIT](https://opensource.org/license/mit/) | -| libvirt.org/go/libvirt | [BSD-2-Clause](https://opensource.org/license/bsd-2-clause) | -| libvirt.org/libvirt-go-xml | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| kubevirt.io/controller-lifecycle-operator-sdk/api | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/pborman/uuid | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| github.com/corvus-ch/logr | [MIT](https://opensource.org/license/mit/) | +| github.com/goharbor/go-client/pkg | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| golang.org/x/exp | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| github.com/openshift/custom-resource-status/conditions/v1 | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/twpayne/go-vfs/v4 | [MIT](https://opensource.org/license/mit/) | +| go.opentelemetry.io/otel/metric | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/juliangruber/go-intersect | [MIT](https://opensource.org/license/mit/) | +| cloud.google.com/go/container/apiv1/containerpb | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/kyverno/go-wildcard | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/openshift/api/config/v1 | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/ztrue/shutdown | [MIT](https://opensource.org/license/mit/) | +| github.com/rancher/system-upgrade-controller/pkg/apis | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/jpillora/backoff | [MIT](https://opensource.org/license/mit/) | +| github.com/bketelsen/logr | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| kubevirt.io/api | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/jasonlvhit/gocron | [BSD-2-Clause](https://opensource.org/license/bsd-2-clause) | +| github.com/rancher/wrangler/pkg/genericcondition | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/avast/retry-go | [MIT](https://opensource.org/license/mit/) | +| github.com/google/martian/log | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/PuerkitoBio/urlesc | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| k8s.io/kube-openapi/pkg/util/proto | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/PuerkitoBio/purell | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| sigs.k8s.io/controller-runtime/pkg | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| golang.org/x/sys/unix | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| google.golang.org/genproto/googleapis/rpc/status | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/go-stack/stack | [MIT](https://opensource.org/license/mit/) | +| golang.org/x/crypto/ed25519 | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| k8s.io/kube-openapi/pkg/internal/third_party/go-json-experiment/json | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| github.com/containerd/ttrpc | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/gobwas/glob | [MIT](https://opensource.org/license/mit/) | +| github.com/chai2010/gettext-go | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| github.com/sanity-io/litter | [MIT](https://opensource.org/license/mit/) | +| github.com/twpayne/go-vfs | [MIT](https://opensource.org/license/mit/) | +| github.com/emirpasic/gods | [BSD-2-Clause](https://opensource.org/license/bsd-2-clause) | +| github.com/peterbourgon/diskv | [MIT](https://opensource.org/license/mit/) | +| atomicgo.dev/schedule | [MIT](https://opensource.org/license/mit/) | +| sigs.k8s.io/kustomize/kyaml/internal/forked/github.com/qri-io/starlib/util | [MIT](https://opensource.org/license/mit/) | +| k8s.io/cli-runtime/pkg | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/distribution/distribution/reference | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| gopkg.in/warnings.v0 | [BSD-2-Clause](https://opensource.org/license/bsd-2-clause) | +| github.com/google/btree | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| google.golang.org/genproto/protobuf/field_mask | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/docker/go-connections | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/xo/terminfo | [MIT](https://opensource.org/license/mit/) | +| github.com/prometheus-community/pro-bing | [MIT](https://opensource.org/license/mit/) | +| github.com/kairos-io/kairos-sdk | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/mattn/go-isatty | [MIT](https://opensource.org/license/mit/) | +| github.com/cloudflare/circl | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| k8s.io/kubelet/config/v1beta1 | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | | oras.land/oras-go/pkg | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/russross/blackfriday/v2 | [BSD-2-Clause](https://opensource.org/license/bsd-2-clause) | +| github.com/lithammer/fuzzysearch/fuzzy | [MIT](https://opensource.org/license/mit/) | +| github.com/pkg/xattr | [BSD-2-Clause](https://opensource.org/license/bsd-2-clause) | +| github.com/santhosh-tekuri/jsonschema/v5 | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/kairos-io/kairos-agent/v2 | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/jmoiron/sqlx | [MIT](https://opensource.org/license/mit/) | +| github.com/stretchr/testify | [MIT](https://opensource.org/license/mit/) | +| github.com/rivo/tview | [MIT](https://opensource.org/license/mit/) | +| helm.sh/helm/v3 | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/samber/lo | [MIT](https://opensource.org/license/mit/) | +| github.com/cyphar/filepath-securejoin | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| github.com/skeema/knownhosts | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| gopkg.in/yaml.v1 | [LGPL-3.0](https://www.gnu.org/licenses/lgpl-3.0.en.html) | +| github.com/go-git/go-git/v5 | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/BurntSushi/toml | [MIT](https://opensource.org/license/mit/) | +| github.com/wayneashleyberry/terminal-dimensions | [MIT](https://opensource.org/license/mit/) | +| github.com/pjbgf/sha1cd | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/phayes/permbits | [MIT](https://opensource.org/license/mit/) | +| github.com/zcalusic/sysinfo/cpuid | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| github.com/pterm/pterm | [MIT](https://opensource.org/license/mit/) | +| dario.cat/mergo | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| k8s.io/mount-utils | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/go-playground/universal-translator | [MIT](https://opensource.org/license/mit/) | +| github.com/vmware/vmw-guestinfo | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| k8s.io/cluster-bootstrap | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/docker/go-metrics | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/gabriel-vasile/mimetype | [MIT](https://opensource.org/license/mit/) | +| github.com/mattn/go-colorable | [MIT](https://opensource.org/license/mit/) | +| github.com/mattn/go-runewidth | [MIT](https://opensource.org/license/mit/) | +| golang.org/x/image | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| github.com/xeipuuv/gojsonreference | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/rs/zerolog | [MIT](https://opensource.org/license/mit/) | +| github.com/pierrec/lz4 | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| github.com/sagikazarmark/slog-shim | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| github.com/vishvananda/netlink | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/mitchellh/colorstring | [MIT](https://opensource.org/license/mit/) | +| github.com/sergi/go-diff/diffmatchpatch | [MIT](https://opensource.org/license/mit/) | +| github.com/mudler/go-pluggable | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| k8s.io/kubectl/pkg | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/opencontainers/runc/libcontainer/user | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/cavaliergopher/grab | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| github.com/rubenv/sql-migrate/sqlparse | [MIT](https://opensource.org/license/mit/) | +| github.com/opencontainers/runtime-spec/specs-go | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/willdonnelly/passwd | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/kendru/darwin/go/depgraph | [MIT](https://opensource.org/license/mit/) | +| pault.ag/go/topsort | [MIT](https://opensource.org/license/mit/) | +| github.com/fatih/color | [MIT](https://opensource.org/license/mit/) | +| github.com/swaggest/jsonschema-go | [MIT](https://opensource.org/license/mit/) | +| github.com/gosuri/uitable/util/wordwrap | [MIT](https://opensource.org/license/mit/) | +| github.com/docker/go-events | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/stretchr/objx | [MIT](https://opensource.org/license/mit/) | +| github.com/aybabtme/rgbterm | [MIT](https://opensource.org/license/mit/) | +| github.com/jaypipes/ghw | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/containers/podman/v2/pkg/ctime | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| k8s.io/kubernetes | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/skip2/go-qrcode | [MIT](https://opensource.org/license/mit/) | | pault.ag/go/modprobe | [MIT](https://opensource.org/license/mit/) | -| pault.ag/go/topsort | [BSD-2-Clause](https://opensource.org/license/bsd-2-clause) | -| sigs.k8s.io/cluster-api | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| sigs.k8s.io/cluster-api-provider-aws | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | -| sigs.k8s.io/cluster-api-provider-azure | [MIT](https://opensource.org/license/mit/) | -| sigs.k8s.io/cluster-api-provider-gcp | [MIT](https://opensource.org/license/mit/) | -| sigs.k8s.io/cluster-api-provider-openstack/api/v1alpha6 | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| sigs.k8s.io/cluster-api-provider-vsphere/apis/v1beta1 | [MIT](https://opensource.org/license/mit/) | -| sigs.k8s.io/cluster-api/test/infrastructure/docker/api | [MIT](https://opensource.org/license/mit/) | -| sigs.k8s.io/controller-runtime | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| sigs.k8s.io/controller-runtime/pkg | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| sigs.k8s.io/gateway-api/apis/v1alpha2 | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| sigs.k8s.io/json | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| sigs.k8s.io/kustomize/api | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| sigs.k8s.io/kustomize/kyaml | [MIT](https://opensource.org/license/mit/) | +| sigs.k8s.io/yaml | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/google/shlex | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/itchyny/timefmt-go | [MIT](https://opensource.org/license/mit/) | +| github.com/morikuni/aec | [MIT](https://opensource.org/license/mit/) | +| github.com/leodido/go-urn | [MIT](https://opensource.org/license/mit/) | +| github.com/eliukblau/pixterm/pkg/ansimage | [MPL-2.0](https://www.mozilla.org/en-US/MPL/2.0/) | +| github.com/gosuri/uitable | [MIT](https://opensource.org/license/mit/) | +| github.com/mudler/entities/pkg/entities | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/moby/locker | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/gookit/color | [MIT](https://opensource.org/license/mit/) | +| github.com/libp2p/go-reuseport | [ISC](https://opensource.org/license/isc-license-txt) | +| github.com/lann/builder | [MIT](https://opensource.org/license/mit/) | +| github.com/rivo/uniseg | [MIT](https://opensource.org/license/mit/) | +| github.com/kevinburke/ssh_config | [MIT](https://opensource.org/license/mit/) | +| github.com/satori/go.uuid | [MIT](https://opensource.org/license/mit/) | +| gopkg.in/natefinch/lumberjack.v2 | [MIT](https://opensource.org/license/mit/) | +| go.starlark.net | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| github.com/felixge/httpsnoop | [MIT](https://opensource.org/license/mit/) | +| gopkg.in/djherbis/times.v1 | [MIT](https://opensource.org/license/mit/) | +| github.com/go-playground/locales | [MIT](https://opensource.org/license/mit/) | +| github.com/go-git/gcfg | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| k8s.io/metrics/pkg/apis/metrics | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/containerd/log | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/gregjones/httpcache | [MIT](https://opensource.org/license/mit/) | +| github.com/lib/pq | [MIT](https://opensource.org/license/mit/) | +| github.com/mudler/yip/pkg | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/foxboron/go-uefi | [MIT](https://opensource.org/license/mit/) | +| github.com/shirou/gopsutil | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| github.com/containerd/continuity | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/containerd/console | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/c-robinson/iplib | [MIT](https://opensource.org/license/mit/) | +| github.com/vishvananda/netns | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| golang.org/x/sync | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| github.com/packethost/packngo/metadata | [MIT](https://opensource.org/license/mit/) | +| github.com/schollz/progressbar/v3 | [MIT](https://opensource.org/license/mit/) | +| github.com/lucasb-eyer/go-colorful | [MIT](https://opensource.org/license/mit/) | +| github.com/joho/godotenv | [MIT](https://opensource.org/license/mit/) | +| atomicgo.dev/cursor | [MIT](https://opensource.org/license/mit/) | +| github.com/containerd/stargz-snapshotter/estargz | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/cavaliergopher/grab/v3 | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| github.com/spf13/cobra | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/moby/sys/signal | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/itchyny/gojq | [MIT](https://opensource.org/license/mit/) | +| github.com/ProtonMail/go-crypto | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| github.com/cheggaaa/pb | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| github.com/google/go-containerregistry | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| sigs.k8s.io/kustomize/kyaml | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/liggitt/tabwriter | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| github.com/Masterminds/squirrel | [MIT](https://opensource.org/license/mit/) | +| github.com/distribution/reference | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| k8s.io/apiserver/pkg/endpoints/deprecation | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/go-git/go-billy/v5 | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/lann/ps | [MIT](https://opensource.org/license/mit/) | +| github.com/qeesung/image2ascii | [MIT](https://opensource.org/license/mit/) | +| github.com/moby/sys/mountinfo | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | | sigs.k8s.io/kustomize/kyaml/internal/forked/github.com/go-yaml/yaml | [MIT](https://opensource.org/license/mit/) | -| sigs.k8s.io/kustomize/kyaml/internal/forked/github.com/qri-io/starlib/util | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| sigs.k8s.io/structured-merge-diff/v4 | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | -| sigs.k8s.io/yaml | [MIT](https://opensource.org/license/mit/) | -| sigs.k8s.io/yaml/goyaml.v2 | [MIT](https://opensource.org/license/mit/) | +| github.com/containerd/containerd | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/nfnt/resize | [ISC](https://opensource.org/license/isc-license-txt) | +| github.com/gdamore/tcell/v2 | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/swaggest/refl | [MIT](https://opensource.org/license/mit/) | +| github.com/go-gorp/gorp/v3 | [MIT](https://opensource.org/license/mit/) | +| github.com/denisbrodbeck/machineid | [MIT](https://opensource.org/license/mit/) | +| github.com/zcalusic/sysinfo | [MIT](https://opensource.org/license/mit/) | +| github.com/google/gnostic-models | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/monochromegane/go-gitignore | [MIT](https://opensource.org/license/mit/) | +| github.com/mitchellh/go-wordwrap | [MIT](https://opensource.org/license/mit/) | +| github.com/opencontainers/image-spec | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/jaypipes/pcidb | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/xeipuuv/gojsonpointer | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/diskfs/go-diskfs | [MIT](https://opensource.org/license/mit/) | +| github.com/matttproud/golang_protobuf_extensions/v2/pbutil | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/tklauser/numcpus | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/gdamore/encoding | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/vbatts/tar-split/archive/tar | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| github.com/docker/docker-credential-helpers | [MIT](https://opensource.org/license/mit/) | +| github.com/xlab/treeprint | [MIT](https://opensource.org/license/mit/) | +| github.com/xanzy/ssh-agent | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| sigs.k8s.io/yaml/goyaml.v2 | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/moby/moby/libnetwork/resolvconf | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/juliangruber/go-intersect | [MIT](https://opensource.org/license/mit/) | +| github.com/xeipuuv/gojsonschema | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/moby/term | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/docker/docker | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/exponent-io/jsonpath | [MIT](https://opensource.org/license/mit/) | +| github.com/containerd/fifo | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/containerd/typeurl/v2 | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/opencontainers/selinux | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/disintegration/imaging | [MIT](https://opensource.org/license/mit/) | +| github.com/jbenet/go-context/io | [MIT](https://opensource.org/license/mit/) | +| github.com/rancher-sandbox/linuxkit/providers | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/go-playground/validator/v10 | [MIT](https://opensource.org/license/mit/) | +| github.com/docker/cli/cli/config | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/rubenv/sql-migrate | [MIT](https://opensource.org/license/mit/) | +| sigs.k8s.io/kustomize/api | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/tredoe/osutil/v2/userutil/crypt | [BSD-2-Clause](https://opensource.org/license/bsd-2-clause) | +| github.com/tklauser/go-sysconf | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| github.com/moby/spdystream | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/shirou/gopsutil/v3 | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| atomicgo.dev/keyboard | [MIT](https://opensource.org/license/mit/) | +| github.com/chuckpreslar/emission | [MIT](https://opensource.org/license/mit/) | +| k8s.io/component-base/config | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| k8s.io/apiextensions-apiserver/pkg/apis/apiextensions | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/avast/retry-go/v4 | [MIT](https://opensource.org/license/mit/) | +| github.com/kr/text | [MIT](https://opensource.org/license/mit/) | +| github.com/gorilla/handlers | [BSD-2-Clause](https://opensource.org/license/bsd-2-clause) | +| golang.org/x/net/idna | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| gopkg.in/check.v1 | [BSD-2-Clause](https://opensource.org/license/bsd-2-clause) | +| github.com/docker/libtrust | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/bshuster-repo/logrus-logstash-hook | [MIT](https://opensource.org/license/mit/) | +| github.com/kr/pretty | [MIT](https://opensource.org/license/mit/) | +| github.com/docker/distribution/uuid | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/klauspost/compress | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| gopkg.in/validator.v2 | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/google/go-github/github | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| github.com/gorilla/websocket | [BSD-2-Clause](https://opensource.org/license/bsd-2-clause) | +| k8s.io/klog | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/flynn/go-shlex | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| golang.org/x/crypto/pkcs12 | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) | +| github.com/opencontainers/image-spec/specs-go | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/devfile/library/pkg | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/devfile/registry-support/registry-library/library | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/operator-framework/kubectl-operator/pkg/action | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| k8s.io/apiserver/pkg | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/operator-framework/api/pkg | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/devfile/registry-support/index/generator/schema | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/operator-framework/operator-lifecycle-manager/pkg/package-server/apis/operators | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| k8s.io/component-base/version | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/openshift/library-go/pkg/crypto | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/openshift/api | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/operator-framework/operator-registry/pkg | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/coreos/go-oidc | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/coreos/pkg | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/rawagner/graphql-transport-ws/graphqlws | [BSD-2-Clause](https://opensource.org/license/bsd-2-clause) | +| github.com/rawagner/graphql-transport-ws/graphqlws/internal/connection | [BSD-2-Clause](https://opensource.org/license/bsd-2-clause) | +| github.com/openshift/console | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/docker/go-connections/tlsconfig | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/devfile/api/v2/pkg | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/pquerna/cachecontrol | [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | +| github.com/graph-gophers/graphql-go | [BSD-2-Clause](https://opensource.org/license/bsd-2-clause) | +| github.com/nicksnyder/go-i18n/v2 | [MIT](https://opensource.org/license/mit/) | +| k8s.io/apimachinery/third_party/forked/golang/reflect | [BSD-3-Clause](https://opensource.org/license/bsd-3-clause) |
diff --git a/docs/docs-content/profiles/cluster-profiles/create-cluster-profiles/define-profile-variables.md b/docs/docs-content/profiles/cluster-profiles/create-cluster-profiles/define-profile-variables.md index 8acda409d4..5b360854e3 100644 --- a/docs/docs-content/profiles/cluster-profiles/create-cluster-profiles/define-profile-variables.md +++ b/docs/docs-content/profiles/cluster-profiles/create-cluster-profiles/define-profile-variables.md @@ -67,8 +67,8 @@ This guide explains how you can define and manage cluster profile variables. ### Enablement You can define profile variables both while creating and for the already created cluster profiles. To define profile -variables [while creating a cluster profile](../create-cluster-profiles/create-cluster-profiles.md), start following -this guide from step three at the **Profile Layers** stage of cluster profile creation. +variables [while creating a cluster profile](../create-cluster-profiles/create-cluster-profiles.md), you need to be at +the **Profile Layers** stage of cluster profile creation and start following this guide from step three. 1. Log in to Palette. @@ -78,6 +78,13 @@ this guide from step three at the **Profile Layers** stage of cluster profile cr ![Palette with the Variables button highlighted.](/profiles_create-cluster-profiles_define-profile-variables_open-profile-variables.webp) + :::tip + + Alternatively, open a profile layer and, in the upper-right corner of its YAML configuration editor, select + **Variables**, and then **Create variable**. + + ::: + 4. Enter the variable name in the `{{.spectro.var.}}` format. You will use this name when adding variables to layer configurations. The name must be unique within the parent cluster. @@ -115,12 +122,14 @@ this guide from step three at the **Profile Layers** stage of cluster profile cr ::: -9. Click **Create**. +9. Review the variable definition and behavior under **Preview**, and then select **Create**. + + ![Palette YAML editor with the added profile variables.](/profiles_create-cluster-profiles_define-profile-variables_variable-preview.webp) -10. On the **Profile variables** pane, next to your variable, click the **Copy to clipboard** icon to copy the variable - name. +10. Navigate to the YAML configuration of the profile layer for which you want to add the variable. In the upper-right + corner of its YAML configuration editor, select **Variables**. -11. Navigate to the YAML configuration of the profile layer for which you want to add the variable. +11. Next to the variable you want to add, click the **Copy to clipboard** icon to copy its name. 12. Paste the variable in the `parameter: "{{.spectro.var.variable_name}}"` format and click **Confirm Updates**. @@ -129,6 +138,14 @@ this guide from step three at the **Profile Layers** stage of cluster profile cr ![Palette YAML editor with the added profile variables.](/profiles_create-cluster-profiles_define-profile-variables_add-vars-to-yaml.webp) + :::tip + + To improve navigation, you can change the display order of variables. Select the **Variables three-dot menu**, then + select **Reorder variables**, and drag and drop variables to change their display order. Finally, select **Confirm + order**. + + ::: + 13. Repeat the steps described in this guide to define more variables and add them to the necessary cluster profile layers. @@ -142,7 +159,9 @@ this guide from step three at the **Profile Layers** stage of cluster profile cr 3. In the upper-right corner, click **Variables** and, on the **Profile variables** pane, check that the necessary variables are defined. -4. Open the necessary profile layers and check that their YAML configuration contains the expected variables. +4. Hover over the **[Count] layers** pill next to the variables to review the profile layers where they are used. + +5. Open the necessary profile layers and check that their YAML configuration contains the expected variables. ## Manage Profile Variables @@ -166,16 +185,21 @@ variables in the new version. 1. Log in to Palette. -2. Navigate to the cluster profile for which you want to update profile variables. +2. Navigate to the cluster profile for which you want to update profile variables and, in the upper-right corner, click + **Variables**. + + :::tip + + Alternatively, open a profile layer and, in the upper-right corner of its YAML configuration editor, select + **Variables**. -3. In the upper-right corner, click **Variables**. + ::: -4. To edit a profile variable, in the right **Three-dot menu** of the necessary variable, click **Edit** and make the - necessary changes. Note that you cannot edit the **Variable**, **Format**, **Custom input validation**, **Required**, - **Mask value**, and **Read-only** fields. +3. To edit a profile variable, in the **three-dot menu** of the necessary variable, select **Edit** and make the + necessary changes. -5. To delete a profile variable, in the right **Three-dot menu** of the necessary variable, click **Delete**. Then, - navigate to the profile layers that implement this variable and manually remove it from their YAML configurations. +4. To delete a profile variable, navigate to the profile layers that implement this variable and remove it from their + YAML configuration. Then, in the **three-dot menu** of the necessary variable, select **Delete**. ### Validation diff --git a/docs/docs-content/registries-and-packs/add-custom-packs.md b/docs/docs-content/registries-and-packs/add-custom-packs.md index bfaa74e88f..ddb3da0042 100644 --- a/docs/docs-content/registries-and-packs/add-custom-packs.md +++ b/docs/docs-content/registries-and-packs/add-custom-packs.md @@ -220,7 +220,7 @@ The following is the JSON schema for packs. Review the schema to ensure your JSO "properties": { "scheduleType": { "type": "string", - "enum": ["all", "master", "worker"] + "enum": ["all", "control-plane", "worker"] }, "resourceRequestParamRef": { "type": "string" diff --git a/docs/docs-content/registries-and-packs/pack-constraints.md b/docs/docs-content/registries-and-packs/pack-constraints.md index 996cd7199d..cdc8349ef3 100644 --- a/docs/docs-content/registries-and-packs/pack-constraints.md +++ b/docs/docs-content/registries-and-packs/pack-constraints.md @@ -484,7 +484,7 @@ machine pool will be validated. In the case of daemon sets, the pods are schedul nodes, and the framework validates both control plane and worker machine pool configurations before the cluster is submitted for deployment. -- `master` - pods are scheduled only on control plane nodes +- `control-plane` - pods are scheduled only on control plane nodes - `worker` - pods are scheduled only on worker nodes - `all` - pods are scheduled on both control plane and worker nodes diff --git a/docs/docs-content/release-notes/known-issues.md b/docs/docs-content/release-notes/known-issues.md index 82d671a55b..a5db9cd1e3 100644 --- a/docs/docs-content/release-notes/known-issues.md +++ b/docs/docs-content/release-notes/known-issues.md @@ -16,6 +16,13 @@ The following table lists all known issues that are currently active and affecti | Description | Workaround | Publish Date | Product Component | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------- | ----------------- | +| During the platform upgrade from Palette 4.3 to 4.4, Virtual Clusters may encounter a scenario where the pod `palette-controller-manager` is not upgraded to the newer version of Palette. The virtual cluster will continue to be operational, and this does not impact its functionality. | Refer to the [Controller Manager Pod Not Upgraded](../troubleshooting/palette-dev-engine.md#scenario---controller-manager-pod-not-upgraded) troubleshooting guide. | June 15, 2024 | Virtual Clusters | +| The VerteX enterprise cluster is unable to complete backup operations. | No workaround is available. | June 15, 2024 | VerteX | +| Edge hosts with FIPS-compliant RHEL Operating System (OS) distribution may encounter the error where the `systemd-resolved.service` service enters the **failed** state. This prevents the nameserver from being configured, which will result in cluster deployment failure. | Refer to [TroubleShooting](../troubleshooting/edge.md#scenario---systemd-resolvedservice-enters-failed-state) for a workaround. | June 15, 2024 | Edge | +| The GKE cluster's Kubernetes pods are failing to start because the Kubernetes patch version is unavailable. This is encountered during pod restarts or node scaling operations. | Deploy a new cluster and use a GKE cluster profile that does not contain a Kubernetes pack layer with a patch version. Migrate the workloads from the existing cluster to the new cluster. This is a breaking change introduced in Palette 4.4.0 | June 15, 2024 | Packs, Clusters | +| An issue prevents RKE2 and Palette eXtended Kubernetes (PXK) on version 1.29.4 from operating correctly with Canonical MAAS. | A temporary workaround is using a version lower than 1.29.4 when using MAAS. | June 15, 2024 | Packs, Clusters | +| [MicroK8s](../integrations/microk8s.md) does not support multi-node control plane clusters. The upgrade strategy, `InPlaceUpgrade`, is the only option available for use. | No workaround is available. | June 15, 2024 | Packs | +| Clusters using [MicroK8s](../integrations/microk8s.md) as the Kubernetes distribution, the control plane node fails to upgrade when using the `InPlaceUpgrade` strategy for sequential upgrades, such as upgrading from version 1.25.x to version 1.26.x and then to version 1.27.x. | Refer to the [Control Plane Node Fails to Upgrade in Sequential MicroK8s Upgrades](../troubleshooting/pack-issues.md) troubleshooting guide for resolution steps. | June 15, 2024 | Packs | | Azure IaaS clusters are having issues with deployed load balancers and ingress deployments when using Kubernetes versions 1.29.0 and 1.29.4. Incoming connections time out as a result due to a lack of network path inside the cluster. Azure AKS clusters are not impacted. | Use a Kubernetes version lower than 1.29.0 | June 12, 2024 | Clusters | | OIDC integration with Virtual Clusters is not functional. All other operations related to Virtual Clusters are operational. | No workaround is available. | Jun 11, 2024 | Virtual Clusters | | The VerteX enterprise cluster is unable to complete backup operations. | No workaround is available. | June 6, 2024 | VerteX | @@ -25,7 +32,7 @@ The following table lists all known issues that are currently active and affecti | K3s version 1.27.7 has been marked as _Deprecated_. This version has a known issue that causes clusters to crash. | Upgrade to a newer version of K3s to avoid the issue, such as versions 1.26.12, 1.28.5, and 1.27.11. You can learn more about the issue in the [K3s GitHub issue](https://github.com/k3s-io/k3s/issues/9047) page. | April 14, 2024 | Packs, Clusters | | When deploying a multi-node AWS EKS cluster with the Container Network Interface (CNI) [Calico](../integrations/calico.md), the cluster deployment fails. | A workaround is to use the AWS VPC CNI in the interim while the issue is resolved. | April 14, 2024 | Packs, Clusters | | If a Kubernetes cluster deployed onto VMware is deleted, and later re-created with the same name, the cluster creation process fails. The issue is caused by existing resources remaining inside the PCG, or the System PCG, that are not cleaned up during the cluster deletion process. | Refer to the [VMware Resources Remain After Cluster Deletion](../troubleshooting/pcg.md#scenario---vmware-resources-remain-after-cluster-deletion) troubleshooting guide for resolution steps. | April 14, 2024 | Clusters | -| In a VMware environment, self-hosted Palette instances do not receive a unique cluster ID when deployed, which can cause issues during a node repave event, such as a Kubernetes version upgrade. Specifically, PVs and Persistent Volume Claims (PVCs) will experience start problems due to the lack of a unique cluster ID. | To resolve this issue, refer to the [Volume Attachment Errors Volume in VMware Environment](../troubleshooting/palette-upgrade.md#volume-attachment-errors-volume-in-vmware-environment) troubleshooting guide. | April 14, 2024 | Self-Hosted | +| In a VMware environment, self-hosted Palette instances do not receive a unique cluster ID when deployed, which can cause issues during a node repave event, such as a Kubernetes version upgrade. Specifically, Persistent Volumes (PVs) and Persistent Volume Claims (PVCs) will experience start problems due to the lack of a unique cluster ID. | To resolve this issue, refer to the [Volume Attachment Errors Volume in VMware Environment](../troubleshooting/palette-upgrade.md#volume-attachment-errors-volume-in-vmware-environment) troubleshooting guide. | April 14, 2024 | Self-Hosted | | Day-2 operations related to infrastructure changes, such as modifying the node size and count, when using MicroK8s are not taking effect. | No workaround is available. | April 14, 2024 | Packs, Clusters | | If a cluster that uses the Rook-Ceph pack experiences network issues, it's possible for the file mount to become and remain unavailable even after the network is restored. | This a known issue disclosed in the [Rook GitHub repository](https://github.com/rook/rook/issues/13818). To resolve this issue, refer to [Rook-Ceph](../integrations/rook-ceph.md#file-mount-becomes-unavailable-after-cluster-experiences-network-issues) pack documentation. | April 14, 2024 | Packs, Edge | | Edge clusters on Edge hosts with ARM64 processors may experience instability issues that cause cluster failures. | ARM64 support is limited to a specific set of Edge devices. Currently, Nvidia Jetson devices are supported. | April 14, 2024 | Edge | diff --git a/docs/docs-content/release-notes/release-notes.md b/docs/docs-content/release-notes/release-notes.md index c1dc6147ba..286de37e43 100644 --- a/docs/docs-content/release-notes/release-notes.md +++ b/docs/docs-content/release-notes/release-notes.md @@ -11,383 +11,297 @@ tags: ["release-notes"] -## May 19, 2024 - Release 4.3.8 +## Jun 15, 2024 - Release 4.4.0 - 4.4.4 -### Bug Fixes - -- Fixed the issue where deployments with a large number of cluster profile add-on layers caused extended cluster - deployment times. - -## April 29, 2024 - Release 4.3.7 - -### Bug Fixes - -- Fixed an issue when creating a DNS mapping for the - [System PCG](../clusters/pcg/architecture.md#system-private-gateway) that caused errors in the User Interface (UI) and - prevented the mapping from being created. The issue has been resolved, and you can now create DNS mappings for the - System PCG without any issues. - -- Resolved an issue where complex pack presets would not get injected into the cluster profile layer's YAML file. - -## April 14, 2024 - Release 4.3.0 - 4.3.6 - -This release contains several new exciting Technical Preview features, including the Edge Local UI and Cluster Profile -variables. Other notable features include enhancements to the Palette CLI, support for deploying Konvoy clusters, Azure -AKS support for VerteX, and adding multiple system administrators to the Palette and VerteX system consoles. Check out -the following sections for a complete list of features, improvements, and known issues. + +This release contains various new features and improvements. One new feature is the introduction of +[Trusted Boot](../clusters/edge/trusted-boot/trusted-boot.md) for Edge. Trusted Boot is a hardware-based security +feature that ensures that the system boots securely and that the boot process has not been tampered with. We also +improved the MicroK8s experience by exposing lifecycle commands. Other improvements include enhancements to the Cluster +Profile Variables user experience, automatic SSL certificate updates for Edge clusters in airgap environments, and new +network troubleshooting tools in local UI. Check out the full release notes to learn more about this release's new +features and improvements. ### Security Notices -- Kubernetes version 1.27.9 is deprecated due to a security vulnerability. We recommend upgrading to a newer version of - Kubernetes, such as 1.27.11, to avoid issues. - - Review the [Security Bulletins](../security-bulletins/security-bulletins.md) page for the latest security advisories. ### Palette -#### Features +#### Breaking Changes - -- Cluster Profile variables, a new feature that allows you to define variables in a cluster profile. This - feature is in Tech Preview and is available only for Edge clusters using Local UI. Profile variables allow you to define variable - types, apply validation, and narrow the scope of variables to a cluster profile. - Check out [Cluster Profile Variables](../profiles/cluster-profiles/create-cluster-profiles/define-profile-variables.md) to learn more about - profile variables. - -- MAAS clusters using Palette eXtended Kubernetes (PXK) now support the ability to specify a custom MAAS API endpoint - URL and port during cluster creation. This feature allows you to use a custom DNS server or Virtual IP (VIP) that is - not resolvable outside of the MAAS network. Refer to the [PXK](../integrations/kubernetes.md#custom-maas-endpoint) +- In this release, Palette aligns Google Cloud Platform GKE behavior with Azure AKS and AWS EKS and removes the ability + to specify a patch version when creating a cluster profile for AKS, EKS, and GKE. Only the major and minor versions + are available for selection. The underlying cloud provider will automatically select the latest patch version + available for the selected major and minor version. + +- Validator Helm Charts have migrated from `https://github.com/spectrocloud-labs/validator` to + `https://github.com/validator-labs/validator`. Former versions of the Palette CLI will point to the former repository + when prompted for the Helm chart location and require a manual URL change. The new version of the Palette CLI will + point to the new repository. Refer to the [Validator](../automation/palette-cli/commands/validator.md) CLI page documentation for more details. -- Support for [Konvoy](../integrations/konvoy.md) is now available in Palette. You can create a custom image using the - Konvoy image builder project and use it to deploy a Konvoy cluster. Check out the - [Red Hat Linux Enterprise and Konvoy](../byoos/usecases/vmware/konvoy.md) guide to learn how to create a custom image - and deploy a Konvoy cluster. +- Due to the removal of GKE Kubernetes patch versions, it's critical you update existing cluster profiles to use the new + GKE Kubernetes packs to avoid issues. Active clusters using old GKE Kubernetes pack versions may encounter problems + like pods failing to start and scaling issues. We recommend deploying new clusters with the updated GKE cluster + profile and migrating workloads. -- Multiple system administrators can now be added to the self-hosted Palette system console to help manage and maintain - the Palette instance. The feature helps organizations embrace the separation of duties by delegating different - responsibilities to system administrators. Refer to the - [System Administrators](../enterprise-version/system-management/account-management/account-management.md#system-administrators) - page to learn more about system administrators. +#### Features -#### Improvements +- The MicroK8s pack layer now exposes `bootCommands`, `preRunCommands` and `postRunCommands`. You can use + these commands to customize and configure MicroK8s as needed. MicroK8s is delivered as a Technical Preview for AWS and + Canonical MAAS in this release. To learn more, refer to the MicroK8s pack + [documentation](../integrations/microk8s.md). -- Nutanix cluster deployments now display YAML variables and expose them as input fields in the User - Interface (UI) during the cluster deployment process. Previously, the UI did not display the YAML variables for - Nutanix clusters and users had to update the machine template YAML manually. You can learn more about Nutanix in the - [Create and Manage Nutanix Cluster](../clusters/data-center/nutanix/create-manage-nutanix-cluster.md) guide. +#### Improvements -- The cluster deployment user flow experience has been improved to streamline the cluster creation process. You can now - select between IaaS and managed Kubernetes clusters from the initial platform selection screen. The update combines - the selection of platform and type of Kubernetes cluster while also detecting and notifying if a prerequisite is not - met. +- You can now upload a custom pack to a self-hosted OCI registry multiple times by using different namespaces in the OCI + repository. -- When installing a Private Cloud Gateway (PCG) or a self-hosted Palette instance through the Palette CLI, you can now - benefit from additional checks and user feedback that ensure the installation process is successful. This new feedback - experience gives you a better understanding of the components being installed and the progress of the installation. In - case of a failure, the failed component is highlighted, and an error message is displayed. +- This release removes terminology that may be culturally insensitive or create a barrier to inclusion. We removed the + term "master" from our product and replaced it with "control-plane". This work aligns with the Linux Foundation + initiative for [Diversity & Inclusivity](https://www.linuxfoundation.org/about/diversity-inclusivity). -- Imported clusters now support updating network proxy configurations as a Day-2 operation. +#### Bug Fixes -- The [Validator AWS](https://github.com/spectrocloud-labs/validator-plugin-aws) plugin now reports IAM permissions - issues that are caused by - [Service control policies](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html). - Refer to the Palette CLI [Validator](../automation/palette-cli/commands/validator.md) page to learn how to use - Validator with the Palette CLI. +- The issue where Google GKE cluster deployments failed is now resolved. You can now deploy GKE clusters using the + latest available GKE versions. -- Packs that are marked as _Disabled_ are no longer displayed in the cluster profile creation wizard. Existing cluster - profiles containing disabled packs are not affected and continue to work as expected. Refer to the - [maintenance policy](../integrations/maintenance-policy.md#pack-deprecations) page to learn more. +#### Deprecations and Removals -- Several enhancements have been added to the Palette CLI [Validator](../automation/palette-cli/commands/validator.md) - command that improves the user experience. The enhancements include a Validator upgrade feature, a describe subcommand - that displays results more clearly, an interactive re-configure option, the ability to restart the wizard, and more. +- The term _master_ is removed from Palette and replaced with the term, _control plane_. This change is reflected in the + UI, API and documentation. The following API endpoints are affected as a the payload object `includeMasterMachines` is + deprecated and replaced with the new object, `includeControlPlaneMachines`: -- Cox Edge has been removed as a supported platform for Edge clusters. Cox stopped supporting the platform and is no - longer available for new deployments. All Cox Edge-related resources and API endpoints have been removed. + - POST `/v1/dashboard/spectroclusters/resources/usage` + - POST `/v1/dashboard/spectroclusters/resources/cost` + - POST `/v1/dashboard/spectroclusters/{uid}/resources/consumption` + - POST `/v1/dashboard/spectroclusters/resources/consumption` + - GET `/v1/metrics/{resourceKind}/{resourceUid}/values` + - GET `/v1/metrics/{resourceKind}/values` -- PCG deployments using the Palette CLI for MAAS and VMware vSphere now use Kubernetes version 1.27.11. Palette CLI - installs targeting an OpenStack environment will use Kubernetes version 1.24.10. Existing PCG clusters installed - through Palette CLI will be eligible for a cluster profile update. We recommend you review the - [Upgrade a PCG](../clusters/pcg/manage-pcg/pcg-upgrade.md) guide to learn more about updating a PCG. +
-- Self-hosted Palette instances now use Kubernetes version 1.27.11. This new version of Kubernetes will cause node - repave events during the upgrade process. If you have multiple self-hosted Palette instances in a VMware environment, - take a moment and review the [Known Issues](#known-issues) section below for potential issues that may arise during - the upgrade process. + :::warning -#### Known Issues + After six months, the `includeMasterMachines` object will be removed from the API. Use the + `includeControlPlaneMachines` object moving forward. -- Conducting cluster node scaling operations on a cluster undergoing a backup can lead to issues and potential - unresponsiveness. To avoid this, ensure no backup operations are in progress before scaling nodes or performing other - cluster operations that change the cluster state. + ::: -- Palette automatically creates a security group for worker nodes using the format `-node`. If a security - group with the same name already exists in the VPC, the cluster creation process fails. To avoid this, ensure that no - security group with the same name exists in the VPC before creating a cluster. +#### Known Issues -- K3s version 1.27.7 has been marked as _Deprecated_. This version has a known issue that causes clusters to crash. - Upgrade to a newer version of K3s to avoid the issue, such as versions 1.26.12, 1.28.5, and 1.27.11. You can learn - more about the issue in the [K3s GitHub issue](https://github.com/k3s-io/k3s/issues/9047). +- An issue prevents RKE2 and Palette eXtended Kubernetes (PXK) on version 1.29.4 from operating correctly with Canonical + MAAS. A temporary workaround is using a version lower than 1.29.4 when using MAAS.. -- When deploying a multi-node AWS EKS cluster with the Container Network Interface (CNI) - [Calico](../integrations/calico.md), the cluster deployments fail. A workaround is to use the AWS VPC CNI in the - interim while the issue is resolved. +- [MicroK8s](../integrations/microk8s.md) does not support a multi-node cluster deployment and is limited to a + single-node cluster. As a result, the only supported upgrade strategy is `InPlaceUpgrade`. -- If a Kubernetes cluster deployed onto VMware is deleted, and later re-created with the same name, the cluster creation - process fails. The issue is caused by existing resources remaining inside PCG, or System PCG, that are not cleaned up - during the cluster deletion process. Refer to the - [VMware Resources Remain After Cluster Deletion](../troubleshooting/pcg.md#scenario---vmware-resources-remain-after-cluster-deletion) +- Clusters using [MicroK8s](../integrations/microk8s.md) as the Kubernetes distribution, the control plane node fails to + upgrade when using the `InPlaceUpgrade` strategy for sequential upgrades, such as upgrading from version 1.25.x to + version 1.26.x and then to version 1.27.x. Refer to the + [Control Plane Node Fails to Upgrade in Sequential MicroK8s Upgrades](../troubleshooting/pack-issues.md) troubleshooting guide for resolution steps. - +- If you did not configure the Trusted Boot keys to auto-enroll, manual enrollment could take several times to be + successful. For more information about key enrollment, refer to + [Enroll Trusted Boot Keys in Edge Host](../clusters/edge/trusted-boot/deployment-day2/install.md#enroll-secure-boot-keys-into-edge-device). -- In a VMware environment, self-hosted Palette instances do not receive a unique cluster ID when deployed, which can - cause issues during a node repave event, such as a Kubernetes version upgrade. Specifically, Persistent Volumes (PVs) - and Persistent Volume Claims (PVCs) will experience start problems due to the lack of a unique cluster ID. To resolve - this issue, refer to the - [Volume Attachment Errors Volume in VMware Environment](../troubleshooting/palette-upgrade.md#volume-attachment-errors-volume-in-vmware-environment) - troubleshooting guide. - -- Day-2 operations related to infrastructure changes, such as modifying the node size, and node count, when using - MicroK8s are not taking effect. +- Edge hosts with FIPS-compliant RHEL Operating System (OS) distribution may encounter the error where the + `systemd-resolved.service` service enters the **failed** state. This prevents the nameserver from being configured, + which will result in cluster deployment failure. Refer to + [TroubleShooting](../troubleshooting/edge.md#scenario---systemd-resolvedservice-enters-failed-state) for a workaround. ### Edge -#### Breaking Changes - -- Edge hosts now require a minimum storage capacity of 100 GB. The previous minimum storage capacity was 60 GB. Refer to - the [Minimum Device Requirements](../clusters/edge/architecture.md#minimum-device-requirements) page to learn more - about the minimum requirements for Edge hosts. - #### Features -- The Edge Local UI is a new feature that provides a local management interface for Edge clusters in an airgap - environment. The local UI is a web-based interface that allows you to manage Edge hosts in your network locally, - upload content bundles containing images, Helm charts, and packs, and create Edge clusters locally in disconnected - environments without connections to a Palette instance. To get started with local UI, refer to the - [Edge Local UI](../clusters/edge/local-ui/local-ui.md) documentation. - -- Edge hosts using a local [image registry through Harbor](../integrations/harbor-edge.md) can now also use a - [private external image registry](../clusters/edge/site-deployment/deploy-custom-registries/deploy-external-registry.md) alongside the local - registry. The feature allows the cluster to pull image from a private external image registry and store them in the - local registry. Images for the add-on layers of the cluster will be pulled from the local registry, reducing bandwidth - needs and improving service availability. +- [Trusted Boot](../clusters/edge/trusted-boot/trusted-boot.md) is an exciting new Edge capability developed as part of the [SENA + framework](https://www.spectrocloud.com/product/sena). Trusted Boot is a hardware-based security feature that ensures that the system boots securely and that the boot process has + not been tampered with. Trusted Boot does several significant things, all working in concert, to enhance security: + - Ensures that only trusted software can boot on the system. Any modification to any part of the hard disk will be detected. + - Encrypts all sensitive data on disk using hardware security Trusted Platform Module (TPM). + - Ensures that the TPM will only decrypt sensitive data if the boot process is clean and untampered. + + Unlike similar solutions, Trusted Boot utilizes a secure boot, measured boot, and encryption to protect + the booting system far more than other solutions. To learn more about Edge Trusted Boot, check out the + [Edge Trusted Boot documentation](../clusters/edge/trusted-boot/trusted-boot.md). #### Improvements -- Improved Edge cluster upgrade experience. In the past, most upgrades would trigger a repave when not always necessary. - The enhancement applies more intelligence to the upgrade process and determines if a reboot, service reload, or repave - is required. Refer to the [Edge Cluster Upgrade Behavior](../clusters/edge/upgrade-behavior.md) page to learn more - about the upgrade behavior. + +- The Cluster Profile Variables user experience has been improved. Users can now identify where a variable is used, preview the variable during creation time, and change the order of the variables displayed. An improved Day-2 management experience is also available. You can learn more about these new features in the [Cluster Profile Variables](../profiles/cluster-profiles/create-cluster-profiles/define-profile-variables.md) documentation. + -- New Edge clusters can now retrieve provider images from authenticated registries. Previously, only public registries - were supported for non-airgapped clusters. Now, you can use authenticated registries to store your provider images and - retrieve them during cluster deployment. For more information, refer to the - [Deploy Cluster with a Private Registry](../clusters/edge/site-deployment/deploy-custom-registries/deploy-private-registry.md) - guide. +- Edge clusters managed by [LocalUI](../clusters/edge/local-ui/local-ui.md) now receive automatic SSL certificate updates for Kubernetes. Users can also manually trigger the SSL certificate update process. For more information, refer to the [Renew Certificates for Airgap Clusters](../clusters/edge/cluster-management/certificate-renewal.md) guide. -- Edge hosts using RKE2 as the Kubernetes distribution can now use the - [network overlay](../clusters/edge/networking/vxlan-overlay.md) feature. +- [Local UI](../clusters/edge/local-ui/local-ui.md) now includes tools to help users troubleshoot network issues. The tools include ping and traceroute. For more information, refer to the [local UI](../clusters/edge/local-ui/local-ui.md) documentation. -- Edge hosts using a local image registry through Harbor can now turn off image pulls from the local registry through - namespace annotations. Refer to the - [Harbor Edge](../integrations/harbor-edge.md#enable-image-download-from-outside-of-harbor) reference page to learn - more about the feature. +- Clusters managed by [local UI](../clusters/edge/local-ui/local-ui.md) now include a new feature that allows users to download diagnostic logs from the local UI. This feature reduces the friction of troubleshooting issues on the cluster as the need to SSH into the cluster is reduced. -#### Known issues +- Support for custom links, URLs, and static pages is now available in local UI. You can populate custom links in the left **Main Menu** of [local UI](../clusters/edge/local-ui/host-management/custom-link.md), which will either load content into in an iframe or act as en external link. You can also can host static pages in local UI. This is useful when you need to deploy and host custom or specific content for a site and want to avoid introducing additional services to host a static site. -- If a cluster that uses the Rook-Ceph pack experiences network issues, it's possible for the file mount to become - unavailable and will remain unavailable even after network is restored. This a known issue disclosed in the - [Rook GitHub repository](https://github.com/rook/rook/issues/13818). To resolve this issue, refer to - [Rook-Ceph](../integrations/rook-ceph.md#file-mount-becomes-unavailable-after-cluster-experiences-network-issues) pack - documentation. +### Palette Dev Engine (PDE) -- Edge clusters on Edge hosts with ARM64 processors may experience instability issues that causes cluster failures. +#### Known Issues -- During the cluster provisioning process of new edge clusters, the palette webhook pods may not always deploy - successfully, causing the cluster to be stuck in the provisioning phase. This issue does not impact deployed clusters. - Review the - [Palette Webhook Pods Fail to Start](../troubleshooting/edge.md#scenario---palette-webhook-pods-fail-to-start) +- During the platform upgrade from Palette 4.3 to 4.4, + [Virtual Clusters](../clusters/palette-virtual-clusters/palette-virtual-clusters.md) may encounter a scenario where + the pod `palette-controller-manager` is not upgraded to the newer version of Palette. The virtual cluster will + continue to be operational, and this does not impact its functionality. Refer to the + [Controller Manager Pod Not Upgraded](../troubleshooting/palette-dev-engine.md#scenario---controller-manager-pod-not-upgraded) troubleshooting guide for resolution steps. ### Virtual Machine Orchestrator (VMO) #### Improvements -- Internal VMO components, including KubeVirt, KubeVirt Container Data Importer, and Snapshot Controller, have been - updated to ensure compatibility with the latest versions of KubeVirt and associated components. +- The KubeVirt version in use is now v1.2.0. Other minor maintenance updates in support of Kubevirt 1.2.0 are also + included. -### VerteX + -#### Features +### Automation -- Version 0.18.0 of the +- Terraform version 0.20.0 of the [Spectro Cloud Terraform provider](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs) is available. For more details, refer to the Terraform provider [release page](https://github.com/spectrocloud/terraform-provider-spectrocloud/releases). -### Docs and Education - -- A new Getting Started experience is now available for new users. The new experience guides users through the key - Palette concepts and features to help them get started with Palette. Check out the - [Getting Started](../getting-started/getting-started.md) page to learn more. +- Palette Crossplane provider version 0.20.0 is available. For more details, refer to the provider + [release page](https://github.com/crossplane-contrib/provider-palette/releases). -- A new tutorial [Deploy Cluster Profile Updates](../clusters/cluster-management/update-k8s-cluster.md) is now available - that guides you through the process of updating a cluster profile. +- The Terraform data resources, + [`spectrocloud_pack`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/pack) + and + [`spectrocloud_pack_simple`](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/pack_simple), + will both require the attribute `registry_uid` to be set the next Terraform release, 0.21.0. We recommend you start + using this attribute in your Terraform configurations to avoid issues in the future. -- A new pack, [Hello Universe](https://github.com/spectrocloud/pack-central/tree/main/packs/hello-universe-1.1.1) is now - available in the Pack community repository. +### Docs and Education -- A new documentation section for PCG has been added to the Palette documentation. The new section consolidates - information about the PCG and how to install and configure it. Refer to the - [Private Cloud Gateway](../clusters/pcg/pcg.md) page to learn more about PCG. +- [Palette's Crossplane provider](https://marketplace.upbound.io/providers/crossplane-contrib/provider-palette/latest) + now has a dedicated documentation section. The new section also includes a few guides on how to deploy a Kubernetes + clusters using Crossplane. Check out the [Crossplane Provider](../automation/crossplane/crossplane.md) documentation + for more details. ### Packs #### Pack Notes -- Several Kubernetes versions are [deprecated](../integrations/maintenance-policy.md#pack-deprecations) and removed in - this release. Review the [Deprecation](#deprecations-and-removals) section for a list of deprecated packs. +- Cluster Autoscaler version 1.29.2 is a Helm-based pack. Previous versions of the pack were manifest-based. Upgrades to + the new version require you to select the new Helm-based pack. + +- The BYOOS pack is now available for Palette VerteX deployments. This allows users to bring their own Operating System + (OS) image to deploy VerteX instances. RHEL is the only custom OS supported for VerteX deployments at this time. + +- MicroK8s now supports boot, `preRun` and `postRun` commands on cloud-init. This allows users to execute custom + commands before and after their MicroK8s deployment processes, providing enhanced flexibility and control over + deployment environments. -- OpenStack support is limited to Palette eXtended Kubernetes (PXK) for version 1.24.x. +- The Kubernetes pack parameter `k8sHardening` is removed and no longer used as the method for hardening images during + the image creation process. This change does not impact users. -- Local Path Provisioner CSI for Edge is now a [verified pack](../integrations/verified_packs.md). +- Cluster Autoscaler is now a verified pack. Refer to the [Verified Packs](../integrations/verified_packs.md) page for + more details on verified packs. #### Kubernetes -| Pack | New Version | -| ------------------------------------------ | ----------- | -| K3s | 1.26.14 | -| K3s | 1.27.11 | -| K3s | 1.28.7 | -| K3s | 1.29.2 | -| Konvoy | 1.27.6 | -| Palette eXtended Kubernetes (PXK) | 1.29.0 | -| Palette eXtended Kubernetes - Edge (PXK-E) | 1.29.0 | -| RKE2 | 1.29.0 | -| RKE2 - Edge | 1.26.14 | -| RKE2 - Edge | 1.27.11 | -| RKE2 - Edge | 1.28.7 | -| RKE2 - Edge | 1.29.3 | +| Pack | New Version | +| ---------------------------------------- | ----------- | +| Palette eXtended Kubernetes Edge (PXK-E) | 1.26.15 | +| Palette eXtended Kubernetes Edge (PXK-E) | 1.27.11 | +| Palette eXtended Kubernetes Edge (PXK-E) | 1.28.9 | +| Palette eXtended Kubernetes | 1.27.13 | +| Palette eXtended Kubernetes | 1.28.9 | +| Palette eXtended Kubernetes | 1.29.4 | +| Kubernetes Azure AKS | 1.29 | +| Kubernetes Google GKE | 1.26 | +| Kubernetes Google GKE | 1.27 | +| Kubernetes Google GKE | 1.28 | +| Kubernetes Google GKE | 1.29 | +| RKE2 | 1.27.13 | +| RKE2 | 1.28.9 | +| RKE2 | 1.29.4 | +| RKE2 - Edge | 1.26.15 | +| RKE2 - Edge | 1.27.13 | +| RKE2 - Edge | 1.28.9 | +| RKE2 - Edge | 1.29.4 | #### CNI -| Pack | New Version | -| ----------- | ----------- | -| AWS VPC CNI | 1.15.5 | -| Calico | 3.27.0 | -| Cilium OSS | 1.13.12 | -| Cilium OSS | 1.14.7 | -| Cilium OSS | 1.15.1 | -| Flannel | 0.24.0 | +| Pack | New Version | +| ------------------ | ----------- | +| AWS VPC CNI (Helm) | 1.17.1 | +| Calico | 3.27.2 | +| Calico Azure | 3.27.2 | +| Cilium OSS | 1.15.3 | +| Flannel | 0.24.3 | #### CSI -| Pack | New Version | -| ----------------------------------- | ------------- | -| AWS EBS CSI | 1.26.1 | -| GCE Persistent Disk Driver | 1.12.4 | -| Local Path Provisioner CSI for Edge | 0.0.25 | -| Longhorn CSI | 1.6.0 | -| Rook Ceph (manifests) | 1.13.1 | -| vSphere CSI | 3.1.0 , 3.1.2 | +| Pack | New Version | +| ----------------------- | ----------- | +| AWS EFS | 1.7.6 | +| AWS EBS CSI | 1.28.0 | +| Azure Disk CSI Driver | 1.30.0 | +| GCE Persistent Disk CSI | 1.13.2 | +| Portworx /w Operator | 3.1.0 | #### Add-on Packs | Pack | New Version | | ----------------------------- | ----------- | -| AWS Application Load Balancer | 2.6.2 | -| Cilium Tetragon | 0.10.1 | -| Cluster Autoscaler for AWS | 1.27.5 | -| Cluster Autoscaler for AWS | 1.28.2 | -| External DNS | 0.13.6 | -| External Secrets Operator | 0.9.11 | -| HashiCorp Vault | 0.27.0 | -| Istio | 1.20.1 | -| MetalLB | 0.13.12 | -| Nginx Ingress | 1.9.5 | -| Prometheus Grafana | 55.8.3 | +| AWS Application Loadbalancer | 2.7.2 | +| AWS Cluster Autoscaler (Helm) | 1.29.2 | +| MetalLB (Helm) | 0.14.3 | +| Nginx | 1.10.0 | +| OpenPolicyAgent | 3.15.1 | +| Portworx /w Operator | 3.1.0 | +| Prometheus - Grafana | 57.0.1 | #### FIPS Packs -| Pack | New Version | -| ------------------------------------------ | ----------- | -| AKS | 1.27 | -| AKS | 1.28 | -| AWS EBS CSI | 1.26.1 | -| Calico CNI | 3.26.3 | -| Konvoy | 1.27.6 | -| Palette eXtended Kubernetes (PXK) | 1.26.12 | -| Palette eXtended Kubernetes (PXK) | 1.27.11 | -| Palette eXtended Kubernetes - Edge (PXK-E) | 1.26.12 | -| Palette eXtended Kubernetes - Edge (PXK-E) | 1.27.11 | -| RKE2 - Edge | 1.26.12 | +| Pack | New Version | +| ---------------------------------------- | ----------- | +| AWS EBS CSI | 1.28.0 | +| AWS VPC CNI (Helm) | 1.1.17 | +| Calico Azure | 3.25.1 | +| Calico Azure | 3.26.3 | +| Cilium | 1.13.4 | +| Cilium | 1.14.3 | +| Cilium | 1.14.5 | +| Longhorn | 1.4.1 | +| Longhorn | 1.5.3 | +| Palette eXtended Kubernetes Edge (PXK-E) | 1.26.15 | +| Palette eXtended Kubernetes Edge (PXK-E) | 1.27.14 | +| Palette eXtended Kubernetes Edge (PXK-E) | 1.28.10 | +| Palette eXtended Kubernetes Edge (PXK-E) | 1.29.5 | +| Palette Optimized RKE2 | 1.27.13 | +| Palette Optimized RKE2 | 1.28.9 | +| Palette Optimized RKE2 | 1.29.4 | +| Palette eXtended Kubernetes (PXK) | 1.27.13 | +| Palette eXtended Kubernetes (PXK) | 1.27.2 | +| Palette eXtended Kubernetes (PXK) | 1.28.9 | +| Palette eXtended Kubernetes (PXK) | 1.29.4 | +| RKE2 | 1.27.13 | +| RKE2 | 1.28.9 | +| RKE2 | 1.29.0 | +| RKE2 | 1.29.4 | +| RKE2 - Edge | 1.27.13 | +| RKE2 - Edge | 1.28.9 | +| RKE2 - Edge | 1.29.4 | +| vSphere CSI | 3.1.0 | +| vSphere CSI | 3.1.2 | #### Deprecations and Removals -- PXK, PXK-E, and RKE2, versions prior to 1.27.x are deprecated. We recommend upgrading to a newer version of Kubernetes - to support the latest features and security updates. - -- All Kubernetes pack versions prior to 1.25.0 are disabled across the following distributions: - - - PXK, - - PXK-E - - K3s - - RKE2 - Edge - - GKE - - AKS - - Kubernetes versions for GKE and AKS prior to verison 1.25 are removed as they are no longer available upstream. AKS - 1.26 is deprecated as it reached End Of Life (EOL). - - - Exceptions - OpenStack and PXK 1.24 packs have been reverted to _Deprecated_ state from _Disabled_ state. EKS 1.24 - is also back in deprecated state as support has been extended by AWS. - -- An upstream issue in K3s could prevent clusters from starting up successfully when a node is rebooted. This issue can - be potentially be seen in patch versions 1.26.10, 1.26.4, 1.26.8 for 1.26, 1.27.2 ,1.27.5 and 1.27.7 for 1.27 and - 1.28.2, 1.28.4 for 1.28. All these versions have been deprecated. We recommend you use Kubernetes versions 1.26.14, - 1.27.11 or 1.28.7 as these versions contain the fix for the upstream issue. - - Check out the [Deprecated Packs](../integrations/deprecated-packs.md) page for a list of all deprecated packs. diff --git a/docs/docs-content/spectro-downloads.md b/docs/docs-content/spectro-downloads.md index 895d6e4fcc..14d9bac714 100644 --- a/docs/docs-content/spectro-downloads.md +++ b/docs/docs-content/spectro-downloads.md @@ -25,10 +25,10 @@ the [Palette CLI](./automation/palette-cli/palette-cli.md) document for installa | Version | Operating System | Checksum (SHA256) | | ------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------ | -| 4.3.7 | [Linux-amd64](https://software.spectrocloud.com/palette-cli/v4.3.7/linux/cli/palette) | `3728ee52b68aa3569bb5816de4b28f92414ee4fa5f43a9c7507a0abc5bbbc23e` | +| 4.4.0 | [Linux-amd64](https://software.spectrocloud.com/palette-cli/v4.4.0/linux/cli/palette) | `9e515f4f78b235a0022d1f10099f0e819fa28ceb356d4a97a34bb4e251a81ea1` | ## Palette Edge CLI | Version | Operating System | Checksum (SHA256) | | ------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------ | -| 4.3.2 | [Linux-amd64](https://software.spectrocloud.com/stylus/v4.3.2/cli/linux/palette-edge) | `5e9082e090d643f486eec29e029713e40a4d9ab75978a438d1c6d4ad2500b90d` | +| 4.4.2 | [Linux-amd64](https://software.spectrocloud.com/stylus/v4.4.2/cli/linux/palette-edge) | `86d2f9239d2b8517dc6d750631a3a328136a5d49a8ec042899879e9bd25a396e` | diff --git a/docs/docs-content/troubleshooting/edge.md b/docs/docs-content/troubleshooting/edge.md index e7083cc62d..ce04332b4c 100644 --- a/docs/docs-content/troubleshooting/edge.md +++ b/docs/docs-content/troubleshooting/edge.md @@ -14,7 +14,7 @@ The following are common scenarios that you may encounter when using Edge. If you need to override or reconfigure the read-only file system, you can do so using the following steps. -## Debug Steps +### Debug Steps 1. Power on the Edge host. @@ -136,3 +136,25 @@ issues or not being available. Use the following steps to troubleshoot and resol 7. If you continue to encounter issues, contact our support team by emailing [support@spectrocloud.com](mailto:support@spectrocloud.com) so that we can provide you with further guidance. + +## Scenario - systemd-resolved.service Enters Failed State + +When you create a cluster with an Edge host that operates the FIPS-compliant RHEL Operating System (OS), you may +encounter an error where the `systemd-resolved.service` process enters the **failed** state. This prevents the +nameserver from being configured, which will result in cluster deployment failure. + +### Debug Steps + +1. Establish an SSH connection to the Edge host. + + Alternatively, press the keys **Fn + Ctrl +Cmd + F1** on a keyboard that is connected to the Edge host to log in to + the terminal. If you are on Windows, press **Fn + Ctrl + Alt + F1**. + +2. Issue the following command. + + ```shell + chmod a+rwxt /var/tmp + systemctl enable --now systemd-resolved.service + ``` + + This will start the `systemd-resolved.service` process and move the cluster creation process forward. diff --git a/docs/docs-content/troubleshooting/pack-issues.md b/docs/docs-content/troubleshooting/pack-issues.md index 3930ef9dbc..ef10fa6316 100644 --- a/docs/docs-content/troubleshooting/pack-issues.md +++ b/docs/docs-content/troubleshooting/pack-issues.md @@ -1,16 +1,35 @@ --- sidebar_label: "Packs" -title: "Troubleshooting steps for errors during a cluster deployment" -description: "Troubleshooting steps for errors during a cluster deployment." +title: "Packs" +description: "Troubleshooting steps for common Pack scenarios." icon: "" hide_table_of_contents: false sidebar_position: 30 tags: ["troubleshooting", "packs"] --- -# Packs +The following are common scenarios that you may encounter when using Packs. -Packs documentation contains usage and other related documentation, such as troubleshooting steps. If any issue is -encountered with Pack, visit the respective Pack documentation for troubleshooting steps. +## Scenario - Control Plane Node Fails to Upgrade in Sequential MicroK8s Upgrades -
+In clusters that use [MicroK8s](../integrations/microk8s.md) as the Kubernetes distribution, there is a known issue when +using the `InPlaceUpgrade` strategy for sequential Kubernetes upgrades. For example, upgrading from version 1.25.x to +version 1.26.x and then to version 1.27.x may cause the control plane node to fail to upgrade. Use the following steps +to troubleshoot and resolve the issue. + +### Debug Steps + +1. Execute the first MicroK8s upgrade in your cluster. For example, upgrade from version 1.25.x to version 1.26.x. + +2. Ensure you can access your cluster using kubectl. Refer to the + [Access Cluster with CLI](../clusters/cluster-management/palette-webctl.md) guide for more information. + +3. After the first upgrade is complete, issue the following command to delete the pod named `upgrade-pod`. + + ```shell + kubectl delete pod upgrade-pod --namespace default + ``` + +4. Once the pod is deleted, proceed to the next upgrade. For example, upgrade from version 1.26.x to version 1.27.x. + +5. Within a few minutes, the control plane node will be upgraded correctly. diff --git a/docs/docs-content/troubleshooting/palette-dev-engine.md b/docs/docs-content/troubleshooting/palette-dev-engine.md index a112b3e8d4..04ccbf1e1b 100644 --- a/docs/docs-content/troubleshooting/palette-dev-engine.md +++ b/docs/docs-content/troubleshooting/palette-dev-engine.md @@ -36,3 +36,88 @@ Invalid value: "300m": must be less than or equal to CPU limit spec.containers[0 The workaround is to define both the `requests` and `limits`.
+ +## Scenario - Controller Manager Pod Not Upgraded + +If the `palette-controller-manager` pod for a virtual cluster is not upgraded after a Palette platform upgrade, use the +following steps to resolve the issue. + +### Debug Steps + +1. Ensure you can connect to the host cluster using the cluster's kubeconfig file. Refer to the + [Access Cluster with CLI](../clusters/cluster-management/palette-webctl.md) guide for additional guidance. + +2. Identify the namespace where the virtual cluster is active. Use the virtual cluster's ID to identify the correct + namespace. Use the following to extract the namespace. Make sure you get the correct namespace for the virtual + cluster and not the main host cluster namespace. + + ```shell + kubectl get pods --all-namespaces | grep cluster-management-agent + ``` + + In this example, the virtual cluster ID is `666c92d18b802543a124513d`. + + ```shell hideClipboard {2} + cluster-666c89f28b802503dc8542d3 cluster-management-agent-f766467f4-8prd6 1/1 Running 1 (29m ago) 30m + cluster-666c92d18b802543a124513d cluster-management-agent-f766467f4-8v577 1/1 Running 0 4m13s + ``` + + :::tip + + You can find the virtual cluster ID in the URL when you access the virtual cluster in the Palette UI. From the left + **Main Menu**, click on **Cluster Groups** and select the cluster group hosting your virtual cluster. Click on the + virtual cluster name to access the virtual cluster. The URL will contain the virtual cluster ID. + + ::: + +3. Scale down the `cluster-management-agent` deployment to 0. Replace `` with the namespace of the virtual + cluster. + + ```shell + kubectl scale deployment cluster-management-agent --replicas=0 --namespace + ``` + + ```shell hideClipboard + deployment.apps/cluster-management-agent scaled + ``` + +4. Edit the `palette-controller-manager` deployment and under the resources section for the `manager` and `atop` add the + `ephemeral-storage` field and the `1Gi` value. + + ```yaml {4} + name: manager + resources: + limits: + ephemeral-storage: 1Gi + ``` + + ```yaml {4} + name: atop-manager + resources: + limits: + ephemeral-storage: 1Gi + ``` + + You can use the following command to edit the deployment. Press `i` to enter insert mode, make the necessary changes, + and then press `Esc` followed by `:wq` to save and exit. + + ```shell + kubectl edit deployment palette-controller-manager --namespace + ``` + + ```shell hideClipboard + deployment.apps/palette-controller-manager edited + ``` + +5. Wait for the new `palette-manager` pod to become healthy and active. + +6. Scale up the `cluster-management-agent` deployment to 1. Replace `` with the namespace of the virtual + cluster. + + ```shell + kubectl scale deployment cluster-management-agent --replicas=1 --namespace + ``` + + ```shell hideClipboard + deployment.apps/cluster-management-agent scaled + ``` diff --git a/docs/docs-content/vertex/install-palette-vertex/install-on-vmware/airgap-install/checklist.md b/docs/docs-content/vertex/install-palette-vertex/install-on-vmware/airgap-install/checklist.md index dc9f282bb6..5c88e31023 100644 --- a/docs/docs-content/vertex/install-palette-vertex/install-on-vmware/airgap-install/checklist.md +++ b/docs/docs-content/vertex/install-palette-vertex/install-on-vmware/airgap-install/checklist.md @@ -16,6 +16,14 @@ installation. - [ ] Create a vSphere VM and Template folder named `spectro-templates`. +- [ ] You have the met the requirements for the operating system. + + - [Ubuntu Pro](https://ubuntu.com/pro) - you need an Ubuntu Pro subscription token. + + - [Red Hat Linux Enterprise](https://www.redhat.com/en) - you need a Red Hat subscription and a custom RHEL vSphere + template with Kubernetes available in your vSphere environment. To learn how to create the required template, refer + to the [RHEL and PXK](../../../../byoos/usecases/vmware/rhel-pxk.md) guide. + - [ ] Import the Operating System and Kubernetes distribution OVA required for the installation and place the OVA in the `spectro-templates` folder. diff --git a/docs/docs-content/vertex/install-palette-vertex/install-on-vmware/airgap-install/install.md b/docs/docs-content/vertex/install-palette-vertex/install-on-vmware/airgap-install/install.md index ad5c7f79bf..01975816f1 100644 --- a/docs/docs-content/vertex/install-palette-vertex/install-on-vmware/airgap-install/install.md +++ b/docs/docs-content/vertex/install-palette-vertex/install-on-vmware/airgap-install/install.md @@ -32,7 +32,19 @@ before proceeding with the installation. Refer to the - Palette CLI installed and available. Refer to the Palette CLI [Install](../../../../automation/palette-cli/install-palette-cli.md#download-and-setup) page for guidance. -- An Ubuntu Pro Subscription and token. Ubuntu Pro provides access to FIPS 140-2 certified cryptographic packages. +- You can choose between two Operating Systems (OS) when installing Vertex. Review the requirements for each OS. + + - [Ubuntu Pro](https://ubuntu.com/pro) - you need an Ubuntu Pro subscription token. + + - [Red Hat Linux Enterprise](https://www.redhat.com/en) - you need a Red Hat subscription and a custom RHEL vSphere + template with Kubernetes available in your vSphere environment. To learn how to create the required template, refer + to the [RHEL and PXK](../../../../byoos/usecases/vmware/rhel-pxk.md) guide. + + :::warning + + Do not proceed with the installation until you have the met the OS requirements. + + ::: - Review the required VMware vSphere [permissions](../vmware-system-requirements.md). Ensure you have created the proper custom roles and zone tags. @@ -140,15 +152,26 @@ Use the following steps to install Palette VerteX. 6. At the **Enterprise Cluster Type** prompt, choose **Palette VerteX**. -7. Type `y` to enable Ubuntu Pro, and provide your Ubuntu Pro token when prompted. +7. Select the desired OS you want to use for the installation. Review the table below for more information about each + option. + + | **Option** | **Description** | **Requirements** | + | ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | + | **Ubuntu Pro** | [Ubuntu Pro](https://ubuntu.com/pro) is the default option. It provides access to FIPS 140-2 certified cryptographic packages. | Ubuntu Pro token. | + | **Red Hat Linux Enterprise** | Red Hat Linux Enterprise provides access to Red Hat Enterprise Linux. | Red Hat subscription and a custom RHEL vSphere template with Kubernetes. Review the [RHEL and PXK](../../../../byoos/usecases/vmware/rhel-pxk.md) to learn how to create the required template. | + +8. Depending on your OS selection, you will be prompted to provide the required information. For Ubuntu Pro, you will + need to provide your Ubuntu Pro token. For Red Hat Linux Enterprise, you will need to provide the path to the + vSphere template and specify the version. :::warning - To ensure FIPS compliance, be sure to enter your Ubuntu Pro token. + If you selected Ubuntu, to ensure FIPS compliance, be sure to enter your Ubuntu Pro token. If RHEL is the selected + OS, you will need to provide the path to the vSphere template and specify the version. ::: -8. Specify the URL or IP address of the Spectro Cloud Repository that is provided to you by the airgap setup script. +9. Specify the URL or IP address of the Spectro Cloud Repository that is provided to you by the airgap setup script. Make sure to specify the file path to the CA certificate when prompted. :::info @@ -160,15 +183,15 @@ Use the following steps to install Palette VerteX. ::: -9. Enter the repository credentials. Our support team provides the credentials you need to access the public Spectro +10. Enter the repository credentials. Our support team provides the credentials you need to access the public Spectro Cloud repository. Airgap installations, provide the credentials to your private repository provided to you by the airgap setup script . -10. Choose `VMware vSphere` as the cloud type. This is the default. +11. Choose `VMware vSphere` as the cloud type. This is the default. -11. Type an enterprise cluster name. Your VM instances will use this name as a prefix. +12. Type an enterprise cluster name. Your VM instances will use this name as a prefix. -12. When prompted, enter the information listed in each of the following tables. +13. When prompted, enter the information listed in each of the following tables. #### Environment Configuration @@ -181,7 +204,7 @@ Use the following steps to install Palette VerteX. | **Pod CIDR** | Enter the CIDR pool IP that will be used to assign IP addresses to pods in the EC cluster. The pod IP addresses should be unique and not overlap with any machine IPs in the environment. | | **Service IP Range** | Enter the IP address range that will be used to assign IP addresses to services in the EC cluster. The service IP addresses should be unique and not overlap with any machine IPs in the environment. | -13. Select the OCI registry type and provide the configuration values. Review the following table for more information. +14. Select the OCI registry type and provide the configuration values. Review the following table for more information. If you are using the Palette CLI from inside an [airgap support VM](./vmware-vsphere-airgap-instructions.md), the CLI will automatically detect the airgap environment and prompt you to **Use local, air-gapped Pack Registry?** Type `y` to use the local resources and skip filling in the OCI registry URL and credentials. @@ -225,7 +248,7 @@ Use the following steps to install Palette VerteX. ::: -14. The next set of prompts is for the VMware vSphere account information. Enter the information listed in the following +15. The next set of prompts is for the VMware vSphere account information. Enter the information listed in the following table. #### VMware vSphere Account Information @@ -255,7 +278,7 @@ Use the following steps to install Palette VerteX. | **NTP Servers** | You can provide a list of Network Time Protocol (NTP) servers, such as `pool.ntp.org`. | | **SSH Public Keys** | Provide any public SSH keys to access your Palette VMs. This option opens up your system's default text editor. Vi is the default text editor for most Linux distributions. To review basic vi commands, check out the [vi Commands](https://www.cs.colostate.edu/helpdocs/vi.html) reference. | -15. Specify the IP pool configuration. The placement type can be Static or Dynamic Domain Name Server (DDNS). Choosing +16. Specify the IP pool configuration. The placement type can be Static or Dynamic Domain Name Server (DDNS). Choosing static placement creates an IP pool from which VMs are assigned IP addresses. Choosing DDNS assigns IP addresses using DNS. @@ -270,7 +293,7 @@ Use the following steps to install Palette VerteX. | **Name servers** | Comma-separated list of DNS name server IP addresses. | | **Name server search suffixes** | An optional comma-separated list of DNS search domains. | -16. The last set of prompts are for the vSphere machine and database configuration. Use the following table for +17. The last set of prompts are for the vSphere machine and database configuration. Use the following table for guidance. #### vSphere Machine Configuration @@ -340,7 +363,7 @@ Use the following steps to install Palette VerteX. export KUBECONFIG=/ubuntu/.palette/ec/ec-20231012215923/spectro_mgmt.conf ``` -17. Log in to the system console using the credentials provided in the Enterprise Cluster Details output. After login, +18. Log in to the system console using the credentials provided in the Enterprise Cluster Details output. After login, you will be prompted to create a new password. Enter a new password and save your changes. Refer to the [password requirements](../../../system-management/account-management/credentials.md#password-requirements-and-security) documentation page to learn more about the password requirements. @@ -360,13 +383,13 @@ Use the following steps to install Palette VerteX. ![Screenshot of the Palette VerteX system console showing Username and Password fields.](/vertex_installation_install-on-vmware_vertex-system-console.webp) -18. After login, a Summary page is displayed. Palette VerteX is installed with a self-signed SSL certificate. To assign +19. After login, a Summary page is displayed. Palette VerteX is installed with a self-signed SSL certificate. To assign a different SSL certificate you must upload the SSL certificate, SSL certificate key, and SSL certificate authority files to Palette VerteX. You can upload the files using the Palette VerteX system console. Refer to the [Configure HTTPS Encryption](/vertex/system-management/ssl-certificate-management) page for instructions on how to upload the SSL certificate files to Palette VerteX. -19. The last step is to start setting up a tenant. To learn how to create a tenant, check out the +20. The last step is to start setting up a tenant. To learn how to create a tenant, check out the [Tenant Management](../../../system-management/tenant-management.md) guide. ![Screenshot of the Summary page showing where to click Go to Tenant Management button.](/vertex_installation_install-on-vmware_goto-tenant-management.webp) diff --git a/docs/docs-content/vertex/install-palette-vertex/install-on-vmware/install.md b/docs/docs-content/vertex/install-palette-vertex/install-on-vmware/install.md index bea3667408..42d175562c 100644 --- a/docs/docs-content/vertex/install-palette-vertex/install-on-vmware/install.md +++ b/docs/docs-content/vertex/install-palette-vertex/install-on-vmware/install.md @@ -24,7 +24,19 @@ Palette VerteX will be deployed. - Palette CLI installed and available. Refer to the Palette CLI [Install](../../../automation/palette-cli/install-palette-cli.md#download-and-setup) page for guidance. -- An Ubuntu Pro Subscription and token. Ubuntu Pro provides access to FIPS 140-2 certified cryptographic packages. +- You can choose between two Operating Systems (OS) when installing Vertex. Review the requirements for each OS. + + - [Ubuntu Pro](https://ubuntu.com/pro) - you need an Ubuntu Pro subscription token. + + - [Red Hat Linux Enterprise](https://www.redhat.com/en) - you need a Red Hat subscription and a custom RHEL vSphere + template with Kubernetes available in your vSphere environment. To learn how to create the required template, refer + to the [RHEL and PXK](../../../byoos/usecases/vmware/rhel-pxk.md) guide. + + :::warning + + Do not proceed with the installation until you have the met the OS requirements. + + ::: - Review the required VMware vSphere [permissions](vmware-system-requirements.md). Ensure you have created the proper custom roles and zone tags. @@ -132,25 +144,36 @@ Use the following steps to install Palette VerteX. 6. At the **Enterprise Cluster Type** prompt, choose **Palette VerteX**. -7. Type `y` to enable Ubuntu Pro, and provide your Ubuntu Pro token when prompted. +7. Select the desired OS you want to use for the installation. Review the table below for more information about each + option. + + | **Option** | **Description** | **Requirements** | + | ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | + | **Ubuntu Pro** | [Ubuntu Pro](https://ubuntu.com/pro) is the default option. It provides access to FIPS 140-2 certified cryptographic packages. | Ubuntu Pro token. | + | **Red Hat Linux Enterprise** | Red Hat Linux Enterprise provides access to Red Hat Enterprise Linux. | Red Hat subscription and a custom RHEL vSphere template with Kubernetes. Review the [RHEL and PXK](../../../byoos/usecases/vmware/rhel-pxk.md) to learn how to create the required template. | + +8. Depending on your OS selection, you will be prompted to provide the required information. For Ubuntu Pro, you will + need to provide your Ubuntu Pro token. For Red Hat Linux Enterprise, you will need to provide the path to the + vSphere template and specify the version. :::warning - To ensure FIPS compliance, be sure to enter your Ubuntu Pro token. + If you selected Ubuntu, to ensure FIPS compliance, be sure to enter your Ubuntu Pro token. If RHEL is the selected + OS, you will need to provide the path to the vSphere template and specify the version. ::: -8. The Spectro Cloud repository URL is `https://saas-repo-fips.console.spectrocloud.com`. +9. The Spectro Cloud repository URL is `https://saas-repo-fips.console.spectrocloud.com`. -9. Enter the repository credentials. Our support team provides the credentials you need to access the public Spectro +10. Enter the repository credentials. Our support team provides the credentials you need to access the public Spectro Cloud repository. Airgap installations, provide the credentials to your private repository provided to you by the airgap setup script . -10. Choose `VMware vSphere` as the cloud type. This is the default. +11. Choose `VMware vSphere` as the cloud type. This is the default. -11. Type an enterprise cluster name. Your VM instances will use this name as a prefix. +12. Type an enterprise cluster name. Your VM instances will use this name as a prefix. -12. When prompted, enter the information listed in each of the following tables. +13. When prompted, enter the information listed in each of the following tables. #### Environment Configuration @@ -163,9 +186,9 @@ Use the following steps to install Palette VerteX. | **Pod CIDR** | Enter the CIDR pool IP that will be used to assign IP addresses to pods in the EC cluster. The pod IP addresses should be unique and not overlap with any machine IPs in the environment. | | **Service IP Range** | Enter the IP address range that will be used to assign IP addresses to services in the EC cluster. The service IP addresses should be unique and not overlap with any machine IPs in the environment. | -13. Select `y` to use the Spectro Cloud FIPS repository and proceed to the next step. +14. Select `y` to use the Spectro Cloud FIPS repository and proceed to the next step. -14. The next set of prompts is for the VMware vSphere account information. Enter the information listed in the following +15. The next set of prompts is for the VMware vSphere account information. Enter the information listed in the following table. #### VMware vSphere Account Information @@ -195,7 +218,7 @@ Use the following steps to install Palette VerteX. | **NTP Servers** | You can provide a list of Network Time Protocol (NTP) servers, such as `pool.ntp.org`. | | **SSH Public Keys** | Provide any public SSH keys to access your Palette VMs. This option opens up your system's default text editor. Vi is the default text editor for most Linux distributions. To review basic vi commands, check out the [vi Commands](https://www.cs.colostate.edu/helpdocs/vi.html) reference. | -15. Specify the IP pool configuration. The placement type can be Static or Dynamic Domain Name Server (DDNS). Choosing +16. Specify the IP pool configuration. The placement type can be Static or Dynamic Domain Name Server (DDNS). Choosing static placement creates an IP pool from which VMs are assigned IP addresses. Choosing DDNS assigns IP addresses using DNS. @@ -210,7 +233,7 @@ Use the following steps to install Palette VerteX. | **Name servers** | Comma-separated list of DNS name server IP addresses. | | **Name server search suffixes** | An optional comma-separated list of DNS search domains. | -16. The last set of prompts are for the vSphere machine and database configuration. Use the following table for +17. The last set of prompts are for the vSphere machine and database configuration. Use the following table for guidance. #### vSphere Machine Configuration @@ -280,7 +303,7 @@ Use the following steps to install Palette VerteX. export KUBECONFIG=/ubuntu/.palette/ec/ec-20231012215923/spectro_mgmt.conf ``` -17. Log in to the system console using the credentials provided in the Enterprise Cluster Details output. After login, +18. Log in to the system console using the credentials provided in the Enterprise Cluster Details output. After login, you will be prompted to create a new password. Enter a new password and save your changes. Refer to the [password requirements](../../system-management/account-management/credentials.md#password-requirements-and-security) documentation page to learn more about the password requirements. @@ -300,13 +323,13 @@ Use the following steps to install Palette VerteX. ![Screenshot of the Palette VerteX system console showing Username and Password fields.](/vertex_installation_install-on-vmware_vertex-system-console.webp) -18. After login, a Summary page is displayed. Palette VerteX is installed with a self-signed SSL certificate. To assign +19. After login, a Summary page is displayed. Palette VerteX is installed with a self-signed SSL certificate. To assign a different SSL certificate you must upload the SSL certificate, SSL certificate key, and SSL certificate authority files to Palette VerteX. You can upload the files using the Palette VerteX system console. Refer to the [Configure HTTPS Encryption](/vertex/system-management/ssl-certificate-management) page for instructions on how to upload the SSL certificate files to Palette VerteX. -19. The last step is to start setting up a tenant. To learn how to create a tenant, check out the +20. The last step is to start setting up a tenant. To learn how to create a tenant, check out the [Tenant Management](../../system-management/tenant-management.md) guide. ![Screenshot of the Summary page showing where to click Go to Tenant Management button.](/vertex_installation_install-on-vmware_goto-tenant-management.webp) diff --git a/docs/docs-content/vertex/install-palette-vertex/install-on-vmware/vmware-system-requirements.md b/docs/docs-content/vertex/install-palette-vertex/install-on-vmware/vmware-system-requirements.md index 909d299a30..56f6d34107 100644 --- a/docs/docs-content/vertex/install-palette-vertex/install-on-vmware/vmware-system-requirements.md +++ b/docs/docs-content/vertex/install-palette-vertex/install-on-vmware/vmware-system-requirements.md @@ -23,6 +23,11 @@ Start by reviewing the required action items below: 3. Create node zones and regions for your Kubernetes clusters. Refer to the [Zone Tagging](#zone-tagging) section to ensure that the required tags are created in vSphere to ensure proper resource allocation across fault domains. +4. If you are deploying VerteX with Red Hat Enterprise Linux (RHEL). Ensure you create a custom image containing your + RHEL subscription credentials and the desired Kubernetes version. This image template must be uploaded to the vSphere + `spectro-templates` folder. Instructions for creating the custom RHEL image with Kubernetes are available in the + [RHEL and PXK](../../../byoos/usecases/vmware/rhel-pxk.md) guide. + :::info The permissions listed in this page are also needed for deploying a Private Cloud Gateway (PCG) and workload cluster in diff --git a/docs/docs-content/vertex/upgrade/upgrade.md b/docs/docs-content/vertex/upgrade/upgrade.md index 782553aa32..ebce0f230c 100644 --- a/docs/docs-content/vertex/upgrade/upgrade.md +++ b/docs/docs-content/vertex/upgrade/upgrade.md @@ -32,6 +32,7 @@ Before upgrading Palette VerteX to a new major version, you must first update it | **Source Version** | **Target Version** | **Support** | | :----------------: | :----------------: | :----------------: | +| 4.3.6 | 4.4.x | :white_check_mark: | | 4.2.13 | 4.3.6 | :white_check_mark: | | 4.2.7 | 4.2.13 | :white_check_mark: | | 4.1.x | 4.3.6 | :x: | diff --git a/docs/docs-content/vm-management/create-manage-vm/standard-vm-operations/enable-cpu-hotplug.md b/docs/docs-content/vm-management/create-manage-vm/standard-vm-operations/enable-cpu-hotplug.md new file mode 100644 index 0000000000..001597a612 --- /dev/null +++ b/docs/docs-content/vm-management/create-manage-vm/standard-vm-operations/enable-cpu-hotplug.md @@ -0,0 +1,92 @@ +--- +sidebar_label: "Enable CPU Hotplug" +title: "Enable CPU Hotplug" +description: "Learn how to enable the CPU Hotplug feature in your VMs using Palette Virtual Machine Orchestrator." +sidebar_position: 50 +tags: ["vmo", "cpu-hotplug"] +--- + +You can enable the [KubeVirt CPU Hotplug](https://kubevirt.io/user-guide/compute/cpu_hotplug/) feature in Palette, which +allows the Virtual Machine (VM) to add and remove virtual CPUs while the VM is running. + +## Limitations + +- CPU hotplug is not currently supported by the ARM64 architecture. +- The current CPU hotplug implementation requires the live migration of the VM workload. + +## Prerequisites + +- A VM deployed and active in Palette. + +## Enable CPU Hotplug + +1. Log in to [Palette](https://console.spectrocloud.com/). + +2. From the left **Main Menu**, select **Clusters**, and then select the cluster with the VM you want to update. + +3. Select the **Virtual Machines** tab, then select the necessary VM and open its **YAML** tab. + + ![Palette with the VM YAML editor displayed.](/vm-management_create-manage-vm_standard-vm-operations_enable-cpu-hotplug_vm-yaml-editor.webp) + +4. In the VM YAML configuration editor, navigate to the VM object configuration and update the number of CPU sockets. + Consider the following example for reference. + + ```yaml + spec: + template: + spec: + domain: + cpu: + // highlight-next-line + sockets: 5 + ``` + +5. In the bottom-left corner, select **Save**. Palette applies your updates. + +6. To track the update process, in the YAML configuration editor, select **Reload** and monitor for a status update + similar to the following example. + + ```yaml + status: + conditions: + - lastProbeTime: null + lastTransitionTime: null + status: "True" + type: LiveMigratable + - lastProbeTime: null + lastTransitionTime: null + status: "True" + // highlight-next-line + type: HotVCPUChange + ``` + +## Validate + +1. Log in to [Palette](https://console.spectrocloud.com/). + +2. From the left **Main Menu**, select **Clusters**, and then select the cluster with the VM where you enabled the CPU + hotplug. + +3. Select the **Virtual Machines** tab, then select the necessary VM and open its **YAML** tab. + +4. In the VM YAML configuration editor, navigate to the VM object and status configurations and verify that they specify + the expected number of CPUs. Consider the following example for reference. + + ```yaml + spec: + template: + spec: + domain: + cpu: + cores: 1 + // highlight-next-line + sockets: 5 + threads: 1 + ... + status: + currentCPUTopology: + cores: 1 + // highlight-next-line + sockets: 5 + threads: 1 + ``` diff --git a/package-lock.json b/package-lock.json index dd442275f3..cbc3056537 100644 --- a/package-lock.json +++ b/package-lock.json @@ -65421,8 +65421,9 @@ }, "node_modules/webpconvert": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webpconvert/-/webpconvert-3.0.1.tgz", + "integrity": "sha512-svqxsUKvOR1ZBMDQG03uKTDVYIA8G+wMBsyOOOBmxYIW+ajRJF//m21YCxr9B9QB338VWHLgwDuyFon+Rx8p4Q==", "dev": true, - "license": "MIT", "dependencies": { "gulp": "^4.0.2", "gulp-imagemin": "^8.0.0", diff --git a/redirects.js b/redirects.js index 32b9b22d2e..a7b9e3c48b 100644 --- a/redirects.js +++ b/redirects.js @@ -496,6 +496,14 @@ const redirects = [ from: "/user-management/palette-resource-limits/", to: "/tenant-settings/palette-resource-limits/", }, + { + from: "/clusters/edge/edgeforge-workflow/build-content-bundle", + to: "/clusters/edge/edgeforge-workflow/palette-canvos/build-content-bundle", + }, + { + from: "/clusters/edge/edgeforge-workflow/palette-canvos/build-artifacts", + to: "/clusters/edge/edgeforge-workflow/palette-canvos/build-content-bundle", + }, ]; module.exports = redirects; diff --git a/scripts/netlify.sh b/scripts/netlify.sh index 83a77adfbd..ec871538b2 100755 --- a/scripts/netlify.sh +++ b/scripts/netlify.sh @@ -4,10 +4,12 @@ # This script checks if a Netlify context is for branch-deploy. # Netlify branch-deploy contexts are only allowed for branches that match version-*. This script is used in the Netlify build settings to determine if a preview should be created. # This script is created to prevent both a build-preview and a branch-deploy preview from being created for the same branch at the same time. + # In the CI/CD pipeline, the scripts netlify_add_branch.sh and netlify_remove_branch.sh are used to manage the allowed branches list in the Netlify build settings. # The allowed branches list is used to determine which branches are allowed to create a Netlify preview for the purpose on enabling the Netlify Collab drawer. # By default, only deploy previews targeting the production branch are allowed, unless manually specified in the Netlify site settings. The scripts netlify_add_branch.sh and netlify_remove_branch.sh handle this responsiblity. + target_branch=$1 context=$CONTEXT @@ -41,11 +43,13 @@ if [[ "$context" == "branch-deploy" ]]; then fi # Exit based on allowed flag + # Netlify has inverse exit codes. 1 is allowed, 0 is not allowed. + if [ $allowed -eq 1 ]; then echo "Allowed to create a Netlify preview" exit 1 else echo "Not allowed to create a Netlify preview" exit 0 -fi \ No newline at end of file +fi diff --git a/scripts/versions.sh b/scripts/versions.sh index f6070c0f5c..9ec97d6f5b 100755 --- a/scripts/versions.sh +++ b/scripts/versions.sh @@ -25,7 +25,7 @@ fi echo "Temp directory: $tempdir" echo "Base directory: $baseDir" # List of version branches to exclude -exclude_branches=(version-3-4 version-4-0 version-4-1) # DO NOT ADD A COMMA BETWEEN THE BRANCHES. ADD A SPACE INSTEAD AND THE NEW VERSION STRING. +exclude_branches=(version-3-4 version-4-0 version-4-1 version-4-2) # DO NOT ADD A COMMA BETWEEN THE BRANCHES. ADD A SPACE INSTEAD AND THE NEW VERSION STRING. # exclude_branches=("version-3-4") # Save the current branch name diff --git a/static/assets/docs/images/cluster_edge_trusted-boot_boot-process.webp b/static/assets/docs/images/cluster_edge_trusted-boot_boot-process.webp new file mode 100644 index 0000000000..a2ebfdfe14 Binary files /dev/null and b/static/assets/docs/images/cluster_edge_trusted-boot_boot-process.webp differ diff --git a/static/assets/docs/images/clusters_edge_localui_custom-link-sidebar.webp b/static/assets/docs/images/clusters_edge_localui_custom-link-sidebar.webp new file mode 100644 index 0000000000..b664e3a705 Binary files /dev/null and b/static/assets/docs/images/clusters_edge_localui_custom-link-sidebar.webp differ diff --git a/static/assets/docs/images/clusters_edge_trusted-boot_highlevel.webp b/static/assets/docs/images/clusters_edge_trusted-boot_highlevel.webp new file mode 100644 index 0000000000..8ca7f83cd0 Binary files /dev/null and b/static/assets/docs/images/clusters_edge_trusted-boot_highlevel.webp differ diff --git a/static/assets/docs/images/clusters_edge_trusted-boot_key-management_key-relationship.webp b/static/assets/docs/images/clusters_edge_trusted-boot_key-management_key-relationship.webp new file mode 100644 index 0000000000..30d8b9c804 Binary files /dev/null and b/static/assets/docs/images/clusters_edge_trusted-boot_key-management_key-relationship.webp differ diff --git a/static/assets/docs/images/profiles_create-cluster-profiles_define-profile-variables_add-vars-to-yaml.webp b/static/assets/docs/images/profiles_create-cluster-profiles_define-profile-variables_add-vars-to-yaml.webp index 46c2c91abc..aeb5162db6 100644 Binary files a/static/assets/docs/images/profiles_create-cluster-profiles_define-profile-variables_add-vars-to-yaml.webp and b/static/assets/docs/images/profiles_create-cluster-profiles_define-profile-variables_add-vars-to-yaml.webp differ diff --git a/static/assets/docs/images/profiles_create-cluster-profiles_define-profile-variables_variable-preview.webp b/static/assets/docs/images/profiles_create-cluster-profiles_define-profile-variables_variable-preview.webp new file mode 100644 index 0000000000..70f9d07002 Binary files /dev/null and b/static/assets/docs/images/profiles_create-cluster-profiles_define-profile-variables_variable-preview.webp differ diff --git a/static/assets/docs/images/vm-management_create-manage-vm_standard-vm-operations_enable-cpu-hotplug_vm-yaml-editor.webp b/static/assets/docs/images/vm-management_create-manage-vm_standard-vm-operations_enable-cpu-hotplug_vm-yaml-editor.webp new file mode 100644 index 0000000000..383b04e0bc Binary files /dev/null and b/static/assets/docs/images/vm-management_create-manage-vm_standard-vm-operations_enable-cpu-hotplug_vm-yaml-editor.webp differ diff --git a/static/assets/videos/vertex-airgap-install.mp4 b/static/assets/videos/vertex-airgap-install.mp4 index 9afccf9f38..feb1e381f5 100644 Binary files a/static/assets/videos/vertex-airgap-install.mp4 and b/static/assets/videos/vertex-airgap-install.mp4 differ diff --git a/static/assets/videos/vertex-install.mp4 b/static/assets/videos/vertex-install.mp4 index ad6046afce..4904821506 100644 Binary files a/static/assets/videos/vertex-install.mp4 and b/static/assets/videos/vertex-install.mp4 differ diff --git a/static/tape/vertex-install.tape b/static/tape/vertex-install.tape index 03f1185182..f78d378658 100644 --- a/static/tape/vertex-install.tape +++ b/static/tape/vertex-install.tape @@ -18,115 +18,137 @@ Set BorderRadius 10 Show Type "palette ec install" -Enter +Enter 1 Sleep 3s +# Palette VerteX Down 1 +Sleep 1s Enter Sleep 2s +Enter 1 +Sleep 2s Type "y" Sleep 2s -Type "${UBUNTU_PRO}" # Ubuntu Pro Token. This is not required for a normal Palette installation. -Enter +# Ubuntu Pro Token. This is not required for a normal Palette installation. +Type "${UBUNTU_PRO}" +Enter 1 Type "${PROD_FIPS_SCAR_URL}" Enter Type@200ms "username" Hide Backspace 15 Type "${PROD_FIPS_SCAR_USERNAME}" -Enter +Enter 1 Show Sleep 2s -Type "${PROD_FIPS_SCAR_PASSWORD}" # FIPS Packs Repository Password +# FIPS Packs Repository Password +Type "${PROD_FIPS_SCAR_PASSWORD}" Enter Sleep 2s -Type "y" # Allow Insecure Connection +# Allow Insecure Connection +Type "y" Sleep 2s -Enter +Enter 1 Sleep 3s -Enter # Select VMware vSphere -Sleep 2s -Enter # Cluster Name -Sleep 2s -Enter # HTTPS Proxy -Sleep 2s -Enter # HTTP Proxy -Sleep 2s -Escape -Type ":wq" -Sleep 2s +# Select VMware vSphere Enter Sleep 2s -Enter # Proxy CA Cert +# Cluster Name +Enter Sleep 2s -Enter # POD CIDR +# HTTPS Proxy +Enter Sleep 2s -Enter # Service IP Range +# HTTP Proxy +Enter Sleep 2s -Type "y" # Use default pack registry +# POD CIDR Enter Sleep 2s +# Use default pack registry +Type "y" +Enter 1 +Sleep 2s Type "vcenter.spectrocloud.dev" Enter Sleep 2s Type "${VCENTER_USER}" -Enter +Enter 1 Sleep 2s Type "${VCENTER_PASSWORD}" Enter Sleep 2s -Type "y" # Allow insecure connection -Enter +# Allow insecure connection +Type "y" +Sleep 5s +# Select Datacenter +Enter Sleep 4s -Enter # Select Datacenter +# Select Folder +Type "sp-karl" +Enter 1 Sleep 3s -Type "sp-karl" # Select Folder +Type "spectro-templates" +Sleep 1s Enter +# Select Cluster +Enter Sleep 3s +# VM-NETWORK Down 1 -Enter # Select Cluster -Sleep 3s -Down 1 # VM Network -Enter +Sleep 1s +Enter 1 Sleep 4s -Enter # Resource Pool +# Resource Pool +Down 1 +Enter Sleep 3s -Enter # Storage Policy +# Storage Policy +Enter Sleep 3s -Enter # Select Datastore -Sleep 2s -Type "n" # Add another fault domain +# Select Datastore +Enter Sleep 2s +# Add another fault domain +Type "n" +Sleep 3s Enter -Sleep 2s -Enter # NTP Servers Sleep 2s Type "dd" Type "i" -Type "ssh-rsa AAAAB3NzaC1yc2EAA...." +Type@10ms "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDCawOoc0B3UMrOrydXn7VC+f9gJytuE0gIrm8RHow/NDIkQnzqIQPbbjxOr39vSCirNcXWqqDFsfeitfavzFKnFQf0UdfK9XivLY1nw1fpImZrGzVoyCUef44lsFr3M8+CcTDvmPybOvZH1nmJxP39BuzsmcqrFTzw5BLj0j391QxiP68K7iOOfSrpJlditBwq55++CQ8fwqdvEOLd/ebjEt1rZ6AXPV8k3pvkuWAfRJAZ+LelXFcN6/RNb8brdIrW/IllAHTspb7VlvOoKtOpqsy3dp7Rom0WlxlkZwbiFmbxAOL7UpvDLBMtDMchYqQekthD+/Lkm5VK+w2RZbyJ" Escape Sleep 3s Type@500ms ":wq" -Enter +Enter 1 Sleep 2s -Type "${NON_AIRGAP_IP_START_RANGE}" # IP Start Range +# IP Start Range +Type "${NON_AIRGAP_IP_START_RANGE}" Enter Sleep 2s -Type "${NON_AIRGAP_IP_END_RANGE}" # IP End Range -Enter +# IP End Range +Type "${NON_AIRGAP_IP_END_RANGE}" +Enter 1 Sleep 2s -Enter # Network Prefix +# Network Prefix +Enter Sleep 2s -Type "${NON_AIRGAP_GATEWAY}" # Gateway +# Gateway +Type "${NON_AIRGAP_GATEWAY}" Enter -Type "${NON_AIRGAP_DNS_SERVER}" # DNS Server +# DNS Server +Type "${NON_AIRGAP_DNS_SERVER}" Enter -Type "spectrocloud.dev" # Name Server Domain +# Name Server Domain +Type "spectrocloud.dev" Enter Sleep 2s -Down 1 # Medium VM Size -Enter +# Medium VM Size +Down 1 +Enter 1 Sleep 2s -Type "y" # Node Affinity +# Node Affinity +Type "y" Enter Sleep 35s \ No newline at end of file diff --git a/vale/styles/config/vocabularies/Internal/accept.txt b/vale/styles/config/vocabularies/Internal/accept.txt index 8b4fa54eb6..5ede2d51a0 100644 --- a/vale/styles/config/vocabularies/Internal/accept.txt +++ b/vale/styles/config/vocabularies/Internal/accept.txt @@ -207,4 +207,5 @@ Ubuntu RHEL repave airgap -Crossplane \ No newline at end of file +Crossplane +traceroute \ No newline at end of file